2018微服务年之服务网格Service Mesh

微服务自2014年3月由Martin Fowler首次提出以来,在Spring Cloud、Dubbo等各类微服务框架的帮助下,以燎原之势席卷了整个IT技术界,成为了最主流的分布式应用解决方案。但仍然还有很多问题没有得到根本性的解决,比如技术门槛高、多语言支持不足、代码侵入性强等。如何应对这些挑战成为了下一代微服务首要回答的问题。直到服务网格(Service Mesh)被提出,这一切都有了答案。

1 微服务之殇

时光回到2017年初,那时所有主流的微服务框架,不管是类库性质的Finagle、Hystrix,还是框架性质的Spring Cloud、Dubbo,本质上都归于应用内解决方案,都存在以下三个问题:

技术门槛高:随着微服务实施水平的不断深化,除了基础的服务发现、配置中心和授权管理之外,团队将不可避免的在服务治理层面面临各类新的挑战,包括但不限于分布式跟踪、熔断降级、灰度发布、故障切换等,这对团队提出了非常高的技术要求。

多语言支持不足:对于稍具规模的团队,尤其在高速成长的互联网创业公司,多语言的技术栈是常态,跨语言的服务调用也是常态,但目前开源社区上并没有一套统一的、跨语言的微服务技术栈。

代码侵入性强:主流的微服务框架(比如Spring Cloud、Dubbo)或多或少都对业务代码有一定的侵入性,框架替换成本高,导致业务团队配合意愿低,微服务落地困难。

这些问题加起来导致的结果就是,在实施微服务的过程中,小团队Hold不住,大公司推不动。

2 另辟蹊径

服务网格(Service Mesh)应运而生!自2016年9月Linkerd第一次公开使用之后,伴随着Linkerd、Envoy、Istio、NGINX Application Platform、Conduit等新框架如雨后春笋般不断涌现,在微服务之后,服务网格和它的边车(Sidecar)模式引领了IT技术界2017一整年的走向。

服务网格是一个用于改进服务与服务之间的通信的基础架构层[1],也是目前最流行的原生云类别。随着容器变得越来越普遍,服务拓扑变得越来越动态,需要更先进的网络功能。服务网格可以通过服务发现、路由、负载均衡、健康检查和可观察性来帮助管理流量。服务网格试图驯服难以控制的容器复杂性。

随着像HAProxy、Træfik和NGINX这样的负载均衡器开始重新定位为数据平面,它的服务网格变得越来越受欢迎。我们还没有看到广泛的部署,但确实知道在生产环境中运行服务网格的业务。此外,服务网格并不仅限于微服务或Kubernetes环境,还可以应用于VM和Serverless环境。例如,国家生物技术信息中心不是运行容器,而是使用Linkerd。

服务网格也可用于混沌工程,“在分布式系统上进行实验的规程,以建立对系统抵御混乱状况能力的信心[2]。”服务网格不需要在每个主机上安装一个守护进程,而是将延迟和失败注入到环境中。

2017 年的 Service Mesh 市场,从 Linkerd 的风光无限开始,到 Istio 的横空出世,最后止于 Conduit 的绝地反击,可谓一波三折;产品也经历从第一代的 Linkerd/Envoy,跨越性的演化出第二代的 Istio/Conduit;同时,技术社区的态度也从年初的逐步接受发展到年底的热烈追捧,下面这张 KubeConf 上的图片非常有代表性地展示了社区的热切期望:

以下是广告内容

你好,我是胡忠想,微博技术专家。从2012年加入微博到现在,我一直在做微博首页信息流的相关业务研发,几乎亲历了微博后端架构的每一次重大升级。不仅参与了微博后端架构从大的单体应用迁移到微服务架构的改造;还作为主要负责人之一,主导了微服务架构在公司多个业务线的推广和落地。所以谈到将微服务落地,我有很多实战干货和你分享

原文发布于微信公众号 - java一日一条(mjx_java)

原文发表时间:2018-08-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程一生

漫画:大公司都在重复造轮子吗?

1964
来自专栏耕耘实录

北京两日求职之旅有感

版权声明:本文为耕耘实录原创文章,各大自媒体平台同步更新。欢迎转载,转载请注明出处,谢谢

1247
来自专栏程序人生

Tubi 为什么?

在一段旅程行将结束的时候,retrospective 是最好的临别礼物。Tubi 是一家独特的 startup,站在外人的角度,你很难想象这样一家不到三十个工程...

1990
来自专栏landv

风雨20年:我所积累的20条编程经验【转】

1142
来自专栏顶级程序员

GitHub CEO:GitHub 十年,感谢有你

源 / 极光开发者 简评:不知为何,总感觉 GitHub 成立不止 10 年了,你们有这种错觉么? 本文是 GitHub 联合创始人兼 CEO:Chris W...

2954
来自专栏编程

手持 Python 利剑,一路向前

学习 Python 课程究竟有什么用?Python 课程学员假牙运用课程所学,在工作中设置自动化检验脚本,为团队排除 bug 规避风险。「最难受的时候再坚持一下...

21210
来自专栏我是攻城师

新浪网/系统架构师饶琛琳:那一年,我毕业了

3524
来自专栏JAVA高级架构开发

月薪8k和月薪38K的程序员差距在哪里?

回想做开发的这八年多,获得了很多,技术能力、培训、出国、大公司的,还记得刚刚出来第一年那段时间,太多东西不懂的,都是一切听从老大的安排,敲敲代码,看看数据库,测...

640
来自专栏Java架构

毕业3年,Java程序员年薪拿到20万,是怎么做到的?

很多次学习技术,都是走到临门一脚,然后就没有往下了。我和大牛之间的差距就是,别人看完了源码,而我只是会用。

6292
来自专栏Java架构

Java程序员月薪达到三万,需要技术水平达到什么程度?

最近跟朋友在一起聚会的时候,提了一个问题,说Java程序员如何能月薪达到三万,技术水平需要达到什么程度?人回答说这只能是大企业或者互联网企业工程师才能拿到。也许...

1762

扫码关注云+社区

领取腾讯云代金券