因为我的Apollo是部署在阿里云上的,所以在本地测试的时候需要指定JVM参数 -Dapollo.configService=http://config-service的公网IP:端口
来跳过meta service的服务发现。
application.properties
中配置要连接的 appId
app.id = 100001 复制代码
指定当前Apollo客户端的Meta Server地址
建议通过在 server.properties
配置文件中指定 apollo.meta=http://config-service-url
,使Meta Server和应用解耦。
/opt/settings/server.properties C:/opt/settings/server.properties
官方推荐对Meta Server做负载均衡。
对于服务端和消费端公用的配置配置(全局配置)到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 复制代码
在 application
中配置应用级别的配置
在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 复制代码