标签:
一、gRPC是什么?
gRPC是一个高性能、通用的开源RPC框架,其由Google主要面向移动应用开发并基于HTTP/2协议标准而设计,基于ProtoBuf(Protocol Buffers)序列化协议开发,且支持众多开发语言。gRPC提供了一种简单的方法来精确地定义服务和为iOS、Android和后台支持服务自动生成 可靠性很强的客户端功能库。客户端充分利用高级流和链接功能,从而有助于节省带宽、降低的TCP链接次数、节省CPU使用、和电池寿命。
二、为什么使用gRPC?
有了 gRPC, 我们可以一次性的在一个 .proto 文件中定义服务并使用任何支持它的语言去实现客户端和服务器,反过来,它们可以在各种环境中,从Google的服务器到你自己的平板电脑- gRPC 帮你解决了不同语言间通信的复杂性以及环境的不同.使用 protocol buffers 还能获得其他好处,包括高效的序列号,简单的 IDL 以及容易进行接口更新。
三、出现启动其中一个服务挂了、中间服务挂了、服务重新启动这三种情况,如何保证客户端的正常访问?
1、haproxy
缺点:连接一次就新创建一个channel,并发高的话资源消耗大,性能也会有问题
2、客户端负载均衡器
优点:单例,资源消耗小,性能比较好
缺点:可能还存在点问题,代码有点乱
3、zk、consul
以后改进方案
4、如果大家有更好的方案,欢迎大家拍砖,谢谢
四、相关包的引用版本是多少?
1、Grpc.Core.0.15.0
2、Grpc.HealthCheck.0.15.0-beta
3、Google.Protobuf.3.0.0-beta3
gRPC Client源代码已上传git,本人比较懒没有完整上传解决方案,该有的都有了。
标签:
原文地址:http://www.cnblogs.com/hj4444/p/5784179.html