微服务已经大势不在?

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
简介: 微服务已经大势不在?

受宠的微服务火了这么多年,没想到被一个不懂软件研发的马斯克戳破了越来越膨胀的气球。

image.png

马斯克的话有没有道理?

我对Twitter内部的架构不了解,没有发言权,但我觉得大概率是对的,很有可能微服务在Twitter已经被滥用了。至于他说的20%微服务有价值,呵呵,这压根儿就是马斯克拍脑袋随意给出来的,哪有什么科学依据!大概还是80/20原则在作祟吧。

马斯克此言一出,一石激起千层浪,最高兴的大约就是曾经“喷”过微服务的人了吧。

image.png

我不知道他喷微服务的观点是什么。可一个“喷”字体现批斗精神,让我心里不爽。

任何技术必有双面性。我们对比单体和微服务,就会发现单体的优势恰是微服务之劣势,而微服务之优势又恰是单体之劣势,哪有绝对正确、绝对优势的技术存在?还是咨询师爱说的一句话——看情况嘛!在技术决策中,哪里需要彼之仇寇我之英雄呢?

也有人间清醒,例如:

image.png

归根结底,微服务只是一种架构模式,有它适用之处,自然就有它不适用的场景。这几年,国内的IT公司对微服务确实到了迷信的地步。

最可笑的是不懂技术的领导们非要跳进来刷自己的存在感。我曾经看到一份某政府部门的采购文件,针对某环保软件系统,采购文件明确要求软件必须采用微服务。我看了就笑了。一个地区级的环保平台,并发量不高,业务也不复杂,采购居然要求必须是微服务架构。这不就是为了微服务而微服务吗?

我的一位客户曾经求教我,他的甲方要求他们必须将原来的单体架构改为微服务,而该单体已经开发多年,运行也是稳定的,根本没有必要微服务,问我该怎么办?我说,既然不需要微服务,你又无法说服甲方,那就把整个单体运行在Spring Cloud之上,象征性地拆出一两个服务,不就可以交差了!——你以为那些领导真的懂微服务吗?可能在他们心目中,微服务就等于Spring Cloud,就等于Dubbo吧!

正如《人月神话》的作者Brooks所说,软件没有银弹!然而现实却是,只要一个概念火了,就一定会大行其道,以为它就是银弹。——哪有什么银弹!

我在编写应用现代化白皮书的时候,用了“开放能力”一词作为架构的基本单元。没有使用微服务,就是不希望在设计之初就绑定在具体的架构模式上。我在白皮书中写道:

开放能力作为一个自治单元,组成了应用架构最基本的架构元素。

能力化的好处在于它一方面遵循了软件设计原则,体现了“以应用为中心“的应用现代化设计理念,另一方面又因为它的抽象性,使得它的物理粒度并未确定,从而可以延迟技术决策,保证了技术架构的开放性,使其能够灵活地应对敏态业务的变化需求。

软件设计没有非此即彼的选项。难道除了单体,就只有微服务可选吗?我们也可以根据不同需要设计为宏服务(macro service),设计为迷你服务(mini service),甚至设计为纳米服务(nano service = function)。

现在,微服务被马斯克这么一怼,我又产生另外一个担心:微服务会不会成为过街老鼠,大家一拥而上,又开始去微服务化了?

这让我不得不想到曾经名噪一时的“中台”。最红火的时候,各种中台会议、中台书籍如雨后春笋,许多企业蜂拥而至,纷纷开始企业内部的中台化。

我有一家客户是某行业的大型集团公司,几年前,他们就雄赳赳气昂昂地说要上中台。我说:你们所有的IT系统都不是自己开发的,IT系统的供应商就有几十家,还有一两家牛逼哄哄的供应商,连系统产生的数据都不提供给你,你怎么搞中台啊?

image.png

随着阿里开始淡化中台这个词儿之后,又有不少企业跟风,开始去中台化了,如这位哥们所说:

image.png

可中台真的就是坑人的吗?

有一次,我在了解某企业内部的IT生态时,团队给我描绘的一幅蓝图,就是典型的烟囱(竖井)系统。这就是缺乏企业级战略规划的产物,IT研发团队与外包团队被分为每个项目组,项目组与烟囱系统一一对应。

该如何解决这个问题呢?我脑海中首先浮现出来的词语,就是中台——通过对整个企业进行战略规划,然后以中台建设思维,识别和定义可复用的业务能力,在其上,则以应用为中心,通过对业务能力进行编排或组合,快速打造小前台满足应用场景的需求。请问,这一设计思想有什么错?

显然,错的不是中台,错的不是微服务,错的是做出技术决策的人,错的是不懂技术却为了盲目跟风的决策层领导!

相关文章
|
8月前
|
XML 数据库 数据格式
微服务技术系列教程(15) - SpringCloud - 互联网网站架构演变过程
微服务技术系列教程(15) - SpringCloud - 互联网网站架构演变过程
55 0
|
2月前
|
Java 关系型数据库 数据库
微服务设计|基于SpringCloud微服务技术的旅游信息平台的设计与实现
微服务设计|基于SpringCloud微服务技术的旅游信息平台的设计与实现
116 0
|
9月前
|
监控 Java 微服务
从阿里出发看微服务发展!P8架构师手打800页微服务深度解析笔记
当今,微服务架构在国内正处于蓬勃发展的阶段,无论是大型互联网公司还是传统的IT企业,纷纷采用微服务架构构建系统。微服务架构的目标是,将业务与技术的复杂度进行分离,使业务更专注于实现对客户的价值交付,而将非功能需求封装在平台或者底层SDK中。正所谓“大道至简”,微服务本身是一个化繁为简的过程,它采用细粒度的分布式,通过系统化的思考方式,将纷繁复杂的业务逻辑映射到底层技术。
|
运维 监控 负载均衡
关于微服务的一些总结和经验之谈,来看看你都了解吗
关于微服务的一些总结和经验之谈,来看看你都了解吗
717 0
|
SQL 存储 消息中间件
「第二部:容器和微服务架构」(5) 每个微服务的数据主权
「第二部:容器和微服务架构」(5) 每个微服务的数据主权
|
存储 数据管理 大数据
「企业微服务架构」怎么弥合不同微服务团队之间的差距
「企业微服务架构」怎么弥合不同微服务团队之间的差距
|
自然语言处理 安全 大数据
[微服务架构 ] 微服务- 生存还是毁灭!
[微服务架构 ] 微服务- 生存还是毁灭!
|
资源调度 运维 监控
重新认识微服务
随着互联网的发展,网站应用的规模不断扩大。需求的激增,带来的是技术上的压力。系统架构也因此也不断的演进、升级、迭代。从单一应用,到垂直拆分,到分布式服务,到SOA,以及现在火热的微服务架构,还有在Google带领下来势汹涌的Service Mesh。
112 0
重新认识微服务
|
缓存 监控 负载均衡
一张图看懂微服务架构路线
一张图看懂微服务架构路线
1221 0
一张图看懂微服务架构路线
|
缓存 负载均衡 NoSQL
《提升能力,涨薪可待》-如何设计一个符合自己公司的微服务架构
在工作上必须保持学习的能力,这样才能在工作得到更好的晋升,涨薪指日可待,欢迎一起学习【提升能力,涨薪可待】系列
162 0
《提升能力,涨薪可待》-如何设计一个符合自己公司的微服务架构