目前随着kubernetes在各个企业得大规模应用,现在基于kubernetes的服务部署案例越来越多。在目前的公有云服务器,大多都提供了kubernetes服务。
随着kubernetes的应用越来越多,那么基于kubernetes在开发的方式上也有很多的一些改变。例如现在的微服务2.0service mesh云原生开发。此时我们可以利用kubernetes平台自身的:
1、负载均衡 2、自动伸缩 3、自动注册 4、金丝雀 等等
特性来做很简单的应用开发,实现多个服务之间的通信,并且可以实现在不同语言开发的应用程序之间进行服务通信。
从上图可以看到整个service mesh的组成结构,就是在同一个pod中运行两个容器,一个是sidecar,一个是service。这里的service可以由不同的语言编写,例如可以使用:java语言,php语言,go语言,python等等。然后服务只与当前服务的sidecar进行通信,外部的通信是由pod-a中的sidecar与pod-b中的sidecar来进行相互通信的。
那么此时的整体框架对于开发来说,他只需要关心如何编写serviceA和serviceB的业务代码即可。这样子在开发的过程中是不是减少了很多的工作量,同时让研发人员把关注力集中在业务开发上。很多减少公司内部的研发成本。
现如今各大云厂商也提供service mesh相关的产品,让大家只需要关注开发即可,不再考虑底层的部署及其他运维措施。例如腾讯云的Mesh微服务平台:
还没有评论,来说两句吧...