vlambda博客
学习文章列表

分布式与gRPC | 第105期


分布式系统已经无处不在,作为开发者,又岂能熟视无睹,更不能一无所知。


分布式与gRPC | 第105期

这里就从动机、框架、协议和典型工具包这4方面简要介绍一些分布式系统搭建的一些要素和特点。


分布式与gRPC | 第105期

单机计算能力有限,要进行大规模计算时,分布式系统是一种常规且性价比高的构建方案。


分布式与gRPC | 第105期

想要在单点故障的情况下保持系统稳定性,分布式也是一个不错的选择。事实上,目前主流的解决方案也正是这样。


分布式与gRPC | 第105期

除了人为设计,有些场景天然就是分布式的。


分布式与gRPC | 第105期

如果想要在不同端上协同工作,构建完整强大的生态链,分布式也是一种不错的选择。


分布式与gRPC | 第105期

单中心框架是一种非常常见的结构,很多复杂系统都是用单中心的基础构建出来的。不过如果中心节点出现故障或者被劫持,那就非常危险了。


分布式与gRPC | 第105期

P2P框架中,中心节点的作用没有那么强,但如果出故障那也是灾难性的。


分布式与gRPC | 第105期

去中心化是这些年的热门技术,安全倒是没得说,但通讯效率比较低。


分布式与gRPC | 第105期

互联网中常用的框架是多用户对应对服务器的结构。


分布式与gRPC | 第105期

除了以上所说,还有一种分层结构,为了获得一定规模,同时控制复杂度,有一些系统正是这样设计的。


分布式与gRPC | 第105期

关于更多结构,可以发挥你的想象力......


分布式与gRPC | 第105期

不同实体之间进行通讯需要彼此都能听懂的协议,如果实体类型比较多,那么最好选择一种统一的协议。


分布式与gRPC | 第105期

无论是压缩后的大小还是编解码的速度,ProtoBuffer都是一种非常高效的协议。


分布式与gRPC | 第105期

ProtoBuffer的消息由message关键字定义,消息中的每个字段都需要指明类型和协议序号。


分布式与gRPC | 第105期

ProtoBuffer官网展示支持6种语言,但实际上,支持几乎所有主流的编程语言。可以很简单地直接编译proto文件产生对应语言的源代码文件。


分布式与gRPC | 第105期

gRPC可以保证跨语言的不同模块之间的兼容性,这对于复杂庞大的系统而言是一个振奋的消息。


分布式与gRPC | 第105期

实际的gRPC通讯比较复杂,但用户只需要像调用本地函数一样调用gRPC的API即可。


分布式与gRPC | 第105期

一个gRPC服务由service关键词定义,一个gRPC的API由rpc关键词定义。


分布式与gRPC | 第105期

如果单个消息太大,那就应该使用stream模式分段传输。


分布式与gRPC | 第105期

如果需要使用异步服务,gRPC的编译源码中直接提供。


分布式与gRPC | 第105期

欢迎在后台留言讨论。