客户端|基于GRPC搭建高性能/跨平台微服务框架?( 三 )


  • 除了支持 protobuf 作为主要编码机制外 , 它还增加了对基于 JSON 的服务的支持 , 这些服务可以很容易地被低端客户端使用 。 虽然 protobuf 是实施 gRPC 的推荐方式 , 但 Google 增加了对 FlatBuffers 的支持 , 并增加了内部和整个行业的采用率 。
  • 初始版本支持通过反向代理(如基于 Envoy 和 Ngnix 的系统)公开 gRPC 服务 。 gRPC Web 的最新发展弥补了这一差距 , 并通过跨 JavaScript 库采用 HTTP/2 增加了对向 Web 客户端公开 gRCP 服务的支持 。 进一步的开发正在进行中 , 以增加对 Angular 和 React 等流行 Web 框架的支持 。
  • 借助功能齐全的开发堆栈 , 它还为单元测试助手(如InProcessServer和InProcessChannelBuilder.

  • 采用
    • Google 在其内部工具和平台上使用它 , 例如 Bigtable、Pub/Sub、Speech 和 TensorFlow 。
    • CoreOS 是 gRPC 的早期采用者 , 并在其服务发现工具和容器引擎中增加了支持 。
    • Microsoft 是 gRPC 的高级采用者 , 并增加了对其 Web API 和构建工具的支持 , 以简化开发人员无缝构建服务的工作 。
    • 现在 , 越来越多的项目在整个行业中使用它 , 例如 Docker、Square、Netflix 和 Cisco 等开源开发人员 。
    替代方法除了构建 gRPC 之外 , Google 的应用程序还提供了文章中提到的工具/库和 Spring Boot 启动框架 。 一些专门的微服务框架为 gRPC 服务实现提供了开箱即用的支持 。
    1. Quarkus gRPC
    2. Asp.NET gRPC
    3. Akka gRPC
    4. 【客户端|基于GRPC搭建高性能/跨平台微服务框架?】Salesforce gRPC