没有高并发的场景,整微服务、服务发现、集群啥的,是不是有点步子迈太大了?
除非你打算半年内跑路,不然研发团队的可持续发展跟个人的技术成长同样重要。团队技术积累不够,基础设施建设不足,都是很要命的事情。比如你做服务拆分,拆成了很多个微服务,但是没有 ELK (或者其他类似东西),没有配置管理,没有链路跟踪,测试也是手动黑盒点点点,有了问题你要怎么去定位呢?开一屏的终端 tail -f 吗?如果客户要求配置额外的安全策略,要逐个配置文件的去改吗?
考虑另外一个情况,如果为了去贴“集群”的概念,不小心用了 k8s (或者其他类似东西),碰见大坑了要怎么办?外面招不来懂云计算的人,内部的团队又爬不出去。以你们团队领导的风格,是会 997 爆肝刷苦劳、扣发奖金解散团队,还是会重金聘请顾问解决问题,然后公正地复盘问题,亡羊补牢呢?
另外,其他的研发同事的能力足以上手这些新的技术吗?输出的文档可以帮助阅读的人理解系统吗(真的有文档吗)?测试团队能不能理清服务拆分之后的整体架构?交付团队能不能消化新架构带来的学习成本呢?
如果领导不参与具体的研发工作,我建议不妨先用自己的能力范围之内的技术完成需求(然后包装一下对外汇报),再一点一点的在自己的舒适区边缘向外试探。进可向先进的、有前景的技术方向演进,退可迅速回滚到你能掌控的版本,降低风险不可控的概率。这样你可以跟公司一起成长,即使想另谋高就,也会更加从容一些。
服务架构是人事架构的镜像。
服务发现啥的久别扯淡了,就你那几个服务一眼就看完,人工发现就 OK 了。
集群无所谓,看情况。
带薪学习,先干他个半年。简历上重构原有项目至微服务架构。
不过,这个看日志有点麻烦,除非你引入 ELK 这种,还有你还要做全链路测试,各种问题。没个半年以上,搞不定的。拆分项目根据业务来拆,不用根据 DDD 来。就 4 台机器,说真的,干不了什么。
如果你只是要实现功能的话,我劝你还是搞成多模块应用好,把通用模块拆出来(这就是通用域啊),之后再慢慢改成微服务都行。
巨石架构很香啊