Zookeeper 注册中心接入
<p class="shortdesc">本示例快速上手 ZooKeeper 接入注册中心,适用于应用微服务化,方便微服务信息注册与发现。</p>
<section class="section prereq" id="Zookeeper__prereq_trf_kjr_fsb"><div class="tasklabel"><h2 class="doc-tairway">前提条件</h2></div>
<div class="p">在开始开发前,请确保您已经完成以下工作:<ul class="ul" id="Zookeeper__ul_ocf_ljr_fsb">
<li class="li">成功运行Hello world。</li>
<li class="li">已准备好 Zookeeper 注册中心。</li>
</ul></div>
</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-zookeeper-discovery,排除spring-cloud-starter-netflix-eureka-client依赖。</p>
<p class="p">核心框架 2.6.14.RELEASE HT2.2.9.RELEASE HT2.3.2.RELEASE 及以上版本支持。</p>
<div class="p">
<pre class="pre codeblock" id="Zookeeper__codeblock_ihr_4jr_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-zookeeper-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>
</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="Zookeeper__codeblock_i3c_rjr_fsb"><code>spring:
application:
name: service-a
cloud:
zookeeper:
enabled: true
connect-string: <替换为zookeeper连接串>
discovery:
enabled: true</code></pre>
</div>
<table class="table" id="Zookeeper__table_srp_rjr_fsb"><caption></caption><colgroup><col><col><col><col></colgroup><thead class="thead">
<tr class="row">
<th class="entry" id="Zookeeper__table_srp_rjr_fsb__entry__1">
<p class="p">名称</p>
</th>
<th class="entry" id="Zookeeper__table_srp_rjr_fsb__entry__2">
<p class="p">是否必填</p>
</th>
<th class="entry" id="Zookeeper__table_srp_rjr_fsb__entry__3">
<p class="p">说明</p>
</th>
<th class="entry" id="Zookeeper__table_srp_rjr_fsb__entry__4">
<p class="p">默认值</p>
</th>
</tr>
</thead><tbody class="tbody">
<tr class="row">
<td class="entry" headers="Zookeeper__table_srp_rjr_fsb__entry__1 ">
<p class="p">spring.application.name</p>
</td>
<td class="entry" headers="Zookeeper__table_srp_rjr_fsb__entry__2 ">
<p class="p">是</p>
</td>
<td class="entry" headers="Zookeeper__table_srp_rjr_fsb__entry__3 ">
<p class="p">服务名称</p>
</td>
<td class="entry" headers="Zookeeper__table_srp_rjr_fsb__entry__4 ">
<p class="p">无</p>
</td>
</tr>
<tr class="row">
<td class="entry" headers="Zookeeper__table_srp_rjr_fsb__entry__1 ">
<p class="p">spring.cloud.zookeeper.enabled</p>
</td>
<td class="entry" headers="Zookeeper__table_srp_rjr_fsb__entry__2 ">
<p class="p">否</p>
</td>
<td class="entry" headers="Zookeeper__table_srp_rjr_fsb__entry__3 ">
<p class="p">是否使用zookeeper</p>
</td>
<td class="entry" headers="Zookeeper__table_srp_rjr_fsb__entry__4 ">
<p class="p">true</p>
</td>
</tr>
<tr class="row">
<td class="entry" headers="Zookeeper__table_srp_rjr_fsb__entry__1 ">
<p class="p">spring.cloud.zookeeper.connect-string</p>
</td>
<td class="entry" headers="Zookeeper__table_srp_rjr_fsb__entry__2 ">
<p class="p">是</p>
</td>
<td class="entry" headers="Zookeeper__table_srp_rjr_fsb__entry__3 ">
<p class="p">zookeeper 连接串</p>
</td>
<td class="entry" headers="Zookeeper__table_srp_rjr_fsb__entry__4 ">
<p class="p">无</p>
</td>
</tr>
<tr class="row">
<td class="entry" headers="Zookeeper__table_srp_rjr_fsb__entry__1 ">
<p class="p">spring.cloud.zookeeper.discovery.enabled</p>
</td>
<td class="entry" headers="Zookeeper__table_srp_rjr_fsb__entry__2 ">
<p class="p">否</p>
</td>
<td class="entry" headers="Zookeeper__table_srp_rjr_fsb__entry__3 ">
<p class="p">是否使用zookeeper</p>
</td>
<td class="entry" headers="Zookeeper__table_srp_rjr_fsb__entry__4 ">
<p class="p">true</p>
</td>
</tr>
</tbody></table>
</div>
</li></ol></section>
<section class="section postreq" id="Zookeeper__postreq_wfl_5jr_fsb"><div class="tasklabel"><h2 class="doc-tairway">后续操作</h2></div>
<p class="p">如果同时引用了eureka、zookeeper的注册中心starter包,因不支持多注册中心,应用启动会报错。解决方式:可配置禁止启动eureka即可,请在配置bootstrap文件</p>
<p class="p"><strong class="ph b">示例:</strong></p>
<div class="p">
<pre class="pre codeblock" id="Zookeeper__codeblock_zkm_vjr_fsb"><code>eureka:
client:
enabled: false</code></pre>
</div>
<table class="table" id="Zookeeper__table_bsb_wjr_fsb"><caption></caption><colgroup><col><col><col><col></colgroup><thead class="thead">
<tr class="row">
<th class="entry" id="Zookeeper__table_bsb_wjr_fsb__entry__1">名称</th>
<th class="entry" id="Zookeeper__table_bsb_wjr_fsb__entry__2">是否必填</th>
<th class="entry" id="Zookeeper__table_bsb_wjr_fsb__entry__3">说明</th>
<th class="entry" id="Zookeeper__table_bsb_wjr_fsb__entry__4">默认值</th>
</tr>
</thead><tbody class="tbody">
<tr class="row">
<td class="entry" headers="Zookeeper__table_bsb_wjr_fsb__entry__1 ">
<p class="p">eureka.client.enabled</p>
</td>
<td class="entry" headers="Zookeeper__table_bsb_wjr_fsb__entry__2 ">
<p class="p">否</p>
</td>
<td class="entry" headers="Zookeeper__table_bsb_wjr_fsb__entry__3 ">
<p class="p">是否启用eureka</p>
</td>
<td class="entry" headers="Zookeeper__table_bsb_wjr_fsb__entry__4 ">
<p class="p">true</p>
</td>
</tr>
</tbody></table>
</section>
提交成功!非常感谢您的反馈,我们会继续努力做到更好!