导读
在前面的文章中,小码农介绍过基于SpringCloud的微服务演进之路,作为一款最近两年比较火的微服务框架SpringCloud已经在不少创业型互联网公司落了地,然而无奈变化太快,这不还没来得及熟悉SpringCloud的全部组件,就猛然发现了Service Mesh的崛起,而SpringCloud就显得有点过时了。
和大部分吃瓜码农一样,刚开始小码农对此也是一头雾水。那么什么是Service Mesh?它与SpringCloud相比有什么优势呢?在接下来的内容中,就和大家一起初步了解下Service Mesh吧!
微服务的核心问题
在了解Service Mesh之前,我们先来讨论下这样一个问题:“微服务架构的核心技术问题是什么?“。
我们知道在将整个软件系统架构升级为微服务模式以后,服务(这里是指独立对外提供服务的进程实体)的规模会越来越大,少则几个到十几个,多则上百个。而这,还只是从应用拆分本身的数量上看的,在实际的生产部署中,单个微服务进程也不会以单节点的方式部署,而多是以集群的方式进行部署。
此时自然就会产生两个核心的问题:一是服务发现,即服务的消费方(Consumer)如何发现服务的提供方(Provider)的问题?二是负载均衡,即我们的微服务在以集群方式部署后,服务的消费方如何以某种负载均衡策略访问集群中的微服务实例?
在回答以上两个问题时,我们先来回顾下目前业界经历过的三种服务发现及负载模式:
模式一:传统集中式代理</