主要观点:在现代微服务架构中,可将多个应用的公共配置数据集中管理并分发到所有服务,HashiCorp Consul 提供此解决方案。
关键信息:
- 集中配置的好处包括对所有服务的集中管理、服务特定配置等。
- 架构包含 Consul 服务器和用户应用(消费者应用)两个组件。
- 在 Consul 中可通过仪表盘或 CLI 添加键值对形式的配置,如添加了不同环境和服务的配置。
- 用户应用需添加依赖以实现与 Consul 的通信和共享配置,包括配置文件中的各项设置,如主机、端口等。
- 通过
@RefreshScope可实现配置的自动刷新。
重要细节: - 在 Consul 中,不同的键值对分别对应不同环境和服务的配置,如
config/user-app,dev/app.properties为user-app的开发环境配置。 - 用户应用的配置文件中各项配置的作用及相互关系,如通过前缀、应用名、配置文件名称等确定要获取的配置。
- 测试时调用
getStatusAPI 可获取从 Consul 加载的配置数据,更新 Consul 中的值后下次调用该 API 可获取新更新的数据。示例项目在repository。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。