`
- 浏览:
65637 次
- 性别:
- 来自:
深圳
-
原文地址:http://blog.sina.com.cn/s/blog_493a84550102wkbe.html
对于微服务架构我在前面很多文章里面已经都谈到过了。
微服务架构本质是单个业务系统彻底的组件化(前端,逻辑层,数据库)解耦,同时相互之间通过轻量的服务接口和协议进行协同。这和很早就谈到的组件化架构思想是一致的,实现微服务架构后,你会看到没有传统业务系统的概念了,有的只是微服务模块或小应用。
微服务架构最近又炒的相当活,很多人会说SOA过时了,ESB过时了,甚至还有人用微服务架构去彻底的否定SOA和ESB,这些都是相当危险的信号。在我12,13年写企业私有云PaaS平台的一系列文章的时候,已经提出了业务能力组件化,组件服务化的微服务架构思想,但是实际应用实施效果并不太理想。
一个企业所涉及到的IT开发和架构能力以及企业本身的IT治理管控成熟度都将直接影响到微服务架构能否实施成功,要知道引入微服务架构后集成和后续运维等的复杂度都会成指数级增长。
简单举例来说,一个企业已经实施了5个业务系统,业务系统之间有10个接口。如果全部微服务化则可能设计到50个微服务模块,上100个接口和集成点。可想而知,在彻底实施微服务后,我们前期架构设计,后期集成和管控的复杂度增加10倍以上。
这种集成难度会远超大多数人想象,如果拿真实做的项目来说,如果谈业务系统只有3个,而到微服务模块级别则有接近60个,而实际涉及到的集成接口上1000个。我们做任何一个复杂端到端业务的联调基本就需要花2,3周甚至更长的时间。
互联网企业为何适合做微服务架构,其重要的一个原因就是互联网企业如电商平台,在进行了微服务化后各个模块之间耦合性很低,并不会有太多的集成和协同点。或者简单来说,各个微服务模块更多的是向上面的PC端或APP端提供服务能力,而模块横向间接口协同很少。
正是在这种低耦合情况下,协同和集成相对来说容易。而转回到企业内部你会发现,在微服务模块化后,各个模块之间的集成点相当多,特别是业务系统拆分到模块或组件这一个级别后,很多原有内部的集成和依赖点全部暴露出来了,你都需要去很好的管理。由于这里面有大量的横向集成和协同点,因此导致的就是微服务模块间的横向集成异常复杂,远超很多互联网应用,这是实际你会面临的问题。
企业信息化管理或业务系统的建设,根据企业自身IT管控能力和成熟度的发展必须要能够容忍灰度。就像一个企业招标建设了3个业务系统一样,刚开始一定关心的是三个系统能够运转起来支撑业务,同时三个业务间数据能够集成。你期望3个系统都安装统一的标准,框架,开发语言和组件化架构进行设计和交付,但是实际上却不可能,各个厂家标准和方法都不一样,厂家宣称的组件化设计而实际上内部模块仍然是强耦合在一起无法拆分。这些都是现实情况,需要容忍,即业务系统只要功能正常能和外面集成起来,其内部混乱一点我不太关心。
这和管理有时候是一样的道理,我们需要抓目标和过程,但是团队一大最上层领导就不可能管理到每个人。他更加关心的是下达给各个部门经理的目标能否很好完成,部门经理间协同上是否有问题。而各个部门经理管理的方法和流程容忍有差异,当企业的管理和治理水平不断成熟后我们再考虑如何更加精细化管理。
分而治之,一个事物能够分解到哪层?适合分解到哪层?是和你个人的能力和成熟度密切相关的。
一开始分解的粗,比如只分解到业务系统层面,刚开始就好管控,但是容忍了业务系统内部的一些杂乱无序。那么带来的问题就是当业务系统出现细粒度管控要求和能力扩展要求的时候,你会发现业务系统再要拆分为松耦合的组件并作到彻底的独立管理已经相当困难。这也是为何现在在企业内部也提微服务架构的原因。
企业IT成熟度不够而推行微服务架构,带来诸多的问题点,在下面一篇将详细分析常见问题。第3篇则讲企业微服务架构最好的切入点在哪里?
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
资源名称:架构探险 轻量级微服务架构(下册)内容简介:《架构探险:轻量级微服务架构(下册)》将重点关注微服务基础设施方面,其中大部分内容涉及微服务运维相关技术。《架构探险:轻量级微服务架构(下册)》以...
微服务架构治理 - 架构腐化之谜-Thoughtworks 微服务架构治理是指在微服务架构中,通过合理的设计、实施和管理来确保架构的健康度和可维护性。本文将讨论微服务架构治理的重要性、架构腐化的原因、保持架构健康度的...
微服务架构.ppt 是关于微服务架构学习的一款非常好的ppt。
在这篇文章中,我们将探讨六种常见的微服务架构设计模式:聚合器微服务设计模式、代理微服务设计模式、链式微服务设计模式、分支微服务设计模式、数据共享微服务设计模式和异步消息传递微服务设计模式。 聚合器...
美团点评微服务架构实践的过程展示了微服务架构从理念到实践的过程,从传统单体架构到分布式微服务架构的演进,其中不仅涉及技术选型、服务拆分、治理策略、弹性伸缩等技术问题,还涉及组织结构、技术文化等非技术...
微服务架构的应用性能监控 微服务架构的应用性能监控是指在微服务架构下的应用系统中监控和优化性能的过程。微服务架构是指将一个大型应用程序拆分成多个小型、独立的服务,以提高系统的灵活性、可靠性和可扩展性。...
微服务架构是一种面向服务的软件架构设计方法,它将一个庞大的单体应用分解为一组小的服务,每个服务运行在其独立的进程中,并且通过轻量级的通信机制进行交互,通常采用HTTP API。这种架构风格提倡的是一种去中心化...
【系统架构设计师】论文主要探讨了微服务架构在构建一站式互联网大数据征信平台...通过深入理解和实践微服务架构,架构师可以更好地应对现代企业面临的快速变化和高并发挑战,为业务发展提供更加稳定和灵活的技术支持。
springcloud与docker微服务架构实战配套代码springcloud与docker微服务架构实战配套代码springcloud与docker微服务架构实战配套代码springcloud与docker微服务架构实战配套代码springcloud与docker微服务架构实战...
### 微服务架构方案知识点详解 #### 一、微服务架构概述 - **定义**: 微服务架构是一种设计思想,将应用程序分解为一组小型、独立的服务,这些服务围绕着特定的业务功能构建,并且能够独立部署、扩展和维护。每个...
唯品会微服务架构演进之路 微服务架构是当前软件 industrie 中最流行的架构模式之一。唯品会微服务架构演进之路PDF文件中,详细介绍了唯品会在微服务架构方面的实践经验和解决方案。 微服务架构的演进 唯品会...
在现代软件架构中,微服务架构已成为构建可扩展、灵活且易于维护系统的关键方法。C++,作为一种高性能的编程语言,其在微服务架构中的应用也日益受到关注。本文将详细介绍C++中微服务架构的实现,包括核心概念、关键...
微服务架构是一种设计大型应用程序的架构方法,它将应用程序分解成一系列小的、独立的服务,...因此,在决定采用微服务架构时,企业需要全面评估其业务需求和技术能力,确保微服务架构能够为他们的业务带来真正的价值。
"微服务架构设计V1.pptx" 微服务架构设计是指将单块架构应用程序划分成多个小的服务,每个服务运行在其独立的进程中,服务之间互相协调、互相配合,为用户提供最终价值。微服务架构的定义是指一种架构模式,它提倡...
微服务架构设计是一种将单一应用程序分解为一组小型、独立的服务的方法,每个服务都在自己的进程中运行,专注于完成特定的业务功能。这种设计模式旨在提高系统的可伸缩性、可维护性和可部署性。以下是对微服务架构...
微服务架构是当今软件行业非常流行的一种架构模式,它主要解决的是大型软件系统的开发、部署、运维和扩展问题。微服务架构的核心思想是将复杂的应用程序分解为一系列小的、独立的服务,每个服务运行在自己的进程中,...
基于微服务架构的新一代HIS系统介绍.ppt基于微服务架构的新一代HIS系统介绍.ppt基于微服务架构的新一代HIS系统介绍.ppt基于微服务架构的新一代HIS系统介绍.ppt基于微服务架构的新一代HIS系统介绍.ppt