【SpringCloud】我们为什么要用微服务?

明明一个服务就能把所有的事情都干了,我为什么要拆分成那么多服务?

我用一个饭店的例子给大家讲讲吧~
参考帖子:https://blog.csdn.net/beiduofen2011/article/details/124101900
参考视频:https://www.bilibili.com/video/BV1ez4y1D7w6/?spm_id_from=333.337.search-card.all.click&vd_source=af711822badba35bcf5c011ca260390f

1.有单点问题,如果宕机所有的服务都不可用

如果咱们的项目是开饭店
一个服务就是一名员工
我一个人明明既可以炒菜又可以收拾桌子,还可以结账,我还需要雇人吗?
那如果你生病了呢? 整个饭店都工作不了了!
但是如果大家一个team各司其职,我们有三个厨子,其中一名厨子生病了,我们还能继续营业对吧?
当然如果你只有一个厨子,那还是得凉凉哈哈哈。

2.所有业务的功能模块都聚集在一起,如果代码量多,功能之前如果有很多共同的代码,不同业务的需求开发同时进行的时候,维护起来有点麻烦。

店里就一块抹布,各个岗位都一起用,又炒菜又收拾卫生,炒菜时擦刀用一块布,收拾卫生时擦桌子也用的这块布。

现在客户要求擦桌子时的布要换块新的,得干净。

你厨子擦刀时就得判断,我现在是谁?哦,我是厨子。那我得用哪块布?哦,这块。
这是两块布,要是20块呢?每次还得判断我是谁,我在哪吗?

所以咱们就各用各的布,你是厨子,你有厨子专用布;我是杂役,我有杂役专用布,谁后期新增布都互不干涉!

3. 由于是单体,对请求的并发量,有限制,一个tomcat,并发量千级左右

你一个人把厨子、跑堂、收银、杂役、采购的事情全干了,一个人点菜你干5件事情,
500个人点菜干2500件事情,就算不累,不怕乱套吗?

4.由于代码都聚集在一起,部署慢。

一个人干5个人的活,每天早上都要把自己今天的KPI制定一下,今天要买豆腐,鱼香肉丝要炒甜一点,擦桌子得用威猛先生等等,订目标就得仨小时。

5.修改bug,牵扯的可能性的代码有很多,改个bug可能需要把所有功能模块都测试一遍。

鱼香肉丝,难吃! 是你的责任,因为菜是你炒的,你这个人有问题!!
现在我把你改了,会不会影响别的? 我批评你了,你好好炒菜了,擦桌子会不会不认真了?
那我得看看你这个人把所有的活全干一遍,我才放心。

但是如果厨子是厨子,杂役是杂役,厨子炒菜难吃,我批评厨子了,他改正了,就OK了,不会担心其它员工受他影响。

6.扩展成本高。

1个人干5个人的活,那么牛的人一个月需要5W的工资!!
但是如果招5个应届毕业生,每人2800足够。
磁盘服务器同样的道理,算算价吧。

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值