SpringCloud 變體1

2023-12-02 11:34 更新

依存關(guān)系

 gRPC集成依賴于兩個(gè)外部庫(kù)來(lái)檢測(cè)客戶端和服務(wù)器,并且這兩個(gè)庫(kù)都必須位于類路徑中才能啟用檢測(cè)。

Maven:

		<dependency>
			<groupId>io.github.lognet</groupId>
			<artifactId>grpc-spring-boot-starter</artifactId>
		</dependency>
		<dependency>
			<groupId>io.zipkin.brave</groupId>
			<artifactId>brave-instrumentation-grpc</artifactId>
		</dependency>

Gradle:

    compile("io.github.lognet:grpc-spring-boot-starter")
    compile("io.zipkin.brave:brave-instrumentation-grpc")

服務(wù)器檢測(cè)

Spring Cloud Sleuth利用grpc-spring-boot-starter向帶有@GRpcService注釋的所有服務(wù)注冊(cè)Brave的gRPC服務(wù)器攔截器。

客戶端工具

gRPC客戶端利用ManagedChannelBuilder來(lái)構(gòu)造用于與gRPC服務(wù)器通信的ManagedChannel。本機(jī)ManagedChannelBuilder提供靜態(tài)方法作為構(gòu)建ManagedChannel實(shí)例的入口點(diǎn),但是,此機(jī)制不受Spring應(yīng)用程序上下文的影響。

 Spring Cloud Sleuth提供了一個(gè)SpringAwareManagedChannelBuilder,可以通過Spring應(yīng)用程序上下文對(duì)其進(jìn)行自定義,并由gRPC客戶端注入。創(chuàng)建ManagedChannel實(shí)例時(shí)必須使用此構(gòu)建器。

偵探創(chuàng)建了一個(gè)TracingManagedChannelBuilderCustomizer,將Brave的客戶端攔截器注入到SpringAwareManagedChannelBuilder中。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)