为什么要采用微服务架构?最主要原因是什么?

 

面试时候,一个面试官问:为什么要采用微服务架构?

我说了一通网上百度到的,他还是不满意。

https://www.jianshu.com/p/b9e58893bbc0

网上很多都说了 微服务 的优点,但是都不是最关键的, 因为 很多问题,对单体应用来说,都不是致命的,都是可以接受的。

面试官说最关键最主要原因是:  高并发

没有高并发,去搞微服务架构都没有这个必要性,单体用得好好的,去搞微服务架构好处不多。

 

思考

开始的时候觉得很有道理,面试之后认真想了一下,其实我认为是不对的,

因为 单体架构 使用集群的方式也是可以支撑高并发的,比如淘宝使用集群也可以支撑这样的。

如果最关键是 高并发的话,肯定是 不对的。

我认为最关键是 服务之间的治理, 将 单体架构拆分之后, 可以针对 每个服务的 功能 进行相应的配置优化,

拆分之后的微服务可以都是类似人一样,是有他的个性和特色,优势,特长,天赋,短板,缺点。

当然拆分之后,微服务之间的职责也更加的明确,

比如 某个 微服务 可能有高并发, 某个微服务 IO 这块处理 很多 等等。

这样就可以 针对每个微服务给不一样的 处理和配置。

将 整个 微服务 系统的处理能力,性能达到 最高效。

虽然微服务 看起来比较麻烦,需要投入也很多。

但是 相对复杂臃肿的 单体架构来说,

治理好微服务 之后,

收益 (开发上面的收益啊,或者业务上面的支持上等)肯定完爆单体

所以微服务最难的就是 治理了, 治理不好微服务,那确实不如单体。

 

 

 

进一步思考

面试官为什么说 最关键原因是高并发?

其实 从他的角度来说可以说是没有错的。

因为他所在的公司就是 要处理高并发的问题, 高并发 会带来一系列问题,

重点难点也是高并发。 

所以 将 单体架构 改为微服务架构 来 解决高并发这样难题。

所以这是他认为的微服务 最关键是高并发。

因此 高并发是 将单体架构改为微服务架构的原因之一,每一家公司遇到的问题都不一样。而微服务架构又可以处理很多问题

 

 

问: 什么时候适合改造为微服务架构?比如单体项目庞大到怎样的才适合改造为微服务?

  1. 投入产出比, 项目比较重要,有价值才改造
  2. 团队的人数和技术能够hold 住 分布式技术,公司不能穷,公司能够承受微服务改造的投入成本,包括时间成本
  3.  单体架构 有 高并发,很高的并发,或者预估未来有很高的并发
  4. 单体架构 数据量很大,大到了 分库的地步,多数据源,比如 写写2个数据源
  5. 单体项目 涉及到 挺多分布式问题的,比如分布式缓存,分布式事务,分布式锁等
  6. 最重要的指标: 部署 单体项目的 服务集群,比如Tomcat 集群 超过了3个 服务数以上的时候,都可以考虑了。

 

 

 

总结

为什么要使用微服务架构?答案是:为了服务治理

高并发问题,等其他问题 造成单体服务太难以把控和治理了,而随着时间的推移单体服务将会越来越难以维护和治理,

因此引入了 相对复杂的微服务架构 来 治理 更复杂的 服务

 

康威定律与微服务

微服务有一个康威定律 来支撑,是必然趋势。

其实不需要康威定律, 古人已经早就给我们准备好了  理论 支撑:

一生二,二生三,三生万物

古人的理论,多么简单的 阐述了 单体架构到 微服务架构演变的过程啊!

 

转载于:https://my.oschina.net/ouminzy/blog/3089751

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值