微服务怎么划分才算是正确的?是越细越好吗?

2021-09-27 12:56:17 +08:00
 itechnology
看到有人发了微服务相关的主题有感而发。
我们的项目一开始有个用户微服务,后来来了个首席技术官,要求微服务再细分,然后用户微服务就拆分成了用户基本信息微服务和用户实名信息微服务,也就是说,把用户实名认证单独拉了个微服务。其他的微服务也差不多,然后导致现在大大小小的微服务接近五十个了(原来也就二十多个)。但其实用户量不多,也就是 2 万不到。
我心里是不赞成微服务分这么细的,但想想问问各位,技术官是对的还是我想法是对的呢?
4886 次点击
所在节点    程序员
44 条回复
vanishxiaoma
2021-09-27 13:06:31 +08:00
应该一个接口一个微服务
dilu
2021-09-27 13:12:44 +08:00
2w 的用户 估计 dau 就一千吧?

这也用微服务?
leafre
2021-09-27 13:27:56 +08:00
粒度分的太细,徒增复杂度,如分布式事务,在没有性能瓶颈的情况下,细分就是耍流氓
lilingj
2021-09-27 13:28:05 +08:00
推荐《凤凰架构》,最近看完,有谈到微服务粒度的上下界问题
gam2046
2021-09-27 13:32:17 +08:00
个人感觉还是应该看业务场景以及业务规模,业务规模小的情况下,All in one 都没问题,开发起来也快,部署也方便。

没有产生业务瓶颈的情况下,过度细分会导致开发复杂度急剧上升,而且微服务之间的额外开销,可能导致性能还不如 All in one
potatowish
2021-09-27 13:33:48 +08:00
2 万用户不配用微服务
coolcoffee
2021-09-27 13:37:04 +08:00
真微服务的话,应该是数据库也要拆分的。

现在很多微服务本质都是 SOA😂
janus77
2021-09-27 13:41:04 +08:00
新官上任三把火罢了,给自己找点 KPI 。别太较真
chendy
2021-09-27 13:41:53 +08:00
具体问题具体分析,对比拆分前和拆分后项目的开发和运行情况,应该自己就可以有个大概的答案了
cmdOptionKana
2021-09-27 13:58:29 +08:00
站在投资人的角度,你对,为公司省钱。

站在打工人的角度,技术官对,拿公司的钱练手,以后简历也好看。
qingwnag
2021-09-27 14:04:33 +08:00
不要小看单体,这个规模单体足矣;微服务费劲儿
iyear
2021-09-27 14:07:51 +08:00
拿公司钱学学新东西不挺好的吗
CantSee
2021-09-27 14:10:54 +08:00
单体服务,ng 负载均衡,一把梭哈,用户体量上来再拆分,一口吃个胖子维护起来麻烦的要死
Reid
2021-09-27 14:13:43 +08:00
我觉得应该也是考虑了以后流量增大之后的可维护性和拓展性吧
iyaozhen
2021-09-27 14:16:32 +08:00
没必要

最近我们在合微服务,基本 3 个合成 1 个
jadec0der
2021-09-27 14:17:20 +08:00
不光要考虑用户数量,也要看团队规模,

如果用户服务只有一个开发负责,那拆成两个就很浪费时间。如果用户服务有 100 个人的开发团队,那拆成 10 个也可以理解。从 CTO 的角度来看,团队之间的责任明确、依赖减少,比服务的性能更重要。
abc0123xyz
2021-09-27 14:17:39 +08:00
练练手不好吗,公司省不省钱,和你个打工的有什么关系.
masterclock
2021-09-27 14:19:46 +08:00
用户量只是一个方面,不是规模的唯一度量
现在拆出来的这些 “微服务” 很可能不是微服务,现在的架构很可能变成了 分布式单体服务
我觉得每一个 微服务 都应该是 越 “大” 越好,完整、独立,不依赖于外部,内聚,难于拆分
pengtdyd
2021-09-27 14:43:44 +08:00
垃圾的技术领导必然有垃圾的项目
jtwor
2021-09-27 14:57:45 +08:00
2 万。。何必捏

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/804580

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX