服务网格模式(Server Mesh)
服务网格模式可以看作是边车模式的集群方式,当多个边车相互连接在一起就形成了一个一个的服务网格,网格其实就是相互关联的服务
Server Mesh(去中心化):
在网络协议栈中,为了避免应用程序加入一些流量控制、拥塞的逻辑,从而将一些保证数据可靠到达对端的基本逻辑封装到一个组件中也就是TCP协议,然而应用程序只关心业务逻辑,已经需要发送什么格式数据到对方就可以,将流控和拥塞控制交给TCP。 其实这里的Server Mesh 就类似于TCP协议。
服务容错和保护:
限流、熔断(断路器会记录服务返回的异常次数,例如服务不可用错误,当异常次数达到阈值时,就会对断路器进行熔断对后面的请求直接返回错误或特定值)、流量监控、日志记录、权限控制、服务发现和路由
以上功能都是对服务进行控制,如果把这些功能做成一个组件或作为一个服务提供给应用进行使用,那么应用就只关心其业务逻辑就行。如果把Server Mesh做成一个向外提供的集群服务(例如Pass服务),只要业务服务往这个集群服务加入,由Server Mesh帮你完成一些控制逻辑(服务容错和保护)
应用和边车是如何工作?
应用和边车部署在同个机器上(不同的进程,通过本地RPC进行通讯)也可以在不同机器进行数据通讯, 边车你可以看作成应用的网络代理(边车能够实现服务发现和路由、限流和熔断等逻辑处理),同时还需要有个控制中心,对当前服务流量进行收集、分发各种策略到边车上。
Dubbo和服务网格区别
D