微服务实现负载均衡的三种架构模式

一、服务提供者端集中式负载均衡模式  

      这种模式在微服务之前的架构模式中普遍采用,一般都是用nginx或者lvs来做的

6065555eae1fc3cf05772d219784c0ef.png

二、客户端负载均衡模式   

      微服务流行之后,目前主流的模式变成了下面这样,通过服务注册中心将服务地址发布出去,客户端得到地址后在消费者端进行负载均衡,比如 dubbo

50f8661da4c138ed878fe2b947e9c5ee.png

三、边车负载均衡模式   service mesh

      下一代微服务架构中将对负载均衡进行沉淀到独立的进程中,最大的变化就是和业务应用完全解耦了

3c8528a0727ec029d66974442a0280dc.png

四、总结

       目前的微服务发展阶段主流的模式还是第二种(在消费者进程内的客户端代理实现的负载均衡),按照目前的发展趋势,下一代的微服务架构中将采用边车代理的模式(独立进程,和消费者分离)实现负载均衡,将RPC过程中服务的注册、发现、负载均衡、服务治理等通用的功能进一步沉淀出来和业务解耦。最大的好处是和业务彻底解耦,跨平台,不管你的应用服务使用的什么语言开发的,我一套方案都支持,完全降低了开发人员的工作量,直接将应用部署到k8里,然后根据Istio的要求简单配置下,就实现了服务的注册与发现、限流熔断、安全验证、灰度发布、各种监控等等 众多功能都直接有了,爽不爽。

五、Istio简介

Istio:一个连接,管理和保护微服务的开放平台。

按照isito文档中给出的定义:

Istio提供一种简单的方式来建立已部署的服务的网络,具备负载均衡,服务到服务认证,监控等等功能,而不需要改动任何服务代码。简单的说,有了Istio,你的服务就不再需要任何微服务开发框架(典型如Spring Cloud,Dubbo),也不再需要自己手动实现各种复杂的服务治理功能(很多是Spring Cloud和Dubbo也不能提供的,需要自己动手)。只要服务的客户端和服务端可以进行简单的直接网络访问,就可以通过将网络层委托Istio,从而获得一系列的完备功能。可以近似的理解为:

Istio = 微服务框架 + 服务治理。

Istio的关键功能:

HTTP/1.1,HTTP/2,gRPC和TCP流量的自动区域感知负载平衡和故障切换。

通过丰富的路由规则,容错和故障注入,对流行为的细粒度控制。

支持访问控制,速率限制和配额的可插拔策略层和配置API。

集群内所有流量的自动量度,日志和跟踪,包括集群入口和出口。

安全的服务到服务身份验证,在集群中的服务之间具有强大的身份标识。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吕哥架构

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值