请问大家公司的微服务有多少种?多了的话怎么运维?

whileFalse:昨天看到 https://www.v2ex.com/t/711163

里面有个老哥说有一千多个微服务,惊了,不知道是一千多个服务实例还是一千多种服务。

我们公司有差不多一百种微服务,大半在 k8s 上,小半直接部署在 Tomcat 里。上线靠 jenkins 。
因为有些服务有构建先后次序的问题,所以构建要依次执行很耗时间。因为希望特定时间上线(比如中午 12 点 /夜里 12 点),所以要提前构建,到点再部署。这样每个服务有构建 /部署两个 Job,再加上顺序问题,每次上线涉及的服务一多那是鸡飞狗跳。

我搞了一个自动构建+模板渲染 yaml 的工具,算是极大降低了 k8s 服务的上线难度,预先写好要上线的服务列表,上线时一键执行。解决了两个问题:

  1. 极大的降低了上线时的心智消耗,几乎不给出错的可能性
  2. 通过模板渲染显著减少了不同服务的 yaml 差异。
    虽然工具很好用,但我也有个疑惑:这种问题应该很多公司都会遇到,其他公司是怎么做的呢?总不会都是自己实现工具吧。

但是比较流行的 CICD 工具好像也不太合用。用中文搜了一下,一些国内的 K8s 管理方案主要是可视化。可视化感觉还是给新上手 k8s 的公司用的,跟 Jenkins 没本质区别。
另外有公司用推代码自动构建+手动部署的方式。这也不太适合我司:

  1. 我司有 N 个测试环境,但没有每个环境对应的独立分支
  2. 代码推送成功后不一定能构建成功(不同的服务会有构建先后次序的问题)
  3. 部署和构建是分开的,推代码之后不一定能立即部署

singerll:大公司肯定不是自己实现工具啊,都是一个团队在实现工具。

whileFalse:@singerll 我意思是有没有现成的工具?如果有现成的自己不知道还傻呵呵写就挺井底之蛙的。

whileFalse:@singerll 再说我就是 DevOps 职位,虽然不算“一个团队”,但确实是该写工具的岗位。

GopherDaily:服务注册、发现,健康检查、流控之类的功能不是强制的,内部调用还是走域名,那么只要你写的代码能跑就行。

另外一种是公司层面针对几种特定的应用类型( web/consumer )提供几种特定语言的支持,业务方在框架内写业务逻辑,框架负责和上面那些东西打教导。

单个应用类型下有多少实现不同业务逻辑的应用,这个数量一点都不关键

关于项目的交付前,测试的问题,各位大佬有什么建议?

gaorenhua:目前项目开发评估的时间和交付之间基本冲突,没有测试的时间,公司无法匹配相应的测试岗位,只能随便测测,开发人员测试自己的代码基本选择性忽略。 想请教下各位大佬公司都是怎么样的测试流程?有什么可能自动化生成测试用例的工具?

有没有写好接口文档就生成接口代码的工具?

fanyingmao:要求写好接口文档,然后生成各部分代码并对出入参数做检查,然后修改接口文档也会帮忙只修改对应部分的代码,这样开发只有写对出入参数实现部分就可以了,少了很多复制粘贴,文件间跳转修改的工作同时减少当中出错的可能。 还有针对 node 有定义好数据库表然后生成 model 代码的工具吗?

有没有模板关于写工作成绩的要英文

iszengmh:要升职加薪的,请问有没有模板帮助一下,最好技术方面的。 在哪个项目中承担哪个交付角色,是否可以独立完成交付 比较有亮点的交付成绩 额外开发的工具名称 个数,效率提升方面 自我学习能力和态度等方面

一个现代化的前端小组应该具备什么?

wxsm:举些例子: 统一的版本管理工具使用规范 完善的代码评审机制 完善的编码规范 完善的项目 CI/CD 规范的业务开发流程 业务沉淀下来的工具链、库、代码、经验,并且有完善的文档与 demo 定期举行的分享 ...

像我这样的程序员现在应该做什么?

leopod1995:本科毕业工作三年,目前就职于一家 1065 的初创公司,每天摸鱼也没有太大的工作压力,半年时间能说的上来的工作就是独立重构了我司的业务权限系统(类似协同工具。 去年的时候还一心想进大厂,面了两次字节全都挂在了算法上。本来计划今年好好刷刷算法年底再去面字节,感觉现在的生活过得也没有什么动力再去大小周 996. 计算机网络年中重新拿起看了一…