今天看啥  ›  专栏  ›  克里斯朵夫李维

Dubbo-SpringBoot使用Apollo配置中心

克里斯朵夫李维  · 掘金  ·  · 2019-06-22 03:45
阅读 15

Dubbo-SpringBoot使用Apollo配置中心

一、部署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做负载均衡。

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
复制代码

参考文章:

dubbo.apache.org/zh-cn/docs/…

dubbo.apache.org/zh-cn/docs/…




原文地址:访问原文地址
快照地址: 访问文章快照