
Flying 是微服务多环境云原生配置中心

English | 中文
目前微服务架构方向逐渐向kubernetes 服务网格化靠拢,出现多环境多集群概念,Flying可以实现多集群微服务配置进行统一管理。
服务分为:
flying-admin 管理端: 管理界面,进行管理多个flying-config服务端的配置。主要是进行环境添加修改,应用项目管理,命名空间发布等功能。
flying-config 服务端: 真正的配置中心服务端,负责配置信息存储,推送客户端通知等。可以多环境部署。
flying-client客户端: 配置接收获取功能,实时更新配置等功能。目前只是实现Java客户端连接,后续会出现更多语言客户端。
在多个环境的服务端连接时会实时显示连接运行状态
配置热加载
部署
shell
$ git clone https://github.com/ZhangChengJi/flying.git
在 flying 的根目录下,通过 docker-compose 创建服务
```sh
$ docker-compose -f ./deployments/docker-compose/docker-compose.yaml up ```
通过上述命令,您可以从通过http://localhost:8888/ 访问,默认帐号: admin/123456
启动后通过管理端图形化界面配置环境连接服务端,注意docker默认网络是bridge,无法直接使用localhost:8881地址连接,请使用flying-config:8881或者{本机ip}:8881进行连接。
连接管理服务端的时候环境名称尽量按以下名称来定义。
DEV
开发环境
FAT
测试环境,相当于alpha环境(功能测试)
UAT
集成环境,相当于beta环境(回归测试)
PRO
生产环境
注意:docker-compose部署方式只是适用于测试,真正生产使用,请使用HA 数据库。
管理端和服务端建议通过容器进行部署方便高效,在/deployments目录可以找到docker-compase和kubernetes的部署脚本。当然也是可以通过二进制进行部署。
SDK 对接
Java客户端
在自己的springboot项目中添加flying-client maven 包文件:
xml
<dependency>
<groupId>com.github.zhangchengji</groupId>
<artifactId>flying-client</artifactId>
<version>1.0.0</version>
</dependency>
导入成功
在springboot中把application.yml改成bootstrap.yml
在bootstrap.yml文件中添加配置:
yml
spring:
profiles:
active: ${ACTIVE:dev} # 配置启动环境,如果环境变量$ACTIVE配置了环境名称那么默认使用$ACTIVE的
flying:
bootstrap:
app-id: scaffold-user #当前自己项目名称
enabled: true # 是否开启flying配置中心 默认为false
refresh-enabled: true # 是否开启实时配置更新 默认为false
namespace: default # 在服务端配置的当前项目配置信息的命名空间名称,可以有多个,多个逗号分隔
address: # 配置多个环境,启动时会根据spring.profiles.active环境名称进行选择环境加载配置
- name: uat # 环境名称
url: flying-config.flying.svc:8881 #环境地址(服务端地址)
golang客户端
未开发.....
flying-config.flying.svc:8881该项目已获得Apache 2许可。
邮箱 380702562@qq.com
$ claude mcp add flying \
-- python -m otcore.mcp_server <graph>