第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

go-chassis為grpc-go帶來(lái)高級(jí)云原生特性

標(biāo)簽:
大數(shù)據(jù)

 gRPC与go chassis

尽管grpc-go本身也自带一些云原生能力,比如负载均衡,但是还远远不够,并且需要使用者自己来编写代码实现。

go chassis是一个统一的微服务开发框架,能够集成不同的通信协议,并使用统一的路由管理,负载均衡,熔断降级,限流,监控等功能。

随着grpc的流行,go chassis决定将grpc集成到自己的框架中,为grpc-go带来更加丰富强大的功能

关于go chassis能够提供的能力可以从这篇来开始了解。

原理

go chassis的设计允许任意协议的接入

webp

无论协议如何,都可以通过实现client与server接口来接入到go chassis框架

https://github.com/go-chassis/go-chassis/blob/master/core/client/client.go

https://github.com/go-chassis/go-chassis/blob/master/core/server/server.go

每种请求都会被转换为统一的抽象Invocation,而invocation是微服务治理中的标准模型,所以就可以使用标准的功能,例如负载均衡,熔断,路由管理等,最终再次使用标准协议将请求发送出去,协议与原生协议完全兼容。

例子

使用go chassis编写grpc程序需要遵从一定的标准,并不与原生的编写方法相同,完整的例子在https://github.com/go-chassis/go-chassis-examples/tree/master/grpc

本次将使用Apache ServiceComb Service Center作为注册中心

编写proto IDL

1. 编写proto描述文件

webp

go chassis内部有schema与operation的概念: 其中helloworld.Greeter就是schema, SayHello为operation

2. 生成helloworld.pb.go

protoc –go_out=. helloworld.proto

之后的步骤就与原生grpc-go有所不同了

3. 手动更改helloworld.pb.go中的一个变量

webp

必须将_Greeter_serviceDesc改为Greeter_serviceDesc

也就是将此变量暴露出去,供别的package使用

Provider端

1. 编写业务逻辑

webp

2.将业务逻辑注册到go chassis,此时就需要更改的那个变量Greeter_serviceDesc

webp

第一个参数表示你要向哪个协议服务器注册,第二个为业务逻辑,第三个为grpc serivce desc

3. 修改配置文件chassis.yaml,最小配置项需要配置服务中心,以及指定需要启动的协议服务器

webp

4. 修改microservice.yaml,为这个微服务起个名字

webp

5. 启动服务

webp

Consumer端

1. 拿到pb文件生成go代码

protoc –go_out=. hello.proto

2. 修改配置文件chassis.yaml

webp

3. 修改microservice.yaml, 为consumer起个名字

webp

4. main中调用服务端,指定微服务名(RPCServer),schema,operation与参数和返回

webp

那么现在grpc已经拥有了基本的负载均衡能力,服务端向Service Center注册

而consumer将周期缓存provider实例列表,进行负载均衡

更多高级特性,可参考文档进行配置

http://go-chassis.readthedocs.io/en/latest/



作者:田晓亮_7ed1
链接:https://www.jianshu.com/p/f9cf2b4aa5f9


點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消