非得用微服务吗?

2023-12-31 21:38:55 +08:00
 tianshunovel2
一开始我用 go 写了个单体架构的小说网站。
后来感觉业务流程没有梳理好,模型也有些乱,打算重构。
研究了微服务,ddd 什么的,我的目的是能够在用户增加的情况下能够很方便的提升负载能力。
但是我发现要划分好多微服务出来,但是就我一个人来开发,有必要弄得那么复杂吗?
而且边界也不好划分啊,就怕到最后互相调用,性能下降不说,改动一个功能,可能就得改动好几个服务,部署好几次。

能同时部署几个单体应用来负载均衡吗?
或者在单体应用里,对某些路由实现微服务?
如何监控到底是哪些接口占用资源高呢?
7772 次点击
所在节点    云计算
29 条回复
ruxuan1306
2023-12-31 21:41:03 +08:00
没必要,微服务的架构本质来自组织架构。
Hurriance
2023-12-31 22:21:49 +08:00
认同一楼的,技术的演化并不完全来自技术本身
frankies
2023-12-31 22:22:56 +08:00
没必要
lovedebug
2023-12-31 22:23:36 +08:00
没必要,微服务和单体都有自己的场景,千万不要为了微服务而微服务
gaobh
2023-12-31 22:25:55 +08:00
等你有十万用户量再改微服务也不早
BeijingBaby
2023-12-31 22:27:46 +08:00
单体够你用到项目消失😆
hefish
2023-12-31 22:36:36 +08:00
楼上的大佬们说的对,根据自己需要来搞。合适够用是原则。
est
2023-12-31 22:41:04 +08:00
微服务是用来 ppt 的东西啊。这玩意从概念到推广到实施都是一家软件外包公司发明的啊。。
你没必要跟自己过意不去。
CHUB
2023-12-31 22:48:33 +08:00
这么说吧,以前我们组人多,每个人负责自己的模块,自己交自己的,开发速度嘎嘎快

现在人也少了,项目也少了,偶尔会几个人都集中在同一个项目里干活,互相卡进度的时候想死,merge 的时候也想死,以及,维护老项目那一坨,改一个小的有很多个地方都要一起改,也很想死,有利有弊吧。

省流:微服务适合很多个开发者一起干活的场景,人少单例完全够用。
bringyou
2023-12-31 23:07:40 +08:00
kuituosi
2023-12-31 23:12:10 +08:00
先搞明白什么是微服务
不是用了微服务框架就叫微服务
fregie
2023-12-31 23:30:45 +08:00
你需要的不是微服务,是容器化+无状态服务,要扩容直接加副本
FrankAdler
2023-12-31 23:36:18 +08:00
你这种,模块划分清楚就行了。规模大了,团队大了,涉及到不同研发(团队)负责不同功能开发,单独迭代单独发版啥的才是考虑拆分的时候
blackeeper
2023-12-31 23:46:52 +08:00
一个人开发,没必要弄得这么复杂

问题 1:可以,前面部署个 NG ,部署 N 个单体应用,然后负责均衡就可以了
问题 2:你可以在 NG 上转发到你拆分的微服务应用
问题 3:监控应用接口是多个层面的,要统计分析:有哪些接口,以及接口的 [调用频次,应用处理时间、SQL 处理时间、调用其它的时间、消耗 CPU 、内存,磁盘 IO]
cheng6563
2024-01-01 00:36:47 +08:00
把表弄好一点就够了
Kumo31
2024-01-01 00:59:58 +08:00
微服务不解决你说的负载能力问题
pigspy
2024-01-01 11:48:52 +08:00
单体架构足够你用到网站倒闭了
codewld
2024-01-01 13:42:52 +08:00
微服务各模块独立自治,不会一坏皆坏,提高的是可用性,和负载能力没有直接关系。
如果只是希望提升负载能力,应该考虑将服务改成无状态,然后按需扩容服务层。
fgsqqq
2024-01-01 17:35:51 +08:00
微服务 是使 单个服务 的业务内聚性更高
不同的业务 放到不同的地方
对系统解耦 维护扩展更高效

当然 还得看项目规模 和复杂度
小项目 或几个人玩的 可以不用
大厂的 服务 基本上 微服务 因为 业务复杂,承接功能多
抽取独立成一个 ,更易于 维护
GeekGao
2024-01-01 18:16:49 +08:00
任何架构模式都是顾及了康威定律而设计的。一个人的项目不需要遵守这些复杂模式。

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

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

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

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

© 2021 V2EX