iris开发笔记

xeonds

2026-01-24 18:56

iris最初只是一个想复刻下见过的k8s集成研发效能系统的作品,可后来索性融合了很多基础能力进去,包括但不限于:

所以最后就演化成这样的一个集群基础设施系统了。

其实目前对于这样一套系统,我并没有多强的需求。如果开发一个新的服务,我的流程就是:

  1. 本地开发,git+gitea代码管理
  2. 写Makefile构建验证测试
  3. 传输构建产物到服务器,写个docker-compose.yml,用ubuntu+nginx分别托管静态+动态部分然后docker compose up -d来拉起服务
  4. 更新版本的话直接重新编译bin再上传,然后用docker compose停止再拉起服务就行了

这里面确实有不少的问题,比如重复步骤确实太多:3和4一般没有太多变数,可以自动化;资源管理比较松弛,每次都要看我的服务用了哪些端口,有哪些还能用的端口;得思考数据卷挂载到物理机哪个路径等等。优化优化可以做到只完成1,然后由系统自动根据配置完成2-4。

同时上面的工作流只适用单节点机器,如果服务是跨集群部署,那就比较头疼了,部署之类的操作次数是\(O(nm)\)的级别。所以自动化(如果不出问题)对集群化部署的作用比较大。

刚开始是在temu的时候借着做几个需求的机会弄清楚了那边的工作流和研发效能系统架构。那边属于是把k8s用的很充分了,整个业务包括整个研发效能系统、甚至整个资产管理系统都在k8s集群的各个环境里跑着,同时这些系统自身也在不断迭代中。

我的目标,主要是需要个研发效能系统,然后加速服务的开发部署。同时考虑下用k8s扩展部分小服务冗余到边缘节点,顺带作为一些用户节点的管理。

iris0

irisbase

irisdb

irisgate