云漫圈 | 什么是微服务?

戳蓝字“CSDN云计算”关注我们哦!


者:小灰

来源:程序员小灰

640?wx_fmt=jpeg

640?wx_fmt=jpeg640?wx_fmt=jpeg640?wx_fmt=jpeg640?wx_fmt=jpeg640?wx_fmt=jpeg640?wx_fmt=jpeg640?wx_fmt=jpeg单体架构的痛点640?wx_fmt=jpeg640?wx_fmt=jpeg640?wx_fmt=jpeg

缺点一:项目过于臃肿当大大小小的功能模块都集中在同一项目的时候,整个项目必然会变得臃肿,让开发者难以维护。

缺点二:资源无法隔离就像刚刚小灰的经历一样,整个单体系统的各个功能模块都依赖于同样的数据库、内存等资源,一旦某个功能模块对资源使用不当,整个系统都会被拖垮。

缺点三:无法灵活扩展当系统的访问量越来越大的时候,单体系统固然可以进行水平扩展,部署在多台机器上组成集群:

640?wx_fmt=jpeg

但是这种扩展并非灵活的扩展。比如我们现在的性能瓶颈是支付模块,希望只针对支付模块做水平扩展,这一点在单体系统是做不到的。

640?wx_fmt=jpeg640?wx_fmt=jpeg

什么是微服务?微服务(Microservice Architecture)是近几年流行的一种架构思想,关于它的概念很难一言以蔽之。

究竟什么是微服务呢?我们在此引用 ThoughtWorks 公司的首席科学家 Martin Fowler 的一段话:

640?wx_fmt=jpeg

In short, the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies.

谷歌翻译如下:

简而言之,微服务架构风格是一种将单个应用程序作为一套小型服务开发的方法,每种应用程序都在自己的进程中运行,并与轻量级机制(通常是HTTP资源API)进行通信。 这些服务是围绕业务功能构建的,可以通过全自动部署机制独立部署。 这些服务的集中管理最少,可以用不同的编程语言编写,并使用不同的数据存储技术。

说了这么多概念,微服务有什么样的具体特点呢?

1.独立部署,灵活扩展传统的单体架构是以整个系统为单位进行部署,而微服务则是以每一个独立组件(例如用户服务,商品服务)为单位进行部署。

用一张经典的图来表现,就是下面这个样子:

640?wx_fmt=jpeg

图中左边是单体架构的集群,右边是微服务集群。

什么意思呢?比如根据每个服务的吞吐量不同,支付服务需要部署20台机器,用户服务需要部署30台机器,而商品服务只需要部署10台机器。这种灵活部署只有微服务架构才能实现。

而近几年流行的Docker,为微服务架构提供了有效的容器。

2.资源的有效隔离微服务设计的原则之一,就是每一个微服务拥有独立的数据源,假如微服务A想要读写微服务B的数据库,只能调用微服务B对外暴露的接口来完成。这样有效避免了服务之间争用数据库和缓存资源所带来的问题。

640?wx_fmt=jpeg

同时,由于每一个微服务实例在Docker容器上运行,实现了服务器资源(内存、CPU资源等)的有效隔离。

3.团队组织架构的调整微服务设计的思想也改变了原有的企业研发团队组织架构。传统的研发组织架构是水平架构,前端有前端的团队,后端有后端的团队,DBA有DBA的团队,测试有测试的团队。

640?wx_fmt=jpeg

而微服务的设计思想对团队的划分有着一定的影响,使得团队组织架构的划分更倾向于垂直架构,比如用户业务是一个团队来负责,支付业务是一个团队来负责。

640?wx_fmt=jpeg

当然,这种垂直划分只是一个理想的架构,实际在企业中并不会把团队组织架构拆分得这么绝对

微服务与面向服务架构SOA的区别

640?wx_fmt=jpeg640?wx_fmt=jpeg

SOA是什么样子呢?可以是下面这样的Web Service:

640?wx_fmt=jpeg

也可以是下面这样的ESB企业服务总线:

640?wx_fmt=jpeg

总之,SOA架构强调的是异构系统之间的通信和解耦合,而微服务架构强调的是系统按业务边界做细粒度的拆分和部署

640?wx_fmt=jpeg640?wx_fmt=jpeg640?wx_fmt=jpeg

微服务架构的不足

640?wx_fmt=jpeg640?wx_fmt=jpeg640?wx_fmt=jpeg640?wx_fmt=jpeg640?wx_fmt=jpeg

—————END—————

1.微信群:

添加小编微信:color_ld,备注“进群+姓名+公司职位”即可,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!


2.征稿:

投稿邮箱:liudan@csdn.net;微信号:color_ld。请备注投稿+姓名+公司职位。



推荐阅读

  • 官宣!张小龙史上最长演讲 4小时3万字完整版回应微信的一切

  • Spark+Alluxio性能调优十大技巧

  • 有问有答 | 容器精华问答,如何玩转容器服务?

  • Java 12 要来了!

  • “微信之父”张小龙:我没去过龙泉寺!

  • 代码“大换血”,以太坊能耗将减少99%背后的故事

  • 从云计算到AI:NetApp的数据网络转型之道



640?wx_fmt=gif点击“阅读原文”,打开 CSDN App 阅读更贴心!

640?wx_fmt=png喜欢就点击“好看”吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/524909.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

五分钟解读“大数据”

戳蓝字“CSDN云计算”关注我们哦!文章来自:鲜枣课堂作者:小枣君大家好,我是小枣君。2019年的第一篇文章,我们来聊聊大数据。这些年,大数据作为一个时髦概念,出现频率很高,关注度也很…

数据版吐槽大会: 国产综艺节目年终盘点

戳蓝字“CSDN云计算”关注我们哦!作者介绍:徐麟,目前就职于互联网公司数据部,哥大统计数据狗,从事数据挖掘&分析工作,喜欢用R&Python玩一些不一样的数据个人公众号:数据森麟&#xff08…

2018全球50大最佳发明名单

戳蓝字“CSDN云计算”关注我们哦!来自:全国3D大赛提起发明创造,你会想到什么?每年《时代周刊》都会评选年度最佳发明,它们让世界变得更美好,更智能,或更有趣。Time 从世界各地征集了各类别的提名…

虚拟化精华问答 | 什么是虚拟化?

戳蓝字“CSDN云计算”关注我们哦!虚拟化是云计算的基础,基于虚拟化我们可以实现私有云、公有云、桌面云等。它的主要目的是对IT基础设施进行简化,简化对资源以及对资源管理的访问。那么今天就让我们一起就来探究云计算关键技术「虚拟化技术」…

要闻君说:难道金山云与京东云真的要合并了吗?中国联通获准发行不超过500亿元公司债券,都用于5G 商用?用AI技术精准来找室友?...

关注并标星星CSDN云计算每周三次,打卡即read更快、更全了解泛云圈精彩newsgo go go 嗨,大家好!偶是要闻君。愉快的周一从“听歌看新闻”开始啦!文/要闻君图片来源网络近日,阿里巴巴宣布推出“A100”战略合作伙伴计划&a…

对不起,我就是喜欢问你Spring构造器注入原理

戳蓝字“CSDN云计算”关注我们哦!文章来自:Java和Android架构作者:Static_lin原文:https://blog.csdn.net/qq_41737716/article/details/85596817前言Spring IOC是面试常问的知识点。本文讲述了从自定义注册Bean开始,到…

华为云发布新slogan,新年伊始加速奔跑

人工智能作为下一轮科技革命的关键元素,正在进入越来越多的行业,用AI的技术和理念去解决现在和未来的问题,将是企业构建竞争力的关键。 人工智能时代,最有技术和值得信赖的云 1月11日,“华为云普惠AI”年度峰会在北京…

云头条 |华为云发布全新Slogan;AWS推出DocumentDB;FRB信号刷屏

戳蓝字“CSDN云计算”关注我们哦!嗨,大家好,头条君带来的【云头条】特别栏目,如期而至,每周二第一时间为大家带来头条新闻。把握技术风向标,了解行业应用与实践,就交给我头条君吧!头…

一篇文章带你快速理解微服务架构,由浅入深带你走进微服务架构的核心

戳蓝字“CSDN云计算”关注我们哦!文章来自:Java和Android架构什么是微服务首先微服务并没有一个官方的定义,想要直接描述微服务比较困难,我们可以通过对比传统WEB应用,来理解什么是微服务。传统的WEB应用核心分为业务逻…

云存储精华问答 | 云计算和云存储是什么关系?

戳蓝字“CSDN云计算”关注我们哦!早在2006年谷歌推出的“Google101计划”时,“云”的概念及理论被正式提出,随后亚马逊、微软、IBM等公司宣布了各自的“云计划”,云存储、云安全等相关的云概念相继诞生。今天,我们就一…

边缘计算精华问答 | 为什么需要边缘计算?

戳蓝字“CSDN云计算”关注我们哦!云计算就像是天上的云,看得见摸不着,像章鱼的大脑,边缘计算就类似于八爪鱼的那些小爪子,一个爪子就是一个小型的机房,靠近具体的实物。那么,云计算的下一个爆点…

8 年后重登王座,Python 再度成为 TIOBE 年度编程语言

戳蓝字“CSDN云计算”关注我们哦!文章来自:开源中国社区全球知名的编程语言流行度排行榜网站 TIOBE 于近日宣布:Python 成为 2018 年度编程语言,理由如下:2018 年,Python 语言上升了 3.62% &…

要闻君说:Intel要“起底”新任CEO了?微软停止支持Win 7?OPPO加入WPC无线充电联盟,15W无线闪充技术呼之欲出!...

关注并标星星CSDN云计算每周三次,打卡即read更快、更全了解泛云圈精彩newsgo go go 嗨,大家好!偶是要闻君。咱们还是闲话少叙,边听边看近日有啥大新闻鸭!文/要闻君图片来源网络空缺半年多,Intel或在10天内任…

Ubuntu上安装Hadoop集群

戳蓝字“CSDN云计算”关注我们哦!前面我们介绍了在Ubuntu上安装Hadoop单机版。但是我们知道,Hadoop在实际工作中都是以集群的形式存在的,毕竟需要处理大量的数据,单机的处理速度显然不能满足。所以这篇文章我们就来介绍一下如何在…

Gartner的预言:通向混合IT之旅

戳蓝字“CSDN云计算”关注我们哦!“企业上云之旅是一个非常复杂的旅程,因为它不仅仅只是对基础设施的升级,还是对应用的整个生命周期管理的升级和业务交付模式的升级。”Gartner高级研究总监季新苏在近日举行的媒体见面会上表示。“这个旅程不…

OpenStack精华问答 | OpenStack是操作系统?

戳蓝字“CSDN云计算”关注我们哦!关于OpenStack的探讨几乎从未间断,从2010年10月份一个版本正式发布至今,OpenStack在8年发展历程中,成为了最有争议的那一个。今天,我们就来看看有关于OpenStack的精华问答吧1Q&#xf…

有问有答 | 精华问题汇总

出品 | CSDN云计算 有问有答,一问一答的形式,帮助大家快速解决更多专业难题。 边缘计算精华问答 | 边缘计算有哪些应用场景? 物联网对物联网技术的快速发展和云服务的推动使得云计算模型已经不能很好的解决现在的问题,于是&…

云重磅栏目专题汇总

嗨,大家好,头条君带来的【云重磅】特别栏目,会在每周二第一时间为大家带来头条新闻。把握技术风向标,了解行业应用与实践,就交给我头条君吧! 云重磅 | 阿里云开源Blink;华为发布5G Cloud VR&am…

云漫圈栏目精华汇总

云漫圈,用漫画的形式,帮你轻松掌握云中知识,从此周末不在寂寞。 云漫圈 | 学Python还是Java, 8张漫画带你全面分析 Java和Python两门语言都是目前非常热门的语言,可谓北乔峰南慕容,二者不分上下,棋逢对手…

Kafka精华问答 | kafka的使用场景是什么?

戳蓝字“CSDN云计算”关注我们哦!Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。作为一种高吞吐量的分布式发布订阅消息系统,有着诸多特性。今天,就让我们一起来看看关于它的精华问答吧!1Q&a…