简单来说,1.5.0版本以上的需要改两个地方
- 改动configservice模块的配置文件application-github.properties中
apollo.eureka.server.enabled=false
- config DB中的serverconfig表的eureka.service.url字段改成自己的eureka路径
-
官网上的解释是这样的
Apollo默认自带了Eureka作为内部的注册中心实现,一般情况下不需要考虑为Apollo单独部署注册中心。
不过有些公司自己已经有了一套Eureka,如果希望把Apollo的Config Service和Admin Service也注册过去实现统一管理的话,可以按照如下步骤操作:
1、配置configservice不启动内置Eureka Server
-
1.5.0之后的版本
为apollo-configservice配置apollo.eureka.server.enabled=false即可,通过bootstrap.yml或-D参数等方式皆可。
-
1.5.0之前的版本
修改com.ctrip.framework.apollo.configservice.ConfigServiceApplication,@EnableEurekaServer改为@EnableEurekaClient
@EnableEurekaClient
@EnableAspectJAutoProxy
@EnableAutoConfiguration // (exclude = EurekaClientConfigBean.class) @Configuration @EnableTransactionManagement
@PropertySource(value = {"classpath:configservice.properties"}) @ComponentScan(basePackageClasses = {ApolloCommonConfig.class, ApolloBizConfig.class, ConfigServiceApplication.class, ApolloMetaServiceConfig.class})
public class ConfigServiceApplication { ... }
2、修改apolloconfigdb.ServerConfig表中的eureka.service.url,指向自己的Eureka地址
比如自己的Eureka服务地址是1.1.1.1:8761和2.2.2.2:8761,那么就将ApolloConfigDB.ServerConfig表中设置eureka.service.url为:
http://1.1.1.1:8761/eureka/,http://2.2.2.2:8761/eureka/
需要注意的是更改Eureka地址只需要改ApolloConfigDB.ServerConfig表中的eureka.service.url即可,不需要修改meta server地址。
默认情况下,meta service和config service是部署在同一个JVM进程,所以meta service的地址就是config service的地址,修改Eureka地址时不需要修改meta server地址。