Seata 控制台通过调用 Seata Server 暴露的 HTTP 或 gRPC 接口,那么请说明console模块是怎么调用接口的
时间: 2024-02-09 08:07:18 浏览: 70
seata-server-2.0.0.zip
Seata 控制台是通过调用 Seata Server 暴露的 HTTP 或 gRPC 接口来获取事务信息和控制 Seata Server的。具体来说,Console 模块是通过调用 Seata Server 暴露的 HTTP 或 gRPC 接口,来获取 Seata Server 中的事务信息,并将其展示在控制台页面上。
在 Console 模块中,事务信息的获取是通过调用 `HttpClient` 或 `GrpcClient` 类来实现的。这两个类都是 Seata 提供的客户端 SDK,用于与 Seata Server 进行通信。
在 `HttpClient` 中,Seata 通过创建 `HttpRequest` 对象来构建 HTTP 请求,然后通过 `DefaultHttpClient` 来发送请求,并将响应解析为相应的 Java 对象。具体来说,Seata 通过 `Gson` 来实现 JSON 格式的序列化和反序列化。
在 `GrpcClient` 中,Seata 通过创建 `ManagedChannel` 和 `BlockingStub` 对象来与 Seata Server 进行通信。具体来说,Seata 通过 `ManagedChannelBuilder` 来创建 `ManagedChannel` 对象,然后通过 `RegistryGrpc.newBlockingStub()` 来创建 `BlockingStub` 对象,并调用相应的 gRPC 接口。
这样,通过调用 `HttpClient` 或 `GrpcClient`,Console 模块就可以与 Seata Server 进行通信,获取事务信息和控制 Seata Server。
阅读全文