验证进程间通信、配置文件更新。
备注: 进程间通信用STD有点蠢了感觉
准备添加TCP套接字通信
验证打包后文件的执行。添加Web界面,添加调试接口。
备注:先从HTTP形式的微服务开始。
命令行打包
# 运行
go run main.go
# 构建
go build -o service_go
# 压缩
tar -cvf CalcServer.tar.gz ./simp.yaml ./service_go
获取包列表、服务列表、创建服务。
界面优化 完善重启、状态接口 构建命令可能将 service目录覆盖 ,所以采用 service_go 为二进制文件名
优化接口、前端代码,后端修复文件上传权限问题。
优化前端界面、更改颜色、引入静态文件。修复接口问题。 添加下拉框。 添加ShutdownAPI。
发包时可追加备注、修改Logo、调整样式。
日志系统添加更新、颜色样式优化。
计划2024.1.14 添加自动生成日志文件定时器、获取日志文件列表。
子服务生产时需要提供对应的API路由。后续计划生成一个JSON。
提供生产时API路由文件展示在前端界面上。获取日志文件列表
生产时静态界面好像有点问题,明天修复一下 添加子服务 shell 脚本
优化Static函数,修复静态资源问题。前端界面提供Preview方法。
优化子服务
添加子服务BlogServer,用于测试 XORM;
阿里云部署测试成功
生产待解决问题:
配置文件问题,每次发布时不应该覆盖,而是APPEND 首次发布时,判断有没有 simpProd.yaml 如果没有,则分别添加simp.yaml 和 simpProd.yaml 然后通过合并操作 以simpProd.yaml为准
配置文件问题解决 服务发布问题解决 Nginx问题解决 持续优化和迭代中
优化:
- 缺少主进程SimpServer的日志文件系统 // 已解决
- 并且每个子服务需要做心跳检测,判断pid是否还存在等。 // 已解决
- 每个发布包做doc备注时,不需要替换文件而是Append追加。 // 已解决
- 可以删除某个指定的包。// 已解决
数据处理、结构优化 go处理数据还是没node方便呀
api gateway更新
feat:gateway优化,分心了,没写好,明天继续写
feat:gateway 初步测试,服务优化,web体验优化
feat:Cache服务 部分思路说明
需要加强一下http缓存了,不然网不好的情况下 访问个东西太慢了
TODO:监听子进程的内存使用
当子服务运行起来后,通过API 定时调用,获得子服务的内存使用情况,并进行上报
TODO: 当服务停止以后,对应的定时和监听任务协程也应该终止
算是一个重大事件: 把前端改造成vite 并且发布到生产环境中~
TODO:支持Node服务
v0.1.1 发布 支持Node服务部署
v0.1.2 released
1、支持Nginx Web端修改 2、扩容服务,负载均衡 3、线程级别的锁
v0.1.3 released
- 解决生产首次发布服务时,发布失败的问题
- 优化Icon
- 提供WebShell功能
Todo 0.2.0
- Simp主控代码冗余:
- 由于刚写这个服务时完全起于自己的兴趣和热情,所以每天大量添加代码而忽略了代码本身的可读性。0.2.0之前会修复这个问题
- Simp主控服务安全校验问题:
- 由于Simp主控代码并没有引入数据库,一些校验都是在前端或者后端定义死的,这样会引发安全问题,所以在下个版本会引入数据库和一些常见的安全校验准则来保证该主控服务的安全。
- 跨语言的支持:
- Simp对Nodejs的支持较好,在SimpShellServer服务中表现良好,引入几个函数即可快速对已有项目进行更改。
- 对golang的支持只停留在gin上,我希望simp能方便嵌入已有服务代码中,并且不对业务代码进行修改。显然目前simp-go的代码是失败的。
- 提供对SpringBoot的支持。通过引入新的配置文件和port逻辑来进行实际端口判断。
- 集群支持:
- Simp服务设计之初是为了解决个人单机房部署的问题,但是如果该机器遇到突发问题挂了,那么旗下部署的子服务都会挂掉。
- 提供集群部署服务,将同一个服务发布时也会同步给另一个机器。并且进行发布与统一。
- 提供容灾支持,一台服务器挂了不影响另一台。
done
- 提供Java支持
- 优化冗余代码