2020年一场疫情打乱了很多人的节奏,我也因此第一次在北京过年了。
过年的这段时间,因约景点的时间有点晚了,所以很多的景点都没有去成,因此我基本上是在北京的出租房里憋了一个假期。
去年,也就是2020年,我开源了自己的第一个项目 ferry,得到了不少的认可,github的star也马上突破 3k 了。
因此在过年的时候,我就想着把自己构思了一段时间的另外一个项目CMDB写一写。
后来我看到了腾讯开源的CMDB,发现我构思的项目很多地方跟这个项目是类似的,但是没有腾讯开源的这个项目完善,因此就不准备重新开发了,毕竟非定制化的需求,重复造轮子还是没有太大必要的,于是我就开始研究腾讯的这个项目的源码,发现,这个项目是真的复杂呢,微服务的结构设计思路,让这个项目的代码规模有点大,而且还比较绕。程序编译成功后需要运行十几个二进制文件。
还有需要注意的就是必须使用指定版本的Mongodb、Redis、Zookeeper,反正我尝试使用新版本的这几个软件是不行的。单单是本地环境就折腾了好久,因为遇到了好多问题。且非常重要的一点就是这个项目运行起来的话非常吃资源。
本地环境部署完成后,就开始研究源码了。
腾讯开源的这个CMDB,单论CMDB的功能来说的话还是非常不错的。但是我发现很多地方都是依赖腾讯的蓝鲸PaaS平台的,而且就连登陆都是直接写死在程序里的,且没有权限系统(也是依赖于蓝鲸PaaS的)。
我尝试着进行了二次开发,包括登陆、权限及一些新功能的添加,但是我发现真的太麻烦了,登陆部分完成后,权限部分我实在是不想继续写下去了,前端用的是蓝鲸的UI,很多想加的功能点都不能直接用,后端的代码管理也没有用go mod,我还是比较习惯用这个的,整体来说,就是不习惯,于是,我就萌生了仿照这个项目,重新写一个的想法,并且实施了。把自己想要的功能和这个项目现在不错的功能点结合一下。
如果你发现这个项目非常像蓝鲸CMDB,别喷,就是仿照这个项目写的。
项目前端使用的是Vue + Element UI,后端就是Go + Gorm,数据存储方面目前就是MySQL,后面集成ES实现全局搜索。
因为还没有完全完善,因此现在就主要截图展示一下,后续完善后,会看情况是否进行开源。
页面比较多,截图部分页面有问题,有想法,欢迎评论交流。
Github:https://github.com/lanyulei/fiy
觉得不错的话,给个star呗。
模型列表
模型详情
资源目录
资源列表
资源详情
云账号管理
方便进行云资源数据同步