基于spring-boot、grpc、zookeeper的分布式微服务架构

总览:

开源、高性能、多语言、跨平台、易扩展rpc框架 。

Protocol Buffers 使用

默认使用 protocol buffers,Google 开源的成熟序列化机制:

文件格式:.proto 文本文件.

程序文件生成:官方提供的 protoc 程序生成目标程序文件。

示例定义:

通信数据格式:

message Person {
  string name = 1;
  int32 id = 2;
  bool has_ponycopter = 3;
}

服务,方法(参数及返回)定义:

// The greeter service definition.
service Greeter {
  // Sends a greeting
  rpc SayHello (HelloRequest) returns (HelloReply) {}
}

// The request message containing the user's name.
message HelloRequest {
  string name = 1;
}

// The response message containing the greetings
message HelloReply {
  string message = 1;
}

gRPC提供插件式生成方式。 

详细文档:Protocol Buffers documentation

Protocol buffer 版本

Protocol buffer 已经开源一段时间了,项目示例目前使用proto3版本,最新版本对一些定义做了简化,添加了一些新的特性,并且在语言支持上做了扩展。

protocol buffers GitHub repo Java, C++, Python, Objective-C, C#, a lite-runtime (Android Java), Ruby, and JavaScript。

golang/protobuf GitHub repo 库:Go。

详细文档:proto3 language guide 、reference documentation

通常来说,建议将使用的proto3版本,除了可以使用所有的特性外,同时也可以避免proto2目前现有的一些问题及涉及客户端和服务端版本差异导致的一些不必要的问题。

项目示例:https://github.com/windwant/grpc-service

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

windwant

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值