专栏首页码农小胖哥的码农生涯微服务就真的适合你吗

微服务就真的适合你吗

程序员往往懂得优势,却对代价一无所知。

1. 前言

microservices

其实微服务已经不算很火的概念了,它已经成为了面试的主角。很多同学私下问胖哥要一些微服务的资料,大部分都是为了面试。有时候想想这很悲哀。今天就讲几个我知道的案例,欢迎对号入座。

2. 初创项目不宜微服务

配图与现实无关

某教育初创公司,2018 年项目立项就使用了当时火热的SpringCloud。当时的团队只有 12 个人,其中后台开发只有 3 个人,在这样的情况下却采用了微服务架构。前期业务的设计不合理,导致项目的业务边界不清晰,随着业务迭代出现了大量业务耦合,为了获取一个完整的数据不得不进行数十个服务间的调用。同时因为使用了分布式,数据的一致性、服务的可用性等重要指标得不到保证,拖累了整个开发组,最终拖死了这个项目。朋友说起这个事唏嘘不已,本来这个项目按部就班还是有希望做出一些成绩的。

从这个案例中,管理层低估了微服务开发的复杂性,甚至就是为了“赶时髦”。没有考虑团队是否准备好了,能否从容对一些不确定因素。胖哥一直坚信微服务不是面对初创项目和三五个人的技术团队的,初创项目缺乏用户量,用微服务就是大材小用,更多的精力应该放在业务推广扩展上去。

3. 团队管理跟不上

某传统行业 IT 研发部门,相比较上面团队要大很多,业务也比较成熟。但是在落地微服务架构的前期也出现了问题,首先也存在业务界划分不清的问题,其次微服务的项目依赖管理混乱,没有一个集中式的依赖池,造成后期迭代经常出现兼容性问题。团队依然是“大兵团”作战,没有根据业务拆分成微服务小组,一些决策权也没有下沉,跟不上快速迭代的步子。项目越做越复杂,进度越来越慢,最终拖了业务的后腿。不过幸亏及时改正了上面的大部分问题,避免被拖入了微服务的“泥潭”。

4. 技术负责人缺乏相关经验

前年某地产线上营销团队邀请我入伙,说要上微服务,希望我可以参与进来,但是从谈话中感觉他对微服务的理解仅仅是把服务拆开的一个层面,这让我感到不安,最终就没有应邀,不清楚现状如何。

胖哥认为一个要做微服务的团队由没有微服务经验的人来领导,那么结果只会流于表面,仅仅是使用了一些微服务的解决方案,潜在的各种性能问题、扩展性问题、可用性问题都没有洞察到。架构是服务于业务的,架构是需要实践的,架构是演进而来的,不能单单只学了几个框架,看了几篇文章,就信心满满搞微服务。

5. 总结

什么时候该用微服务?胖哥认为一个最要的指标就是业务体量规模达到一个量级,或者业务目标非常明确,已经可以预计未来的规模,而当前的架构即将成为瓶颈时再考虑微服务;或者当前的团队技术实力,业务拆分能力出众,公司具备微服务实施的开发环境,具有科学的管理流程时先在一些边缘业务试试水评估一下。

本文分享自微信公众号 - 码农小胖哥(Felordcn),作者:码农小胖哥

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-07-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 微服务架构核心基础讲解[入门级]

    Martin(微服务提出者也叫 Martin)刚来到公司时是一个基层员工,它上面有经理、老板,那个时候所有人都听老板的指挥。但是过了两年,公司的人越来越多,原来...

    码农小胖哥
  • HashMap源码分析(一)(超级详细)

    HashMap基于哈希表的Map接口实现,是以key-value存储形式存在。(除了不同步和允许使用 null 之外,HashMap 类与 Hashtable ...

    码农小胖哥
  • IntelliJ Idea 2020.1 正式发布,官方支持中文了

    今天 IntelliJ Idea 2020.1 正式发布了!最大的一个亮点莫过于开始支持中文了。相信很多英语不好的同学已经期盼已久了。但是感觉登录界面感觉变丑了...

    码农小胖哥
  • 京东技术沙龙系列之二 | 深度解析京东微服务组件平台

    京东技术
  • 微服务的团队应对之道|TW洞见

    这两年,微服务架构火了。在国内,从消费级互联网应用,到企业级应用;从金融领域,到电信领域;从新开发系统到已经开发了十几二十年的遗留系统;一夜之间,好像所有的团队...

    ThoughtWorks
  • 『互联网架构』软件架构-zuul微服务网关(上)(100)

    1. 客户端会多次请求不同微服务,增加客户端的复杂性。2. 存在跨域请求,在一定场景下处理相对复杂。(有的公司服务比较微服务都是通过内部的域名的方式,分类的微服...

    IT故事会
  • 金融行业微服务架构解析

    对于微服务,每个人都有自己的理解,与互联网企业的大量落地相比,微服务在传统金融行业还没有普及,这首先是传统金融行业线上系统需求更新和版本迭代没有互联网公司那么频...

    yuanyi928
  • 【12张手绘图】我搞懂了微服务架构!

    就目前而言,对于微服务业界并没有一个统一的、标准的定义(While there is no precise definition of this archite...

    Java团长
  • 初探微服务架构

    之前介绍了什么时候进行服务化,以及服务化拆分的两种方式即横向拆分和纵向拆分,还提到了引入微服务架构需要解决的问题。

    武培轩
  • 什么是微服务架构

    什么是微服务? 微服务(Microservices Architecture)是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被...

    搜云库

扫码关注云+社区

领取腾讯云代金券