【参考:https://www.jianshu.com/p/7293b148028f】
应用微服务化之后,首先遇到的第一个问题就是服务发现问题,一个微服务如何发现其他微服务呢?
最简单的方式就是每个微服务里面配置其他微服务的地址,但是当微服务数量众多的时候,这样做明显不现实。所以需要使用到微服务架构中的一个最重要的组件:服务注册中心,所有服务都注册到服务注册中心,同时也可以从服务注册中心获取当前可用的服务清单:
接着需要解决微服务分布式部署带来的第二个问题:服务配置管理的问题。当服务数量超过一定程度之后,如果需要在每个服务里面分别维护每一个服务的配置文件,运维人员估计要哭了。那么,就需要用到微服务架构里面第二个重要的组件:配置中心,微服务架构就变成下面这样了:
![](https://img2020.cnblogs.com/blog/1881010/202108/1881010-20210830105410675-829112245.png)
以上应用内部的服务治理,当客户端或外部应用调用服务的时候怎么处理呢?
服务A可能有多个节点,服务A、服务B和服务C的服务地址都不同,服务授权验证在哪里做?
这时,就需要使用到服务网关提供统一的服务入口,最终形成如下的典型微服务架构:
![](https://img2020.cnblogs.com/blog/1881010/202108/1881010-20210830105014430-1890167666.png)
上面是一个典型的微服务架构,当然微服务的服务治理还涉及很多内容,比如:
- 通过熔断、限流等机制保证高可用;
- 微服务之间调用的负载均衡;
- 分布式事务(2PC、3PC、TCC、LCN等);
- 服务调用链跟踪等等。
作者:centychen
链接:https://www.jianshu.com/p/7293b148028f
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。