项目作者: go-microservices

项目描述 :
Based on Kubernetes's sidecar deployment model, the PHP configuration update service is developed using Go. A single agent supports multiple projects and multiple namespaces.(基于 Kubernetes 的 Sidecar 部署模式,使用 Go 语言开发的 PHP 配置更新服务。单个agent支持多项目,多 namespace)
高级语言: Go
项目地址: git://github.com/go-microservices/php_conf_agent.git


php_conf_agent

基于 Kubernetes 的 Sidecar 部署模式,使用 Go 语言开发的 PHP 配置更新服务。单个agent支持多项目,多 namespace

支持的配置中心

  • Apollo

使用

编译环境

  • Go 1.13及以上

编译命令

go build -o conf_agent main.go

配置文件 app.yaml 说明

  1. clusterName: dev # 集群
  2. type: 2 # 请求配置中心类型,1 为每30秒请求一次配置中心缓存数据;2 为实时变更推送
  3. address: http://localhost:8080 # Apollo 服务接口地址
  4. ip: 10.12.1.1 # 应用部署的机器ip 这个参数是可选的,用来实现灰度发布。
  5. autoIp: 1 # 1 表示开启,是否自动获取部署的机器ip,上面指定 ip 参数优先级更高 当然这个参数也是可选的,用来实现灰度发布。
  6. configs:
  7. -
  8. path: /data/www/a.example.com/config # 生成的配置文件所存放的目录 配置文件名称以 namespace 来命名
  9. appId: a # 项目 AppId
  10. namespace: # 项目中的 Namespace
  11. - application
  12. - web
  13. -
  14. path: /data/www/b.example.com/config
  15. appId: b
  16. namespace:
  17. - application

配置文件支持热更新,如果 type 为 1 热更新周期约为30秒;type 为 2 最长热更新周期约为60秒

运行

赋予执行权限

chmod +x conf_agent

执行

./conf_agent