1. 服务网格诞生的背景
服务网格并不是新概念,微服务架构被越来越多的机构采用是服务网格诞生的大背景。
微服务相对于多个服务一体的单体应用来说,有诸多好处,因而被越来越多的采用:
- 技术可异构,各个服务之间采用RPC或HTTP通信,约定好接口,使用哪种技术或语言都可以;
- 鲁棒性,如果微服务之间的依赖关系处理的好,可以做到一个服务挂掉不影响其他服务;
- 组合,独立的微服务意味着可重用性强,可以使用部分微服务组合新应用。
微服务也有其问题,当服务多起来,具有一定规模后,问题开始显露:
- 服务之间互相调用时,服务A如何能快速找到并访问服务B(服务发现);
- 当某服务不可用时,如何做到快速熔断,以免造成微服务的雪崩(熔断机制);
- 服务B如何保证到达的请求都是通过认证的请求(权限认证);
- 如何管理复杂的微服务之间的调用关系,出现问题如何快速定位(服务监控与追踪)。
2. 服务网格是什么
微服务的问题,我们可以解决,比如我们可以在应用中添加服务发现的功能,增加熔断机制,增加权限认证,同时追踪服务调用关系链,我们的服务将非常臃肿,而且每个服务都有重复的东西: