微服务架构可能不适合所有企业

微服务架构可能并不适合于所有企业。对于那些IT资源有限的小公司来说,微服务并不可行。对于那些遗留系统运行尚可的公司来说,可能不值得尝试将他们的系统分解为多个微服务。它甚至可能不适合于DevOps文化。

这个观点来自于Stripe工程师Susan Fowler,她同时也是“生产就绪的微服务”的作者,前Uber公司微服务团队的一名工程师。最近Fowler与InfoQ的Thomas Betts进行交谈,提出微服务项目的最佳候选者是那些遇到了可扩展性问题的公司。微服务可以帮助管理应用,在这些应用中“可扩展性方面的局限可导致服务器性能和稳定性的问题,无法在这个应用上进行任何工作,开发者速度显然也受到了影响”。

(巧合的是,另外一位Fowler——Martin Fowler早在2014年为微服务奠定了基础,包括对微服务进行定义:“微服务架构是一种把单一应用作为一套小型服务进行开发的方法,每个微服务都运行着它自己的进程,与轻量级机制——通常是HTTP资源API——进行通信”。)

对于很多组织机构来说,要想实现一个运行良好的微服务架构也许并不困难。“大多数系统并不是以考虑微服务架构而设计的,”Susan Fowler这样表示。因此,很多微服务最终被设计成了独立于孤岛环境,或者孤岛环境中的孤岛。

据Fowler的观察,微服务也不一定能与DevOps环境很好地融合。特别是在大型数据中心内,开发工作和运营工作显然是分离的。然而在微服务架构中,“会有数十个、数百个甚至数千个微服务,因此,许多微服务开发团队,以及这些团队中既是开发者又是运营工程师的工作人员可能从组织架构上来说都是没有意义的。”

但是,微服务架构也需要很好地适应所在的组织机构。在另外一篇博客文章中,Fowler主张采取一种四层方法:

硬件层:配置管理工具、数据据、服务器、主机层日志记录和监控、操作系统、资源隔离、资源抽象。

通信层:DNS端点、负载均衡、通讯、网络、远程过程调用、服务发现、服务注册。

应用层:部署管道、开发环境、微服务层日志记录和监控、自助服务式内部开发工具、测试、包、构建和发布工具。







原文出处:科技行者
转载请与作者联系,同时请务必标明文章原始出处和原文链接及本声明。
优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/470065

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。