微服务已经大势不在?

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

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

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研发团队与外包团队被分为每个项目组,项目组与烟囱系统一一对应。

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

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

相关文章
|
14天前
|
消息中间件 人工智能 API
从零到一:构建微服务架构的心路历程####
在技术探索的浩瀚星河中,微服务架构如同一颗璀璨的新星,以其独特的光芒照亮了软件开发的新篇章。本文旨在分享我在构建微服务架构过程中的技术感悟与实践心得,不涉及具体的产品辅助或代码示例,而是聚焦于理念的转变、挑战的应对以及未来趋势的展望,为读者提供一场思想与技术的深度对话。 ####
|
4月前
|
负载均衡 Cloud Native 中间件
核心系统转型问题之微服务架构并存的问题如何解决
核心系统转型问题之微服务架构并存的问题如何解决
|
4月前
|
缓存 监控 API
【微服务战场上的神秘守门人】:揭秘API网关的超能力 —— 探索微服务架构中的终极守护者与它的神奇魔法!
【8月更文挑战第7天】随着微服务架构的流行,企业应用被拆分为围绕特定业务功能构建的小型服务。API网关作为微服务间的通信管理核心,对请求进行路由、认证、限流等处理,简化客户端集成并提升用户体验。以电商应用为例,通过Kong部署API网关,配置产品目录等服务的API及JWT认证插件,确保安全高效的数据交互。这种方式不仅增强了系统的可维护性和扩展性,还提供了额外的安全保障。
54 2
|
安全 Cloud Native 应用服务中间件
如何降低微服务复杂度丨云栖大会微服务主题分享实录
如何降低微服务复杂度丨云栖大会微服务主题分享实录
210 7
|
监控 Java 微服务
从阿里出发看微服务发展!P8架构师手打800页微服务深度解析笔记
当今,微服务架构在国内正处于蓬勃发展的阶段,无论是大型互联网公司还是传统的IT企业,纷纷采用微服务架构构建系统。微服务架构的目标是,将业务与技术的复杂度进行分离,使业务更专注于实现对客户的价值交付,而将非功能需求封装在平台或者底层SDK中。正所谓“大道至简”,微服务本身是一个化繁为简的过程,它采用细粒度的分布式,通过系统化的思考方式,将纷繁复杂的业务逻辑映射到底层技术。
|
运维 监控 负载均衡
关于微服务的一些总结和经验之谈,来看看你都了解吗
关于微服务的一些总结和经验之谈,来看看你都了解吗
766 0
|
存储 前端开发 NoSQL
【微服务架构】微服务已死——迷你服务万岁
【微服务架构】微服务已死——迷你服务万岁
|
存储 数据管理 大数据
「企业微服务架构」怎么弥合不同微服务团队之间的差距
「企业微服务架构」怎么弥合不同微服务团队之间的差距
|
自然语言处理 安全 大数据
[微服务架构 ] 微服务- 生存还是毁灭!
[微服务架构 ] 微服务- 生存还是毁灭!
|
缓存 监控 负载均衡
一张图看懂微服务架构路线
一张图看懂微服务架构路线
1334 0
一张图看懂微服务架构路线