前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于spring-boot、grpc、zookeeper的分布式微服务架构

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

作者头像
WindWant
发布2020-09-11 15:05:12
9550
发布2020-09-11 15:05:12
举报
文章被收录于专栏:后端码事后端码事

总览:

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

Concept Diagram
Concept Diagram

Protocol Buffers 使用

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

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

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

示例定义:

通信数据格式:

代码语言:javascript
复制
message Person {
  string name = 1;
  int32 id = 2;
  bool has_ponycopter = 3;
}

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

代码语言:javascript
复制
// 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 repoJava, C++, Python, Objective-C, C#, a lite-runtime (Android Java), Ruby, and JavaScript。

golang/protobuf GitHub repo 库:Go。

详细文档:proto3 language guidereference documentation

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

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-02-19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 总览:
  • Protocol Buffers 使用
    • Protocol buffer 版本
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档