gydtep
发表于 2020-9-3 10:55:44
时间回到2016年9&#*****29&#*****,那是一个即将放假迎来普天同庆的日子(是说我们)。在Buoyant公司内部一次关于微服务的分享会上,“Service Mesh” ,这个接下来几年占据各种云原生头条的 buzz word,就这么被造出来了。
gydtep
发表于 2020-9-3 13:18:11
“dedicated infrastructure layer”:Service Mesh 不是用来解决业务领域问题的,而是一层专门的基础设施(中间件)。
gydtep
发表于 2020-9-3 14:42:04
右边是一张更高维和抽象的大图,可以更形象地理解 Service Mesh 的逻辑形态 —— 想象这就是一个生产级的大规模微服务集群,其中部署了上百个服务实例以及对应的 Service Mesh 代理节点;
gydtep
发表于 2020-9-3 15:53:21
单&#*****职责:拆分后的单个微服务,通常只负责单个高内聚自闭环功能,因此很易于开发、理解和维护。
gydtep
发表于 2020-9-3 18:39:57
如何保证远程调&#*****的可靠性?
既然是RPC,那必然要走IP网络,而我们都知道网络(相比计算和存储)是软件世界里最不可靠的东西。
gydtep
发表于 2020-9-4 08:44:24
高性能:基于本地代码(C++ 11)实现;相比之下,Linkerd是基于Scala编写,肯定要慢不少。
gydtep
发表于 2020-9-4 10:29:41
轻量快速:Conduit的数据平面是基于原生的Rust语言编写,非常轻量、快速和安全(Rust相比C/C++的最大改进点就是安全性)。
gydtep
发表于 2020-9-4 11:46:10
存储、计算开销大,MQ 数据重复存储和计算
基于原生 Java 打造,数据流量持续增长后,存在单点故障和机器负载不均衡等问题
gydtep
发表于 2020-9-4 14:10:24
Checkpoint Snapshot 阶段,Source 端将 MQ Offset 保存到 State 中;Sink 端关闭写入的文件句柄,并保存当前 Checkpoint ID 到 State 中;
gydtep
发表于 2020-9-4 16:06:49
Sink 端是并发写入,每个 Task 处理的流量不一样,为了避免生成太多的小文件或者生成的文件过大,需要支持自定义文件切分策略,以控制单个文件的大小。