微信中两大典型微服务案例


相关阅读:

京东双十一大促网关承载十亿调用量背后的架构实践

2017的金秋,派卧底去阿里、京东、美团、滴滴带回来的面试题及答案

互联网技术(java框架、分布式、集群)干货视频大全,不看后悔!(免费下载)

640?wx_fmt=png

熊普江

腾讯公司资深架构师

640?wx_fmt=png



负责公司业务资源规划与技术架构评审等工作。腾讯公司级课程讲师,GITC 专家顾问,WOT 特约讲师,GOPS 金牌讲师。自 1997 年涉足互联网,曾服务美国 Supreme、太平洋网络、PPTV 等互联网公司,任网络运营总监、运维总监等职务。近 20 年互联网从业背景,对大型网络架构规划与建设,海量用户平台规划与运营技术支持,超大规模业务资源规划与技术架构管理优化有丰富的经验。

640?wx_fmt=png




互联网技术一直在快速演进当中,同时移动互联网与云时代来临,微服务架构由此应映而生。


如下图,是微服务在我国的百度搜索指数:


640?wx_fmt=png


从图中可以看出,自 2013 前后微服务开始逐渐被大家关注,随时间推移搜索的人也越来越多,直至 2016 年爆发。


微服务架构的快速发展并广泛流行,和以下因素息息相关:


  • 互联网技术架构飞速演进,特别是底层硬件及芯片技术快速发展,后端服务器的能力越来越强大。多数情况下,单个业务已很难消耗完一整台服务器的资源或处理能力。

  • 移动互联网深度融合与应用,瘦客户端兴起,使得云端能力与承载变得更加重要。

  • 容器技术得到广泛认可与应用,轻量级协议、代码管理、新集成方法与工具等技术也越来越成熟。


近两年,微服务这个术语渐成热门词汇,但它不是一个全新架构,更不是一个包治百病的架构。那么,微服务架构与单体式架构相比优势体现在哪?这些优势又给开发模式、运维带来哪些痛点?




微服务架构的优势及痛点




微服务和单点服务的区别是什么呢?比喻来讲,单点服务是把所有的东西放在一个大盒子里,这个大盒子里什么都有。


微服务更像是车箱,每个箱子里包含特定的功能模块和物品,所有模块可以很灵活地拆分出来。


换言之,在单点服务中,所有的部件都在一个巨大的软件包中。在微服务架构下,有很多独立存在的小服务,通过 API 接口连接成庞大的系统。


相比过往的单体式应用架构,微服务架构优势明显,如:


  • 单个微服务更易理解、方便开发与维护。

  • 应用解耦,对整体应用交付而言,开发迭代更敏捷。

  • 技术选择更加自由,微服务不再需要限定统一的技术实现。

  • 微服务独立部署,应用更稳定,同时扩展更加容易与快速。

  • ……


同时,微服务架构的特点与优势在开发模式、运维等方面也带来很多痛点,如:


  • 微服务众多,容器编排与部署管理等会变得异常复杂。

  • 业务的容量管理变得更加困难,资源利用效率难以提升。

  • 监控的颗粒度增多,关联关系更加复杂。

  • 微服务故障恢复、调度需要更精细化。

  • ……



微信中两大典型微服务案例




熊普江老师表示,微信一直提倡敏捷开发与“大系统小做”,这其实就是微服务的理念与架构实现。


由于微信诞生于 2011 年,当时微服务架构的概念还没有普及,也就是说,微信的微服务架构在业界实施并落地相对较早。


微信中微服务案例有很多,这里主要分享服务布局、过载保护两大典型案例。




01

服务布局



微信的服务布局采用的是多地自治、园区互备架构。如下,是微信的服务布局示意图:

640?wx_fmt=png

微信中两大典型微服务案例_第1张图片


02

过载保护

微信中两大典型微服务案例_第2张图片

微信中两大典型微服务案例_第3张图片


如下,是过载保护的微服务架构示意图:

640?wx_fmt=png

微信中两大典型微服务案例_第4张图片


本文转载自 51CTO技术栈 公众号。

看完本文有收获?请转发分享给更多人


欢迎关注“互联网架构师”,我们分享最有价值的互联网技术干货文章,助力您成为有思想的全栈架构师,我们只聊互联网、只聊架构,不聊其他!打造最有价值的架构师圈子和社区。

本公众号覆盖中国主要首席架构师、高级架构师、CTO、技术总监、技术负责人等人 群。分享最有价值的架构思想和内容。打造中国互联网圈最有价值的架构师圈子。

  • 长按下方的二维码可以快速关注我们

  • 640?wx_fmt=jpeg

    如想加群讨论学习,请点击右下角的“加群学习”菜单入群

你可能感兴趣的:(微信中两大典型微服务案例)