![flying](./docs/image/flying.png)
![GitHub release (latest by date)](https://img.shields.io/github/v/release/) ![GitHub go.mod Go version (subdirectory of monorepo)](https://img.shields.io/github/go-mod/go-version/?filename=flying-admin%2Fgo.mod) ![GitHub](https://img.shields.io/github/license/)
[Flying](.git) is a microservice multi-environment cloud native configuration center
![home](./docs/image/flying-home.jpg)
> English | [Chinese](README_zh.md)
## Introduction
At present, the direction of microservice architecture is gradually moving closer to the grid of kubernetes services, and the concept of multi-environment and multi-cluster appears. Flying can realize the unified management of multi-cluster microservice configuration.
Services are divided into:
+ **flying-admin management terminal:** The management interface is used to manage the configuration of multiple flying-config servers. It is mainly for adding and modifying `environment`, `application project` management, `namespace` publishing and other functions.
+ **flying-config server:** The real configuration center server, responsible for configuring information storage, pushing client notifications, etc. Can be deployed in multiple environments.
+ **flying-client client:** Configuration receiving function, real-time update configuration and other functions. At present, only the Java client connection is implemented, and more language clients will appear in the future.
Demo Environment:
## Function description
+ Unified management of multi-environment and multi-cluster configuration server
+ One-click configuration of multiple environment servers for management directly through the management interface
+ No need to restart the management end to configure the server
+ Multi-server running status monitoring
+ When connecting to servers in multiple environments, the connection status will be displayed in real time
+ Configure hot reload
+ After the configuration is modified and released, the client receives the newly released configuration within 300 milliseconds
+ High remote connection efficiency
+ The remote communication of the whole structure adopts grpc connection and tls encryption, which is efficient and safe. You can customize the encryption certificate.
## Quick start
**deploy**
1. Clone the code repository
```shell
$ git clone .git
```
2. Start the service
In the root directory of flying, create a service through docker-compose
```shell
$ cd flying
$ docker-compose -f ./deployments/docker-compose/docker-compose.yml up
```
Through the above command, you can access from http://localhost:8888/, the default account: admin/123456
After startup, configure the environment to connect to the server through the graphical interface of the management terminal. Note that the default network of docker is bridge, and you cannot connect directly with the localhost:8881 address. Access directly by name in the docker0 bridge of the bridge, Please use `flying-config:8881` or `{local ip}:8881` connection.
When connecting to the management server, the environment name should be defined as follows.
- DEV
- Development environment
- FAT
- Test environment, equivalent to alpha environment (functional test)
- UAT
- Integrated environment, equivalent to beta environment (regression testing)
- PRO
- Production Environment
Note: The docker-compose deployment method is only suitable for testing. For real production use, please use the HA database.
>It is recommended that the management end and the server end use containers for convenient and efficient deployment. The deployment scripts of docker-compase and kubernetes can be found in the /deployments directory. Of course, it can also be deployed via binary.
**SDK docking**
+ Java client
1. Add the flying-client maven package file to your springboot project:
```xml
<dependency>
<groupId>com.github.zhangchengji</groupId>
<artifactId>flying-client</artifactId>
<version>1.0.0</version>
</dependency>
```
Imported successfully
2. Change application.yml to bootstrap.yml in springboot
3. Add configuration in the bootstrap.yml file:
```yml
spring:
profiles:
active: ${ACTIVE:dev} # Configure the startup environment, if the environment variable $ACTIVE is configured with the environment name, then the $ACTIVE will be used by default
flying:
bootstrap:
app-id: scaffold-user #Current own project name
enabled: true # Whether to open the flying configuration center, the default is false
refresh-enabled: true # Whether to enable real-time configuration update, default is false
namespace: default # The namespace name of the current project configuration information configured on the server side, there can be multiple, separated by multiple commas
address: # Configure multiple environments, the environment loading configuration will be selected according to the spring.profiles.active environment name at startup
- name: uat # environment name
url: flying-config.flying.svc:8881 #Environment address (server address)
```
Please view the flying example: -example
+ golang client
Undeveloped.....
## kubernetes multiple environments
+ When using the flying configuration center in multiple kubernetes clusters, it is recommended to only establish the flying-admin management terminal in the internal network/test environment, and then expose the grpc encrypted connection address of the flying-config server in each cluster through the dedicated line or external network ip.
+ When the microservices in each cluster connect to flying-config, it is recommended to use the kubernetes service attribute name to connect, for example: `flying-config.flying.svc:8881`
## License
This project has obtained [Apache 2 License](/blob/master/LICENSE).
## User registration
> Users are welcome to register in [/issues/1](/issues/1)
| | | | |
| ---- | ---- | ---- | ---- |
| | | | |
| | | | |
| | | | |
## contact us
Email 380702562@qq.com
免责声明:
1.本资源仅供学习和交流使用,不保证其准确性、完整性、及时性或适用性。
2.本资源仅包含一般信息,不构成专业建议。在使用本资源时,请务必自行研究并谨慎决策。
3.我已尽力确保本资源的正确性和合法性,但不对其准确性、完整性和及时性做出保证。
4.本资源不应用于商业用途。
5.在使用本资源的过程中,用户应自行承担所有风险和责任,并遵守相关法律法规。
6.对于因使用本资源而产生的任何损失或损害,我概不负责。
请确保在使用本资源时仔细阅读并遵守以上免责声明。如果您有任何疑问或需要进一步帮助,请联系我。
没有合适的资源?快使用搜索试试~ 我知道了~
Cloud-native microservices multi-environment conf-flying.zip
共324个文件
go:142个
java:51个
vue:32个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 194 浏览量
2024-01-31
20:29:34
上传
评论
收藏 1.51MB ZIP 举报
温馨提示
Cloud-native microservices multi-environment conf-flying
资源推荐
资源详情
资源评论
收起资源包目录
Cloud-native microservices multi-environment conf-flying.zip (324个子文件)
my.cnf 344B
chunk-vendors.91d0c77f.css 472KB
app.406b442c.css 14KB
iconfont.css 2KB
chunk-71367435.333692a6.css 678B
views.d79abcd1.css 413B
chunk-45816a6a.05e46402.css 97B
chunk-64ee6246.45244dfd.css 52B
Dockerfile 738B
Dockerfile 701B
iconfont.eot 2KB
spring.factories 266B
.gitignore 461B
namespace_service.pb.go 19KB
namespace_service.pb.go 19KB
namespace_service.pb.go 15KB
release_service.pb.go 15KB
release_service.pb.go 15KB
app_service.pb.go 14KB
app_service.pb.go 14KB
app_service.pb.go 14KB
common.pb.go 13KB
common.pb.go 13KB
common.pb.go 13KB
client_service.pb.go 12KB
client_service.pb.go 11KB
client_service.pb.go 11KB
client_service.pb.gw.go 10KB
namespace_model.pb.go 9KB
namespace_model.pb.go 9KB
release_model.pb.go 9KB
release_model.pb.go 9KB
app.go 9KB
namespace_model.pb.go 9KB
client_model.pb.go 8KB
client_model.pb.go 8KB
client_model.pb.go 7KB
namespace.go 7KB
validator.go 7KB
node.go 7KB
service.pb.go 7KB
service.pb.go 7KB
service.pb.go 7KB
namespace.go 6KB
release_model.pb.go 6KB
app_model.pb.go 6KB
app_model.pb.go 6KB
app_model.pb.go 6KB
release_service.pb.go 6KB
namespace.go 6KB
logger.go 5KB
logger.go 5KB
namespace.go 5KB
release.go 4KB
namespace.go 4KB
app.go 4KB
user.go 4KB
node.go 4KB
jwt.go 4KB
gorm.go 4KB
gorm.go 4KB
appNode.go 3KB
zap.go 3KB
zap.go 3KB
event.go 3KB
constants.go 3KB
node.go 3KB
app.go 3KB
release.go 3KB
release.go 3KB
constants.go 3KB
app.go 3KB
gateway.go 2KB
release.go 2KB
recovery.go 2KB
client.go 2KB
response.go 2KB
namespace.go 2KB
release.go 2KB
release.go 2KB
router.go 2KB
server.go 2KB
response.go 2KB
app.go 2KB
jwt_black_list.go 1KB
verify.go 1KB
viper.go 1KB
viper.go 1KB
cache.go 1KB
listener.go 1KB
conn.go 1KB
cache.go 1KB
appNode.go 1KB
namespace.go 1KB
notify.go 1KB
node.go 991B
node.go 983B
options.go 958B
directory.go 921B
directory.go 920B
共 324 条
- 1
- 2
- 3
- 4
资源评论
武昌库里写JAVA
- 粉丝: 3830
- 资源: 2934
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功