恕我直言 微服务挺好 但不适合你

 体验式策划     |      2021-09-05 23:16
本文摘要:不管掉臂现状没事儿把微服务挂嘴边动辄怎么怎么样的人我劝你悠着点。 前言 这些个老系统当初是根据几万用户量的目的去设计开发的虽然现在跑着没问题可是眼光要看久远产物和技术们将搞一套更高级的工具目的是这套系统会被几百万人使用。 经由了几个小时的讨论大刘面带无奈的接下了这个任务。这个任务是这样的: 分外引入的庞大性 维护和监控微服务所需要的 DevOps 团队 大刘虽然无奈可是看在人为的份上活还得干。 不外槽还是要吐的于是下班后大刘用了几小时码出了下面这堆心里话。

im体育

不管掉臂现状没事儿把微服务挂嘴边动辄怎么怎么样的人我劝你悠着点。

前言

这些个老系统当初是根据几万用户量的目的去设计开发的虽然现在跑着没问题可是眼光要看久远产物和技术们将搞一套更高级的工具目的是这套系统会被几百万人使用。

经由了几个小时的讨论大刘面带无奈的接下了这个任务。这个任务是这样的:

分外引入的庞大性

维护和监控微服务所需要的 DevOps 团队

大刘虽然无奈可是看在人为的份上活还得干。

不外槽还是要吐的于是下班后大刘用了几小时码出了下面这堆心里话。

把公司里几套运行多年的焦点系统革新成微服务。

微服务的提倡者老马丁自己也说微服务引入了最终一致性问题。

微服务自己有多个节点这些节点为了自己的宁静运行和维护需要许多自己独占的日志。这些日志随着微服务的增多也越来越多你如何存?如何查?如何删?这些是不是都要思量在内?

对于这些分外的开发成本我们有须要吗?是所有项目都需要的吗?不是吧。

这就是我们架构师需要思量的问题也是我们需要审慎和妥协的地方。

什么?你告诉我我说市面上有许多成熟的漫衍式事务解决方案?别自欺欺人了咱们都是搞技术的请问你说的是两阶段提交(2PC)吗?好吧大家都知道 2PC 那可怜兮兮的性能。

微服务自己需要维护和监控以确保运行的稳定和可靠。

在微服务的最佳实践里是很是推荐搞 DevOps 的。我暂且不说 DevOps 需要的对人员水平的高要求我就说 DevOps 自己所需要的事情态度和责任心问题自己家的运维团队搭建是个什么鸟样子运维整天忙死了再干嘛谁还不清楚吗?整体运维的平均水准加上开发水平的要求这个团队搭建下来要花几多钱?公司舍得这些投入吗?

— 0 —

什么是微服务?对于微服务的界说网上众说纷纭并没有一个权威的界说。可是在这些纷繁庞大云山雾罩的种种微服务洗脑文和说明文之后总是有一个统一的基本面在:即微服务是一种使用分治法的思想去把一整套很是庞大的业务逻辑给切分成多个简朴的业务问题并接纳模块化方法去实现组合的一种架构方法。

分外引入的庞大性

大刘的故事讲完了我再烦琐一下。

微服务肯定是先进的可是都已经 2020 年了不用我再和大家先容微服务的优点了那也太俗了。

微服务自己需要维护和监控以确保运行的稳定和可靠。在微服务的最佳实践里是很是推荐搞 DevOps 的。

我暂且不说 DevOps 需要的对人员水平的高要求我就说 DevOps 自己所需要的事情态度和责任心问题自己家的运维团队搭建是个什么鸟样子运维整天忙死了再干嘛谁还不清楚吗?整体运维的平均水准加上开发水平的要求这个团队搭建下来要花几多钱?公司舍得这些投入吗?

这么说是不是还很抽象呢?好咱们再更深入的解释下并顺便把微服务的优缺点也全部一并说清楚。

— 1 —

微服务自己是很庞大的从设计划分模块开始就需要架构师必须对架构设计和微服务自己对应的 DDD 领域驱动设计很是有履历能够恰到利益的划分出对应的模块。否则一旦设计完毕不巧把一些紧耦合的服务给硬是解耦成了差别的服务那么这个结果对整个技术团队甚至对整个项目团队都是灾难性的。

同时对于微服务的开发、维护、运行、保障以及运维都需要技术团队成员要有很富厚的从业履历能迅速发现定位解决可能随时泛起的问题才可以。如果技术问题不能实时解决那整体系统的体验就可想而知了。可是现在的经济情况现在的公司技术人员组成确定能有这些很富厚履历的人员来搞微服务吗?

如果我们的业务逻辑做了一些调整好比我们想要增加一个积分功效那么我们只需要再增加一个叫做积分的微服务即可。

好比我们开发一个电商网站如果搞成微服务或许如下:

微服务自己有多个节点这些节点为了自己的宁静运行和维护需要许多自己独占的日志。这些日志随着微服务的增多也越来越多你如何存?如何查?如何删?这些是不是都要思量在内?

在这个现实的世界里并不是一切围绕着技术打转的。虽然技术欠债会让我们这些技术从业者感应特别。


本文关键词:恕我直言,微,服务,挺好,但,不适合,你,不管,im体育

本文来源:im体育-www.cqysyw.cn