一位阿里架构师的分享——谈谈微服务架构

微服务架构有两个关键特征,其一是原单体应用必须拆分为纵向完全独立的微服务模块,其二是微服务模块间通过轻量的Http Rest接口进行交互。对于是否进行了容器化部署和资源管理,以及是否和DevOps集成只是一些增值的内容而不是必须项。

微服务架构本质仍然是彻底和组件化和模块化,如果这点没有做到,即使使用了类似SpringCloud等各种微服务框架,仍然不能算做微服务架构。就正如原来我们实施SOA的时候,很多人的概念就是只要用了WS服务,就是SOA架构,而没有了解SOA架构本身值得真正核心在哪里。

当前微服务架构方法论是一种趋势,在互联网领域也有大量最佳实践可以参考,那么在企业内的系统是否适合采用微服务架构来做?估计很多企业都在思考这个问题。但是我们看到也有很多自有研发能力强的企业已经开始实施微服务架构转型,包括微服务架构+容器化+DevOps形成了一套完整的实践。

那么企业内的系统是否适合微服务架构?

1. 企业内部面向客户偏运营的系统: 这个本身就类似互联网电商平台,由于运营前端需要更加灵活的响应市场和业务需求,是相对时候采用微服务架构的。对于这种场景参考互联网,更加重要的是构建完整的中台模型,提供中台数据服务和业务服务能力。

2. 企业内偏流程类的业务系统: 这类业务系统如ITSM运维流程管理,OA系统等,这类业务系统的特点就是底层数据模型相对简单,而且耦合度低,这样带来的最大好处就是底层的数据库容易进行拆分。而是跨库调用很少,对于需要处理的分布式事务场景也少。在这种模式下比较适合使用微服务架构,特别是把原来的大业务系统拆分为多个独立的微服务模块。

3. 类似ERP系统,OSS域的资源管理系统: 对于这类系统的核心特点就是底层数据模型复杂,同时业务处理规则和逻辑也复杂。即使简单的库存事务处理,凭证处理,订单接收等都可能涉及到多个业务模块间的操作和协同,对于类似MRP更是涉及到提取大量数据进行运算和操作。这类业务的核心特点就是底层数据库很难进行拆分,即使拆分了也是大量的交叉调用,同时由于业务本身性质要求需要保证强事务一致性,如果进行了数据库拆分将很难真正保证这一点。因此对于这类应用要彻底的微服务架构化是相对困难的。

那么对于这类应用如何做?实际上当前我们看到的企业建设业务系统的方法很多就可以参考,比如对于商用ERP系统本身不可能拆分,但是可以构建大量外围的小业务系统,类似SRM,采购管理,招投标,报账,资产管理等。只是对于大型集团型企业,这些小系统本身也演变成了局部复杂逻辑的大系统。

微服务架构实施重点不是在于微服务开发框架和开发技术,而是在于前期微服务架构咨询规划,即微服务模块的拆分,每个微服务模块提供的微服务API接口服务的识别和定义。

当前大部分的企业IT部门是不具备实施微服务架构的能力,正如很多企业连瀑布模型都没有做好,就开始实施敏捷方法论是一个道理。对于微服务架构的建设和实施,不仅仅是建设期的问题,更加重要的后续如何管控和运维,一个微服务架构在容器化后最终部署可能涉及到上百个节点,这些节点如何进行监控和管理,如何查找性能问题,如何追踪服务链,这些都是必须要解决的问题。否则企业即使建设上去了微服务架构也无法运维。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏成猿之路

[福利]人工智能学习资料

15360
来自专栏IT笔记

微服务架构

微服务架构 单体架构能够很好地应对简单的业务系统。但是随着业务的扩张,功能的不断增加,单体架构面临着越来越多的挑战: ? 维护成本增加 团队越来越大,相应的...

42770
来自专栏腾讯大数据的专栏

2015年第一季度移动行业数据报告

2015年第一季度移动行业数据报告解析了移动设备,系统分布和网络状况等国内移动互联网现状。 ? ? ? ? ? ? ? ? ? 123

21060
来自专栏即时通讯技术

新手入门:零基础理解大型分布式架构的演进历史、技术原理、最佳实践

随着社会的发展、互联网技术的进步,以前的大型机服务端架构很显然由于高成本、难维护等原因渐渐地变得不再那么主流了,替代它的就是当下最火的互联网分布式架构。

14640
来自专栏EAWorld

支撑企业IT精益运营:普元DevOps平台实践之路

本文目录: 一、普元DevOps平台建设历程 二、如何建设企业级的DevOps平台 明确定位:DevOps是覆盖IT全生命周期的生产线 理清思维:DevOps思...

45080
来自专栏SDNLAB

如何规划软件定义的数据中心网络

数据中心网络是企业IT创建私有云和混合云架构战略中的关键组成部分,它能够改进数据中心的网络的自动化、敏捷性、安全性和分析能力,能够实现企业自有应用程序与公共云服...

13120
来自专栏PPV课数据科学社区

【工具】MongoDB和orange使用案例

Orange Digital Orange Digital 是法国电信的子公司,负责向英国的EE(英国最大的移动数字服务提供商)和全欧洲的Orange输送数字服...

32950
来自专栏AlgorithmDog的专栏

游戏智能系列之三:有限状态自动机

游戏智能是很传统的领域,有限状态机和行为树是两种主要方法。今天这篇博客主要介绍有限状态自动机。 ? 1. 有限状态机 有限状态机 (Fi...

281100
来自专栏企鹅号快讯

关于小程序的历史留存

微信小程序有一个很重要,但是却经常被忽略的功能——使用历史自动留存功能。 该功能最直观的表现形式是,小程序的使用历史列表。而除此之外,还有两个人们可能不太会注意...

259100
来自专栏云计算D1net

关于无服务器计算,您需要知道的10件事

如果您阅读了2017年有关于IT特别是云计算方面的各种预测,您很有可能碰到“无服务器计算”这一术语。早在2014年亚马逊的网络服务(AWS)已推出了第一大无服务...

35460

扫码关注云+社区

领取腾讯云代金券