公司的高层对这个通用语言用得很好

到了编程的阶段,需要转化成代码,要用英文来表达了。

从中文到英文的转换,往往丢失一部分业务信息,产生一部分信息噪音,或者发生概念上的偏移。

很快, 在不同的系统,甚至同一个系统中,针对同一个业务概念存在三种以上不同的词汇。

模块间负责人探讨新功能的实现时,两边的沟通变得驴头不对马嘴

所以当你接手到这样的系统时,读代码的时候肯定是会骂娘的,但是读完之后也确实没有什么办法。

只要你负责维护,就持续地接受这种痛苦吧。

一个公司业务由多种语言实现,理论上可以吸引各种人才, 也会提供一个互相掐架的竞技场

实际上,在现行的微服务架构下,除了业务本身的研发人力投入之外,支持系统也有很大的工作量

如果每个服务都是一种技术栈,好家伙,一个轮子得造五遍。

对研发来说,可能也就是熟悉了五种语言的语法,并且写出了五种风格各异的 bug。

虽然公司对程序员的要求是可以随意地在不同语言技术栈之间切换,但程序员一般都有自己执著的美学偏好。

三个月后,张大胖离职了。

对于一个公司来说,不应该听信那些微服务布道师的胡言,任由公司内的技术栈随意分裂,最终在公司调整或者变化的时刻才发现积重难返。

该怎么把业务拆分成微服务呢?目前业界的微服务方法论一般也没有固定的套路。

在大企业中,顶着“架构师”头衔的这些架构师们根本就不会管任何实现上的细节。

相对较大的业务需求,一般也是一线的开发商量怎么进行实现上的拆分。想要达到合适的职责划分,需要多个合作方的所有人都靠谱才行。

于是,总会有些奇葩出现。

除了这些无法沟通的程序员,还有些奇葩的领导。

这样造成的结果是,所有逻辑的分布都具有不确定性,即薛定谔逻辑。

在你把所有模块的代码都看过之前,你是没法确定哪部分逻辑在哪个模块里的。

当模块发生负责人离职或者工作交接时,所有的开发都会进入非常痛苦的阶段,我只看自己的模块,根本没法理清全局的业务逻辑!

既然术语不统一,逻辑四处分散,难道不能重构一下吗?

在单体时代,重构有一套完整的方法论和最佳实践。

但演化到微服务的时代,原来很简单的重构就没那么简单了, 因为原本在代码中的强联系变成了分布式系统中的弱联系

当然,想重构也是可能的, 各个模块需要协调一致才可以,并且代价极为昂贵。

如果涉及到办公室政治,想重构就更难了!

重组是不可能重组的,最终的结果是,本来是一个人两天的活,生生堆了4个人,干了2个星期。

(完)

本漫画授权改编自公众号“TechPaper

漫画 | 只敢私下吐槽,不敢拿上台面,这才是微服务的灾难!相关推荐

  1. 漫画:到底什么是微服务?

    本文经授权转载自公众号程序员小灰 (ID:chengxuyuanxiaohui) 单体架构的痛点 缺点一:项目过于臃肿 当大大小小的功能模块都集中在同一项目的时候,整个项目必然会变得臃肿,让开发者难以 ...

  2. 漫画:什么是微服务?

    单体架构的痛点 缺点一:项目过于臃肿当大大小小的功能模块都集中在同一项目的时候,整个项目必然会变得臃肿,让开发者难以维护. 缺点二:资源无法隔离就像刚刚小灰的经历一样,整个单体系统的各个功能模块都依赖 ...

  3. Excel导出改造_只填写字典类型_就可以自动对应导出_字典类添加获取字典值方法---SpringCloud Alibaba_若依微服务框架改造---工作笔记013

    若依微服务框架,默认的excel导出功能,导出字段的时候需要: 在实体类上自己写上,比如 在属性上写上字典值,这里需要自己手动的写上 用readConverterExp写上. 但是如果,比如碰到,全国 ...

  4. 什么是微服务_漫画:到底什么是微服务?

    本文经授权转载自公众号程序员小灰 (ID:chengxuyuanxiaohui) 单体架构的痛点 缺点一:项目过于臃肿 当大大小小的功能模块都集中在同一项目的时候,整个项目必然会变得臃肿,让开发者难以 ...

  5. SAP AFS ARUN分货操作只争对销售订单行项目上的库存地进行

    附件.欢迎交流. 周运(CityMatch)--专注于Sap的 Retail & Afs 产品的应用研究. 如有转载,请注明出处. 联系作者:CityMatch(at)163.com 博客链接 ...

  6. 阿里M8每天肝到凌晨,竟是只为一份文档把分布式到微服务讲清楚

    先听我说 微服务.云原生. kubemete Service Mesh 是分布式领域的热点技术,它们并不是凭空出现的,一定继承了某些"前辈"的优点.我们不仅要了解这些技术,还要深入 ...

  7. 主板没有rgb接口怎么接灯_DIY只为玩游戏?主板配上RGB灯让机箱发光

    原标题:DIY只为玩游戏?主板配上RGB灯让机箱发光 在现在更多人看来,装机是无聊的,拧螺丝,设置跳线,装散热器,点亮.... 然而最近华硕的一款主板却让整个办公室都沸腾了,"能不能换个粉色 ...

  8. 【前端】Vue2全家桶案例《看漫画》之番外篇、express上传漫画(可选)

    转载请注明出处:http://www.cnblogs.com/shamoyuu/p/vue_vux_app_extra_1.html 项目github地址:https://github.com/sha ...

  9. 远东传动收购机器人_一只机械新晋公司被盯上,复制艾迪规模短期翻番,又收购国内机器人减速机唯一供应商...

    三一徐工要求供应链国产一体化,一只机械新晋公司被盯上,复制艾迪规模短期翻番,又收购国内机器人减速机唯一供应商(天风证券) 天风机械团队电话会纪要近期表示重视3家公句,国茂股份+中密控股+柏楚电子,未来 ...

最新文章

  1. excel python开发_Excel + Python = 威力无比
  2. 【转】通过Hibernate将数据 存入oracle数据库例子
  3. oracle去掉blob的黑边,oracle Blob处理
  4. catia 无许可证服务器名称,win10升级2004后CATIA无法连接许可证服务器解决方案(2页)-原创力文档...
  5. ios 设置按钮不可见_iOS的五大设计原则:统一化和适应化原则
  6. Linux上安装dotnetcore2.0
  7. Spring Session 的两种刷新模式-RedisFlushMode
  8. android 检查 write_external_storage,android – 如何知道何时需要WRITE_EXTERNAL_STORAGE
  9. “21天好习惯”第一期-7
  10. C# struct 性能损失
  11. java二手书交易系统_基于Java的二手图书交易系统后台设计与实现.doc
  12. 受欢迎的牛+Trajan缩点+树形dp
  13. vue的:href和href
  14. Django框架学习--4--分布式路由ORM基础
  15. Hive——Hive数据类型
  16. 高效处理高于平常10倍的视频需求,还能节省60%的IT成本,蓝墨做对了什么?
  17. android 图片大小判断,android中如何使用一张图片适配不同尺寸的APP引导页
  18. Python爬虫之自动下载图片
  19. 复变函数(1)-复数及其几何属性
  20. Vue的项目搭配以及实现页面跳转【电竞杜小帅】

热门文章

  1. jfinal 多数据源配置
  2. flask中的jsonify返回的是乱码
  3. Oracle数据库主键自增的两种方式(SEQUENCE和触发器)
  4. 【WPS WORD】关于如何快速整理从知网论文中复制过来的文档内容及格式
  5. 各大公司电子类招聘题目精选
  6. 利用调试容器对activex控件程序进行执行,出现error MSB8011: Failed to register output.
  7. 只网签没备案 房管局能查到吗_怎么在房管局查询自己的房子有没备案
  8. 腾讯弱网络测试工具QNET申请试用
  9. 如何规划好自己毕业开始的十年职业生涯?
  10. 外部如调用layui中的组件_详解layui.layer独立组件