Consul 注册中心接入

<p class="shortdesc">本示例快速上手 Consul 接入注册中心,应用微服务化,方便微服务信息注册与发现。</p> <section class="section prereq" id="dc_apaas_cfg_0137__prereq_i4d_3yj_fsb"><div class="tasklabel"><h2 class="doc-tairway">前提条件</h2></div> <p class="p">在开始开发前,请确保您已经完成以下工作:</p> <ul class="ul" id="dc_apaas_cfg_0137__ul_ojn_3yj_fsb"> <li class="li">成功运行Hello world。</li> <li class="li">已准备好 Consul 注册中心。</li> </ul> </section> <section><div class="tasklabel"><h2 class="doc-tairway">操作步骤</h2></div><ol class="ol steps"><li class="li step stepexpand"> <span class="ph cmd"><strong class="ph b">pom.xml文件配置</strong></span> <div class="itemgroup info"> <p class="p">pom.xml引入pafa-cloud-service-starter、spring-cloud-starter-consul-discovery,排除spring-cloud-starter-netflix-eureka-client依赖。</p> <p class="p">核心框架 1.10.13.RELEASE 2.6.14.RELEASE HT2.2.9.RELEASE HT2.3.2.RELEASE 及以上版本支持。</p> <div class="p"> <pre class="pre codeblock" id="dc_apaas_cfg_0137__codeblock_qml_kyj_fsb"><code><dependencies> <dependency> <groupId>com.pingan.pafa.cloud</groupId> <artifactId>pafa-cloud-service-starter</artifactId> <exclusions> <exclusion> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-consul-discovery</artifactId> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>com.pingan.pafa.cloud</groupId> <artifactId>pafa-cloud-dependencies</artifactId> <version>{版本参考核心框架简介}</version> <type>pom</type> <scope>import</scope> </dependency> <!-- pafa cloud 1.X.RELEASE请添加如下依赖管理 --> <dependency> <groupId>com.ecwid.consul</groupId> <artifactId>consul-api</artifactId> <version>1.4.5</version> </dependency> </dependencies> </dependencyManagement></code></pre> </div> </div> </li><li class="li step stepexpand"> <span class="ph cmd"><strong class="ph b">bootstrap配置文件</strong></span> <div class="itemgroup info">示例:<div class="p"> <pre class="pre codeblock" id="dc_apaas_cfg_0137__codeblock_qy5_4yj_fsb"><code>spring: application: name: service-a cloud: consul: enabled: true host: localhost port: 8500 discovery: preferIpAddress: true pafa-cloud: namespace-enabled: true namespace: stg2 ignore-management: true</code></pre> </div><table class="table" id="dc_apaas_cfg_0137__table_xrx_pyj_fsb"><caption></caption><colgroup><col><col><col><col></colgroup><thead class="thead"> <tr class="row"> <th class="entry align-left" id="dc_apaas_cfg_0137__table_xrx_pyj_fsb__entry__1"> <p class="p">名称</p> </th> <th class="entry align-left" id="dc_apaas_cfg_0137__table_xrx_pyj_fsb__entry__2"> <p class="p">是否必填</p> </th> <th class="entry align-left" id="dc_apaas_cfg_0137__table_xrx_pyj_fsb__entry__3"> <p class="p">说明</p> </th> <th class="entry align-left" id="dc_apaas_cfg_0137__table_xrx_pyj_fsb__entry__4"> <p class="p">默认值</p> </th> </tr> </thead><tbody class="tbody"> <tr class="row"> <td class="entry align-left" headers="dc_apaas_cfg_0137__table_xrx_pyj_fsb__entry__1 "> <p class="p">spring.application.name</p> </td> <td class="entry align-left" headers="dc_apaas_cfg_0137__table_xrx_pyj_fsb__entry__2 "> <p class="p">是</p> </td> <td class="entry align-left" headers="dc_apaas_cfg_0137__table_xrx_pyj_fsb__entry__3 "> <p class="p">服务名称</p> </td> <td class="entry align-left" headers="dc_apaas_cfg_0137__table_xrx_pyj_fsb__entry__4 "></td> </tr> <tr class="row"> <td class="entry align-left" headers="dc_apaas_cfg_0137__table_xrx_pyj_fsb__entry__1 "> <p class="p">spring.cloud.consul.enabled</p> </td> <td class="entry align-left" headers="dc_apaas_cfg_0137__table_xrx_pyj_fsb__entry__2 "> <p class="p">否</p> </td> <td class="entry align-left" headers="dc_apaas_cfg_0137__table_xrx_pyj_fsb__entry__3 "> <p class="p">是否使用consul</p> </td> <td class="entry align-left" headers="dc_apaas_cfg_0137__table_xrx_pyj_fsb__entry__4 "> <p class="p">true</p> </td> </tr> <tr class="row"> <td class="entry align-left" headers="dc_apaas_cfg_0137__table_xrx_pyj_fsb__entry__1 "> <p class="p">spring.cloud.consul.host</p> </td> <td class="entry align-left" headers="dc_apaas_cfg_0137__table_xrx_pyj_fsb__entry__2 "> <p class="p">是</p> </td> <td class="entry align-left" headers="dc_apaas_cfg_0137__table_xrx_pyj_fsb__entry__3 "> <p class="p">consul的主机地址</p> </td> <td class="entry align-left" headers="dc_apaas_cfg_0137__table_xrx_pyj_fsb__entry__4 "> <p class="p">无</p> </td> </tr> <tr class="row"> <td class="entry align-left" headers="dc_apaas_cfg_0137__table_xrx_pyj_fsb__entry__1 "> <p class="p">spring.cloud.consul.port</p> </td> <td class="entry align-left" headers="dc_apaas_cfg_0137__table_xrx_pyj_fsb__entry__2 "> <p class="p">是</p> </td> <td class="entry align-left" headers="dc_apaas_cfg_0137__table_xrx_pyj_fsb__entry__3 "> <p class="p">consul的端口</p> </td> <td class="entry align-left" headers="dc_apaas_cfg_0137__table_xrx_pyj_fsb__entry__4 "> <p class="p">无</p> </td> </tr> <tr class="row"> <td class="entry align-left" headers="dc_apaas_cfg_0137__table_xrx_pyj_fsb__entry__1 "> <p class="p">spring.cloud.consul.discovery.preferIpAddress</p> </td> <td class="entry align-left" headers="dc_apaas_cfg_0137__table_xrx_pyj_fsb__entry__2 "> <p class="p">否</p> </td> <td class="entry align-left" headers="dc_apaas_cfg_0137__table_xrx_pyj_fsb__entry__3 "> <p class="p">是否优先使用IP地址注册</p> </td> <td class="entry align-left" headers="dc_apaas_cfg_0137__table_xrx_pyj_fsb__entry__4 "> <p class="p">false</p> </td> </tr> <tr class="row"> <td class="entry align-left" headers="dc_apaas_cfg_0137__table_xrx_pyj_fsb__entry__1 "> <p class="p">spring.cloud.consul.discovery.pafa-cloud.namespace-enabled</p> </td> <td class="entry align-left" headers="dc_apaas_cfg_0137__table_xrx_pyj_fsb__entry__2 "> <p class="p">否</p> </td> <td class="entry align-left" headers="dc_apaas_cfg_0137__table_xrx_pyj_fsb__entry__3 "> <p class="p">是否开启支持consul namespace隔离</p> </td> <td class="entry align-left" headers="dc_apaas_cfg_0137__table_xrx_pyj_fsb__entry__4 "> <p class="p">false</p> </td> </tr> <tr class="row"> <td class="entry align-left" headers="dc_apaas_cfg_0137__table_xrx_pyj_fsb__entry__1 "> <p class="p">spring.cloud.consul.discovery.pafa-cloud.namespace</p> </td> <td class="entry align-left" headers="dc_apaas_cfg_0137__table_xrx_pyj_fsb__entry__2 "> <p class="p">否</p> </td> <td class="entry align-left" headers="dc_apaas_cfg_0137__table_xrx_pyj_fsb__entry__3 "> <p class="p">namespace 值,需开启 namespace 隔离</p> </td> <td class="entry align-left" headers="dc_apaas_cfg_0137__table_xrx_pyj_fsb__entry__4 "> <p class="p">false</p> </td> </tr> </tbody></table></div> </li></ol></section> <section class="section postreq" id="dc_apaas_cfg_0137__postreq_ur5_yjr_fsb"><div class="tasklabel"><h2 class="doc-tairway">后续操作</h2></div> <p class="p">如果同时引用了eureka、consul的注册中心starter包,因不支持多注册中心,应用启动会报错。解决方式:可配置禁止启动eureka即可,请在配置bootstrap文件。</p> <p class="p">示例:</p> <pre class="pre codeblock" id="dc_apaas_cfg_0137__codeblock_uwl_tyj_fsb"><code>eureka: client: enabled: false</code></pre> <table class="table" id="dc_apaas_cfg_0137__table_izs_5yj_fsb"><caption></caption><colgroup><col><col><col><col></colgroup><thead class="thead"> <tr class="row"> <th class="entry" id="dc_apaas_cfg_0137__table_izs_5yj_fsb__entry__1">名称</th> <th class="entry" id="dc_apaas_cfg_0137__table_izs_5yj_fsb__entry__2">是否必填</th> <th class="entry" id="dc_apaas_cfg_0137__table_izs_5yj_fsb__entry__3">说明</th> <th class="entry" id="dc_apaas_cfg_0137__table_izs_5yj_fsb__entry__4">默认值</th> </tr> </thead><tbody class="tbody"> <tr class="row"> <td class="entry" headers="dc_apaas_cfg_0137__table_izs_5yj_fsb__entry__1 "> <p class="p">eureka.client.enabled</p> </td> <td class="entry" headers="dc_apaas_cfg_0137__table_izs_5yj_fsb__entry__2 "> <p class="p">否</p> </td> <td class="entry" headers="dc_apaas_cfg_0137__table_izs_5yj_fsb__entry__3 "> <p class="p">是否启用eureka</p> </td> <td class="entry" headers="dc_apaas_cfg_0137__table_izs_5yj_fsb__entry__4 "> <p class="p">true</p> </td> </tr> </tbody></table> </section>
以上内容是否解决了您的问题?
请补全提交信息!
联系我们

电话咨询

400-151-8800

邮件咨询

fincloud@ocft.com

在线客服

工单支持

解决云产品相关技术问题