SpringCloud 变体1

2023-12-02 11:34 更新

依存关系

 gRPC集成依赖于两个外部库来检测客户端和服务器,并且这两个库都必须位于类路径中才能启用检测。

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")

服务器检测

Spring Cloud Sleuth利用grpc-spring-boot-starter向带有@GRpcService注释的所有服务注册Brave的gRPC服务器拦截器。

客户端工具

gRPC客户端利用ManagedChannelBuilder来构造用于与gRPC服务器通信的ManagedChannel本机ManagedChannelBuilder提供静态方法作为构建ManagedChannel实例的入口点,但是,此机制不受Spring应用程序上下文的影响。

 Spring Cloud Sleuth提供了一个SpringAwareManagedChannelBuilder,可以通过Spring应用程序上下文对其进行自定义,并由gRPC客户端注入。创建ManagedChannel实例时必须使用此构建器。

侦探创建了一个TracingManagedChannelBuilderCustomizer,将Brave的客户端拦截器注入到SpringAwareManagedChannelBuilder中。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号