微服务的网关必要性?

在早期的互联网dubbo架构中服务之间都是通过直连的方式进行处理的,所有服务的限流,熔断,降级,负载等功能,都集中在服务的消费者这一端,随着新的spring cloud等架构的兴起,基于网关模式的服务管理模式逐渐成为主流,将服务之间的调用关系更加解耦,并逐渐把服务治理的重心放到了网关...显示全部

在早期的互联网dubbo架构中服务之间都是通过直连的方式进行处理的,所有服务的限流,熔断,降级,负载等功能,都集中在服务的消费者这一端,随着新的spring cloud等架构的兴起,基于网关模式的服务管理模式逐渐成为主流,将服务之间的调用关系更加解耦,并逐渐把服务治理的重心放到了网关上。请问这两种模式的发展逻辑以及优缺点有哪些?

收起
参与11

查看其它 1 个回答zhuqibs的回答

zhuqibszhuqibs软件开发工程师Adidas

(1)更早期, 其实是基于企业总线的架构,很多的功能都在总线上实现,而服务都挂载在总线上。
(2)而后出现了网关,由网关去分发访问请求,到下面的各种服务,而对服务的鉴权、限流、熔断等功能都是服务自己去实现,网关只是分发。这样会导致重复造轮子的问题。
(3)而后,对服务的这些于共性的功能前置到网关,但又带来个问题网关上负载大幅增加,成为瓶颈;
(4)微服务架构出现后,网关也微服务化了,成为微服务网关,每个微服务都可以由网关单独控制,做到精细化控制。而网关可以变成pod在集群中,也可以负载均衡,这样可以承担更大的负载。

互联网服务 · 2020-04-15
浏览1216

回答者

zhuqibs
软件开发工程师Adidas
擅长领域: 云计算服务器存储

zhuqibs 最近回答过的问题

回答状态

  • 发布时间:2020-04-15
  • 关注会员:3 人
  • 回答浏览:1216
  • X社区推广