转载

Dubbo-SpringBoot使用Apollo配置中心

因为我的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和应用解耦。

    /opt/settings/server.properties
    C:/opt/settings/server.properties
    

    官方推荐对Meta Server做负载均衡。

2.配置Dubbo(v2.7.0)

2.1 全局配置

对于服务端和消费端公用的配置配置(全局配置)到Apollo一个 公共的NameSpace 中,缺省的名称为dubbo。

Dubbo-SpringBoot使用Apollo配置中心

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 中配置应用级别的配置

Dubbo-SpringBoot使用Apollo配置中心

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
复制代码
原文  https://juejin.im/post/5d0855caf265da1b897ad1a1
正文到此结束
Loading...