你好,我是程序员Alan.
在正式引入微服务的各个组件之前,先通过一个面试中常见的问答来了解服务治理的全貌。
面试官:都在说微服务需要治理,那你说说什么是服务治理?为什么需要治理?可以简单介绍一下吗?
Alan: 服务治理,也就是解决多个服务节点,组成集群的时候,产生的一些复杂的问题。
我们可以把集群看作是一个微型的城市,把道路看做是组成集群的服务,把行走在道路上的车当做是流量,那么服务治理就是对于整个城市道路的管理。
如果你新建了一条街道(相当于启动了一个新的服务节点),那么就要通知所有的车辆 (流量)有新的道路可以走了;你关闭了一条街道,你也要通知所有车辆不要从这条路走了,这就是服务的注册和发现。
我们在道路上安装监控,监视每条道路的流量情况,这就是服务的监控。 道路一旦出现拥堵或者道路需要维修,那么就需要暂时封闭这条道路,由城市来统一调度 车辆,走不堵的道路,这就是熔断以及引流。
道路之间纵横交错四通八达,一旦在某条道路上出现拥堵,但是又发现这条道路从头堵到尾,说明事故并不是发生在这条道路上,那么就需要从整体链路上来排查事故究竟处在哪个位置,这就是分布式追踪。
不同道路上的车辆有多有少,那么就需要有一个警察来疏导,在某一个时间走哪一条路会比较快,这就是负载均衡。
站在巨人的肩膀上
- SpringCloud微服务实战—码闻强