没有高并发的场景,整微服务、服务发现、集群啥的,是不是有点步子迈太大了?

2021-02-10 17:11:19 +08:00
 darknoll
我司做制造业相关的软件,一般都是部署在公司内网,原先都是桌面程序,socket 通信,现在大势所趋需要转型到 web,领导提出的架构:要用微服务、服务发现、集群这些做,是不是有点杀鸡用牛刀了?
6043 次点击
所在节点    程序员
47 条回复
zengming00
2021-02-11 09:02:13 +08:00
公司会为此付出惨痛的教训
dream4ever
2021-02-11 10:06:02 +08:00
11 楼和 14 楼一看就是过来人,建议多听听这两位的意见。
bzshow1
2021-02-11 10:27:49 +08:00
直接用 bilibili 的架构
darknoll
2021-02-11 10:55:32 +08:00
@vandort 其他的研发同事的能力——只会 socket,HTTP 还没怎么用过,web 从没做过
kkbblzq
2021-02-11 11:33:26 +08:00
看你们公司有没有比较有经验的 devops 团队了。。。这玩意不只对研发有需求,对运维也有需求的,就算上云商也少不了这些的。。
scofieldpeng
2021-02-11 12:17:14 +08:00
楼上说什么带薪学习的省省吧,企业要求的是稳定,和 11 楼,14 楼说的,真要学习,自己云上买个主机玩玩,或者家里搞个破烂服务器都能玩,老实说,量没上去,业务没上去,别搞那些虚的,什么微服务,其他我就不说了,同样的东西,你微服务要多少时间?更不要说什么运维之类的成本了,别抱什么侥幸心理不会挂之类的,线上到时候真跪了你难道要给客户说我们上了一个很牛逼的东西,但是这东西我们还是在学习期?
wangxiaoaer
2021-02-11 12:40:51 +08:00
微服务可以考虑,但别像有些教程那样拆的太细。

服务发现啥的久别扯淡了,就你那几个服务一眼就看完,人工发现就 OK 了。

集群无所谓,看情况。
young1lin
2021-02-11 13:12:21 +08:00
要我,我偷着乐了,我可能年后去一个二线大厂打工还用不到微服务呢。

带薪学习,先干他个半年。简历上重构原有项目至微服务架构。

不过,这个看日志有点麻烦,除非你引入 ELK 这种,还有你还要做全链路测试,各种问题。没个半年以上,搞不定的。拆分项目根据业务来拆,不用根据 DDD 来。就 4 台机器,说真的,干不了什么。

如果你只是要实现功能的话,我劝你还是搞成多模块应用好,把通用模块拆出来(这就是通用域啊),之后再慢慢改成微服务都行。
oneisall8955
2021-02-11 13:17:11 +08:00
带薪学习?你公司这样的体系怎么感觉会学歪了
KuoYu
2021-02-11 13:39:06 +08:00
千万不要!血的教训,在一家初创公司刚开始的时候 leader 就提出微服务 集群等,就 4 个人做这些大坑一个接一个,最后交付期拖了又拖,到我离职都没完成。做个人吧,老老实实传统业务做好做精不好吗?
tedzhou1221
2021-02-11 13:53:09 +08:00
想起一个互金行业的上市公司的后台,看日志也是上终端看,麻烦死了。后来发现是有 ELK 的,然后他们说不会用。。。。
optional
2021-02-11 14:12:12 +08:00
3 台 k3s,不就啥都有了
atonku
2021-02-11 15:41:24 +08:00
把现在的代码复制一份,部署上去,告诉老板,微服务做好了
Tarkky
2021-02-11 16:33:02 +08:00
谁来给扫下忙,微服务到底适用的场景是啥?它的痛点又是啥?谢谢
winglight2016
2021-02-11 17:23:35 +08:00
个人看来,9 成 9 的软件是不需要微服务架构的,然而就业市场上吃香,lz 不妨抓住机会学习一下。毕竟这么一大坨技术栈,不在实际项目上应用是想象不出来有多么复杂。好在,你不需要严格划分“微”服务,只需要按子系统分一下,然后能够互相调用就好了,毕竟,能够容器化领导就已经直呼专业了。所以,这种项目真正考验你的不是学习能力,而是项目规划能力,加上服务注册 /发现,错误处理,不就是二期需求了吗?再来一些 k8s,热更新、灰度部署啥的,三期就来了。程序员最重要的能力就是给自己安排合适的工作。。。(🐶
luzhh
2021-02-11 17:49:44 +08:00
微服务没楼上说的那么恐怖,我当时也是一个人搞微服务项目,一波下来没啥复杂的,但是该有的确实得有,不然那就是挖坑,链路追踪+日志中心得搞好,要不然排查问题特别麻烦。
abcbuzhiming
2021-02-11 21:10:03 +08:00
@Tarkky 微服务本质是用空间换了复杂度,用体积膨胀,人员膨胀的方式把问题分而化之了。所以如果你的组织度跟不上的话,你解决不了问题,反而问题更多
abcbuzhiming
2021-02-11 21:12:05 +08:00
@luzhh 链路追踪和日志中心的成本真高,动不动就是几台服务器,或者要上 ELK 做查询。我其实很早就想把自己的服务拆分化,后来一看我才几台服务器啊。我要拆了得上链路中心和日志中心,搞不好在这上面的服务器比我的应用服务器都多,实在是尴尬。
xuanbg
2021-02-11 22:37:47 +08:00
@abcbuzhiming 1 台 4C16G 就够跑 20 来个服务了。。。微服务不一定要多少台服务器,而是适当拆分服务。拆分服务的好处是能够在局部(单个服务)有效降低业务复杂度,使每个服务都容易维护,且整个系统易于扩展,反正就是加个服务(一只羊是赶,一群羊也是放)。
agagega
2021-02-11 22:51:49 +08:00

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

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

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

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

© 2021 V2EX