一、部署Apollo
参考官方的部署指南:github.com/ctripcorp/a…
二、客户端连接
因为我的Apollo是部署在阿里云上的,所以在本地测试的时候需要指定JVM参数
-Dapollo.configService=http://config-service的公网IP:端口
来跳过meta service的服务发现。
1.SpringBoot集成
-
application.properties
中配置要连接的appId
app.id = 100001 复制代码
-
指定当前Apollo客户端的Meta Server地址
建议通过在
server.properties
配置文件中指定apollo.meta=http://config-service-url
,使Meta Server和应用解耦。- 对于Mac/Linux,文件位置为
/opt/settings/server.properties
- 对于Windows,文件位置为
C:\opt\settings\server.properties
官方推荐对Meta Server做负载均衡。
- 对于Mac/Linux,文件位置为
2.配置Dubbo(v2.7.0)
2.1 全局配置
对于服务端和消费端公用的配置配置(全局配置)到Apollo一个公共的NameSpace
中,缺省的名称为dubbo。
在dubbo
中创建一个dubbo.properties
的key,value就是我们的配置内容。例如
dubbo.consumer.check=false
dubbo.registry.address = zookeeper://localhost:2181
dubbo.registry.check = false
dubbo.registry.simplified = true ## 简化注册中心url
dubbo.protocol.name = dubbo
dubbo.protocol.port = 20880
dubbo.protocol.dispatcher = message ## 消息派发策略
## 元数据中心
dubbo.metadata-report.address = redis://localhost:6379
dubbo.metadata-report.retry-times = 30
dubbo.metadata-report.retry-period = 5000
dubbo.metadata-report.cycle-report = false
复制代码
2.2 应用配置
在application
中配置应用级别的配置
2.3 应用本身配置
在SpringBoot本身的appilcation.properties
中配置:
app.id = 100001
# 可选
apollo.meta=http://config-service-url
# 开启apollo名空间的自动注入,缺省注入application
apollo.bootstrap.enabled = true
# 如果要引入其他的namespaces 则配置
# apollo.bootstrap.namespaces = application,javaConfig
# dubbo 配置中心地址
dubbo.config-center.address= apollo://39.106.170.184:8080
# dubbo namespace 缺省为dubbo
dubbo.config-center.namespaces = dubbo
# 配置中心的配置覆盖本地配置
dubbo.config-center.highest-priority = false
# 全局级配置文件所映射到的key
# zookeeper - 默认路径/dubbo/config/dubbo/dubbo.properties
# apollo - dubbo namespace中的dubbo.properties键
dubbo.config-center.config-file = dubbo.properties
复制代码
参考文章: