怎样才算是一个优秀的微服务

60 天前
 rehoni
模块化?解耦?独立库?分布式可扩展?
做了这么多年野路子开发,感觉自己还是不知道怎样的微服务才算是一个优秀的微服务
3930 次点击
所在节点    程序员
40 条回复
frank42a
60 天前
不一定微服务,做集群就可以了
nealHuang
60 天前
one-pizza team 规模都达不到的团队,感觉还是少碰微服务微妙,做集群横向扩展就好
jeristiano
60 天前
@yalin 是的,尽量不用微服务,就连微服务的首创者被问到什么才是最好的微服务,如何践行 DDD ,他的回答意味深长: 要看程序员的经验。
monkeyWie
60 天前
微服务不如 monorepo ,特别是在小公司
kdd0063
60 天前
microservice 本质不是技术问题,而是管理问题。这一点都还没想明白的话建议别上
fffq
60 天前
技术架构 约等于 公司架构
rehoni
60 天前
@xomix 12 守则是什么
rehoni
60 天前
@fffq 哈哈,认可
testcgd
60 天前
什么是好的微服务不太理解,我觉得不好的微服务有几个特点吧
1 、服务数量多过维护人数的
2 、加逻辑要改 n 个服务的
3 、新人不知道某个逻辑在那个服务的
Roan
60 天前
鲁棒性,错误恢复
sighforever
59 天前
@SSang 真不一定,小团队经常要把一堆开源软件改吧改吧和部署上,这时候每个开源软件就是个微服务,甚至多个微服务。
zhangkui
59 天前
杂交怪,苹果树上长香蕉,能用就行呗!
rehoni
59 天前
@testcgd ok ,我的项目全中
yalin
59 天前
还得是 v 友水平高,谈微服务能谈到康威定律。感觉现在国内用微服务的人,都不一定知道谈康威定律了
yb2313
59 天前
说到微就想到 min,说到服务就想到 service, 想到 soft, 就想到 Microsoft, 邪恶的微软
james122333
59 天前
答案是没有 所谓的微服务只是把现有流行的东西串起来使用而已 组件肯定不轻 然后用 http...
分布式系统是种大范畴 微服务被包含在里面而已 解决方案并不漂亮 只是跨平台
aarontian
59 天前
首先我觉得野路子是好词,因为我也是野路子,有技术热情才会走野路子。

微服务是更适合互联网大厂的架构,对基建成熟度、业务体量、团队规模都有要求,都不满足或者只满足一点的,没必要硬上。服务微到一定程度一定是灾难,因为不可能在拆得很细的情况下还能保证高内聚低耦合。之前在某大厂合并过一堆微服务,二合一三合一七八合一一堆,这还是我一个人干的活,相信类似的事很多人都干过,算是擦屁股了。合并后维护成本低的不是一点。事实证明四五个人在一个 repo 中协同开发,一点都不比分离开困难(当然 repo 跟服务也不是一回事)。

29L 老哥已经描述了我们当时踩过的坑了。另外第二点“加逻辑要改多个服务”,也可以再加个“改实体”。

具体怎么拆我感觉凭业务理解和直觉的多一点,但一个笼统的想法是,在你没有想好是不是有必要拆、没有想明白拆的原因/边界的时候,那就别拆。
nrtEBH
59 天前
取决于业务架构
这年头也很多大厂用巨型单体架构
不是说哪种方案是最好的 只有最适合的
it always depends on your business
rehoni
56 天前
@aarontian 改多个实体,是数据库表结构设计的不行吗?
aarontian
55 天前
@rehoni 我指的是“改实体会涉及多个服务”,之前遇到过这种设计,就是强行拆微服务带来的,每个服务都会维护一份实体结构去操作数据库

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

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

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

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

© 2021 V2EX