国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

SpringCloud學(xué)習(xí)筆記(四)_ZooKeeper注冊(cè)中心

這篇具有很好參考價(jià)值的文章主要介紹了SpringCloud學(xué)習(xí)筆記(四)_ZooKeeper注冊(cè)中心。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

基于Spring Cloud實(shí)現(xiàn)服務(wù)的發(fā)布與調(diào)用。而在18年7月份,Eureka2.0宣布停更了,將不再進(jìn)行開發(fā),所以對(duì)于公司技術(shù)選型來說,可能會(huì)換用其他方案做注冊(cè)中心。本章學(xué)習(xí)便是使用ZooKeeper作為注冊(cè)中心。

本章使用的zookeeper版本是 3.6.0

項(xiàng)目架構(gòu)圖如下:

SpringCloud學(xué)習(xí)筆記(四)_ZooKeeper注冊(cè)中心,SpringCloud,spring cloud,學(xué)習(xí),筆記

搭建服務(wù)提供者

1、新建一個(gè)maven項(xiàng)目(test-springcloud-provider-payment8004)

結(jié)構(gòu)如下:

SpringCloud學(xué)習(xí)筆記(四)_ZooKeeper注冊(cè)中心,SpringCloud,spring cloud,學(xué)習(xí),筆記

2、引入依賴,編輯pom文件

1 <!-- spring-cloud 整合 zookeeper -->
2 <dependency>
3     <groupId>org.springframework.cloud</groupId>
4     <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId>
5 </dependency>

完整pom文件如下:

SpringCloud學(xué)習(xí)筆記(四)_ZooKeeper注冊(cè)中心,SpringCloud,spring cloud,學(xué)習(xí),筆記SpringCloud學(xué)習(xí)筆記(四)_ZooKeeper注冊(cè)中心,SpringCloud,spring cloud,學(xué)習(xí),筆記

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project xmlns="http://maven.apache.org/POM/4.0.0"
 3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 5     <parent>
 6         <artifactId>test-springcloud</artifactId>
 7         <groupId>com.test</groupId>
 8         <version>1.0-SNAPSHOT</version>
 9     </parent>
10     <modelVersion>4.0.0</modelVersion>
11 
12     <artifactId>test-springcloud-provider-payment8004</artifactId>
13 
14     <dependencies>
15 
16         <!-- spring-cloud 整合 zookeeper -->
17         <dependency>
18             <groupId>org.springframework.cloud</groupId>
19             <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId>
20             <!-- 排除自帶的zookeeper jar包 -->
21             <exclusions>
22                 <exclusion>
23                     <groupId>org.apache.zookeeper</groupId>
24                     <artifactId>zookeeper</artifactId>
25                 </exclusion>
26             </exclusions>
27         </dependency>
28 
29         <!-- zookeeper 引入對(duì)應(yīng)版本的zookeeper -->
30         <dependency>
31             <groupId>org.apache.zookeeper</groupId>
32             <artifactId>zookeeper</artifactId>
33             <version>3.6.0</version>
34             <exclusions>
35                 <exclusion>
36                     <groupId>org.slf4j</groupId>
37                     <artifactId>slf4j-log4j12</artifactId>
38                 </exclusion>
39                 <exclusion>
40                     <groupId>log4j</groupId>
41                     <artifactId>log4j</artifactId>
42                 </exclusion>
43             </exclusions>
44         </dependency>
45 
46         <!-- spring boot -->
47         <dependency>
48             <groupId>org.springframework.boot</groupId>
49             <artifactId>spring-boot-starter-web</artifactId>
50         </dependency>
51         <dependency>
52             <groupId>org.springframework.boot</groupId>
53             <artifactId>spring-boot-starter-actuator</artifactId>
54         </dependency>
55 
56         <dependency>
57             <groupId>org.springframework.boot</groupId>
58             <artifactId>spring-boot-devtools</artifactId>
59             <scope>runtime</scope>
60             <optional>true</optional>
61         </dependency>
62         <dependency>
63             <groupId>org.projectlombok</groupId>
64             <artifactId>lombok</artifactId>
65             <optional>true</optional>
66         </dependency>
67 
68         <dependency>
69             <groupId>org.springframework.boot</groupId>
70             <artifactId>spring-boot-starter-test</artifactId>
71             <scope>test</scope>
72         </dependency>
73 
74     </dependencies>
75 
76     <build>
77         <finalName>test-springcloud-provider-payment8004</finalName>
78     </build>
79 
80 </project>

pom.xml

需要注意,由于通過spring-cloud-starter-zookeeper-discovery依賴引入的zookeeper jar包,于zookeeper服務(wù)器版本不一致導(dǎo)致的,導(dǎo)致項(xiàng)目啟動(dòng)失敗

報(bào)錯(cuò):Caused by: org.apache.zookeeper.KeeperException$UnimplementedException: KeeperErrorCode = Unimplemented for /services/xx/xxx

解決:引入對(duì)于版本的 zookeeper jar包,本章使用的zookeeper版本是3.6.0,所以引入zookeeper-3.6.0.jar,如下:

SpringCloud學(xué)習(xí)筆記(四)_ZooKeeper注冊(cè)中心,SpringCloud,spring cloud,學(xué)習(xí),筆記SpringCloud學(xué)習(xí)筆記(四)_ZooKeeper注冊(cè)中心,SpringCloud,spring cloud,學(xué)習(xí),筆記

 1 <!-- spring-cloud 整合 zookeeper -->
 2 <dependency>
 3     <groupId>org.springframework.cloud</groupId>
 4     <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId>
 5     <!-- 排除自帶的zookeeper jar包 -->
 6     <exclusions>
 7         <exclusion>
 8             <groupId>org.apache.zookeeper</groupId>
 9             <artifactId>zookeeper</artifactId>
10         </exclusion>
11     </exclusions>
12 </dependency>
13 
14 <!-- zookeeper 引入對(duì)應(yīng)版本的zookeeper -->
15 <dependency>
16     <groupId>org.apache.zookeeper</groupId>
17     <artifactId>zookeeper</artifactId>
18     <version>3.6.0</version>
19     <exclusions>
20         <exclusion>
21             <groupId>org.slf4j</groupId>
22             <artifactId>slf4j-log4j12</artifactId>
23         </exclusion>
24         <exclusion>
25             <groupId>log4j</groupId>
26             <artifactId>log4j</artifactId>
27         </exclusion>
28     </exclusions>
29 </dependency>

pom.xml

3、編輯配置文件application.yml

 1 # 端口
 2 server:
 3   port: 8004
 4 
 5 spring:
 6   application:
 7     name: cloud-payment-service
 8   cloud:
 9     zookeeper:
10       # 集群模式用逗號(hào)隔開
11       connect-string: 127.0.0.1:2181

4、編寫主啟動(dòng)類

1 // 啟用服務(wù)發(fā)現(xiàn)
2 @EnableDiscoveryClient
3 @SpringBootApplication
4 public class PaymentMain8004 {
5     public static void main(String[] args) {
6         SpringApplication.run(PaymentMain8004.class, args);
7     }
8 }

5、編寫Controller

 1 @RestController
 2 @Slf4j
 3 public class PaymentController {
 4 
 5     @Value("${server.port}")
 6     private String serverPort;
 7 
 8     @RequestMapping(value = "payment/zk")
 9     public String paymentzk(){
10         return "springcloud with zookeeper:" + serverPort + "\t" + UUID.randomUUID();
11     }
12 }

6、啟動(dòng)項(xiàng)目,測(cè)試

1)使用地址:http://localhost:8004/payment/zk

SpringCloud學(xué)習(xí)筆記(四)_ZooKeeper注冊(cè)中心,SpringCloud,spring cloud,學(xué)習(xí),筆記

2)使用zookeeper客戶端連接到zookeeper服務(wù)中,查看節(jié)點(diǎn)信息

SpringCloud學(xué)習(xí)筆記(四)_ZooKeeper注冊(cè)中心,SpringCloud,spring cloud,學(xué)習(xí),筆記

json格式如下:

SpringCloud學(xué)習(xí)筆記(四)_ZooKeeper注冊(cè)中心,SpringCloud,spring cloud,學(xué)習(xí),筆記SpringCloud學(xué)習(xí)筆記(四)_ZooKeeper注冊(cè)中心,SpringCloud,spring cloud,學(xué)習(xí),筆記

 1 {
 2     "name": "cloud-payment-service",
 3     "id": "4f3db6b1-7d3a-4b3e-ac7a-159289573440",
 4     "address": "192.168.1.4",
 5     "port": 8004,
 6     "sslPort": null,
 7     "payload": {
 8         "@class": "org.springframework.cloud.zookeeper.discovery.ZookeeperInstance",
 9         "id": "application-1",
10         "name": "cloud-payment-service",
11         "metadata": {}
12     },
13     "registrationTimeUTC": 1586166066913,
14     "serviceType": "DYNAMIC",
15     "uriSpec": {
16         "parts": [{
17             "value": "scheme",
18             "variable": true
19         }, {
20             "value": "://",
21             "variable": false
22         }, {
23             "value": "address",
24             "variable": true
25         }, {
26             "value": ":",
27             "variable": false
28         }, {
29             "value": "port",
30             "variable": true
31         }]
32     }
33 }

View Code

7、測(cè)試zookeeper的服務(wù)節(jié)點(diǎn)是臨時(shí)節(jié)點(diǎn)還是永久節(jié)點(diǎn)?

通過關(guān)閉應(yīng)用服務(wù),在zookeeper客戶端中是用命令:ls /services/cloud-payment-service,

查看服務(wù)之后存在,然后啟動(dòng)服務(wù),查看節(jié)點(diǎn)ID是否相同

SpringCloud學(xué)習(xí)筆記(四)_ZooKeeper注冊(cè)中心,SpringCloud,spring cloud,學(xué)習(xí),筆記

通過測(cè)試驗(yàn)證:zookeeper的服務(wù)節(jié)點(diǎn)是臨時(shí)節(jié)點(diǎn)

搭建服務(wù)消費(fèi)者

1、新建一個(gè)maven項(xiàng)目(test-springcloud-order7999)

項(xiàng)目結(jié)構(gòu)如下:

SpringCloud學(xué)習(xí)筆記(四)_ZooKeeper注冊(cè)中心,SpringCloud,spring cloud,學(xué)習(xí),筆記

2、引入pom依賴,同上(與服務(wù)提供者依賴相同)

3、編輯application.yml文件

 1 # 端口
 2 server:
 3   port: 7999
 4 
 5 spring:
 6   application:
 7     name: cloud-order
 8   cloud:
 9     zookeeper:
10       connect-string: 127.0.0.1

4、編寫主啟動(dòng)類

1 @SpringBootApplication
2 public class OrderMain7999 {
3     public static void main(String[] args) {
4         SpringApplication.run(OrderMain7999.class, args);
5     }
6 }

5、編輯配置類,注入RestTemplate對(duì)象

 1 @Configuration
 2 public class AppConfig {
 3 
 4     /**
 5      * 注入restTemplate,請(qǐng)用請(qǐng)求rest接口
 6      * @return
 7      */
 8     @Bean
 9     // 標(biāo)注此注解后,RestTemplate就具有了客戶端負(fù)載均衡能力
10     // 負(fù)載均衡技術(shù)依賴于的是Ribbon組件~
11     // RestTemplate都塞入一個(gè)loadBalancerInterceptor 讓其具備有負(fù)載均衡的能力
12     @LoadBalanced
13     public RestTemplate restTemplate(){
14         return new RestTemplate();
15     }
16 }

6、編輯Controller

 1 @RestController
 2 @Slf4j
 3 public class OrderController {
 4 
 5     public static final String PAYMENT_URL = "http://cloud-payment-service";
 6 
 7     @Autowired
 8     private RestTemplate restTemplate;
 9 
10     @GetMapping("/consumer/payment/zk")
11     public String paymentzk(){
12         return restTemplate.getForObject(PAYMENT_URL + "/payment/zk", String.class);
13     }
14 
15 }

7、啟動(dòng)項(xiàng)目測(cè)試

1)訪問地址:http://localhost:7999/consumer/payment/zk

SpringCloud學(xué)習(xí)筆記(四)_ZooKeeper注冊(cè)中心,SpringCloud,spring cloud,學(xué)習(xí),筆記

2)使用zookeeper客戶端登錄zookeeper服務(wù)器查看

SpringCloud學(xué)習(xí)筆記(四)_ZooKeeper注冊(cè)中心,SpringCloud,spring cloud,學(xué)習(xí),筆記文章來源地址http://www.zghlxwxcb.cn/news/detail-667842.html

到了這里,關(guān)于SpringCloud學(xué)習(xí)筆記(四)_ZooKeeper注冊(cè)中心的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • SpringCloud學(xué)習(xí)筆記(上):服務(wù)注冊(cè)與發(fā)現(xiàn):Eureka、Zookeeper、Consul+負(fù)載均衡服務(wù)調(diào)用:Ribbon

    SpringCloud學(xué)習(xí)筆記(上):服務(wù)注冊(cè)與發(fā)現(xiàn):Eureka、Zookeeper、Consul+負(fù)載均衡服務(wù)調(diào)用:Ribbon

    SpringCloud=分布式微服務(wù)架構(gòu)的一站式解決方案,是多種微服務(wù)架構(gòu)落地技術(shù)的集合體,俗稱微服務(wù)全家桶。 springboot版本選擇: git源碼地址:https://github.com/spring-projects/spring-boot/releases/ SpringBoot2.0新特性:https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.0-Release springcloud版本選

    2024年02月08日
    瀏覽(23)
  • Spring Cloud學(xué)習(xí)筆記【消息總線-SpringCloud Bus】

    Spring Cloud學(xué)習(xí)筆記【消息總線-SpringCloud Bus】

    Spring Cloud Bus是Spring Cloud生態(tài)系統(tǒng)中的一個(gè)組件,用于實(shí)現(xiàn)微服務(wù)架構(gòu)中的消息總線。它利用了輕量級(jí)消息代理(如RabbitMQ或Kafka)作為通信中間件,實(shí)現(xiàn)了在分布式系統(tǒng)中的消息傳遞和事件廣播。 Spring Cloud Bus旨在簡(jiǎn)化微服務(wù)架構(gòu)中的配置管理和狀態(tài)同步。它允許將配置更改或

    2024年02月09日
    瀏覽(27)
  • Spring Cloud Alibaba 微服務(wù)2,注冊(cè)中心演變 + Nacos注冊(cè)中心與配置中心

    Spring Cloud Alibaba 微服務(wù)2,注冊(cè)中心演變 + Nacos注冊(cè)中心與配置中心

    ??作者簡(jiǎn)介: 哪吒 ,CSDN2022博客之星Top1、CSDN2021博客之星Top2、多屆新星計(jì)劃導(dǎo)師?、博客專家?? , 專注Java硬核干貨分享,立志做到Java賽道全網(wǎng)Top N。 ??本文收錄于 Java基礎(chǔ)教程系列(進(jìn)階篇) ,本專欄是針對(duì)大學(xué)生、初級(jí)Java工程師精心打造, 針對(duì)Java生態(tài),逐個(gè)擊破,

    2024年02月02日
    瀏覽(1681)
  • Spring Cloud 之注冊(cè)中心 Eureka 精講

    Spring Cloud 之注冊(cè)中心 Eureka 精講

    ?? 簡(jiǎn)介:java系列技術(shù)分享(??持續(xù)更新中…??) ?? 初衷:一起學(xué)習(xí)、一起進(jìn)步、堅(jiān)持不懈 ?? 如果文章內(nèi)容有誤與您的想法不一致,歡迎大家在評(píng)論區(qū)指正?? ?? 希望這篇文章對(duì)你有所幫助,歡迎點(diǎn)贊 ?? 收藏 ?留言 ?? ?? 更多文章請(qǐng)點(diǎn)擊 Spring Cloud 官網(wǎng):https://spring.io/proj

    2024年02月12日
    瀏覽(95)
  • Spring Cloud Gateway集成Nacos作為注冊(cè)中心和配置中心

    本篇文章將介紹Spring Cloud Alibaba體系下Spring Cloud Gateway的搭建,服務(wù)注冊(cè)中心和分布式配置中心使用Nacos,后續(xù)將會(huì)持續(xù)更新,介紹集成Sentinel,如何做日志鏈路追蹤,如何做全鏈路灰度發(fā)布設(shè)計(jì),以及Spring Cloud Gateway的擴(kuò)展等。 ? Spring Boot,Spring Cloud,Discovery,Config等基礎(chǔ)依

    2024年02月11日
    瀏覽(510)
  • SpringCloud(H版&alibaba)框架開發(fā)教程,使用eureka,zookeeper,consul,nacos做注冊(cè)中心——附源碼(1)

    SpringCloud(H版&alibaba)框架開發(fā)教程,使用eureka,zookeeper,consul,nacos做注冊(cè)中心——附源碼(1)

    源碼地址:https://gitee.com/jackXUYY/springboot-example 創(chuàng)建訂單服務(wù),支付服務(wù),公共api服務(wù)(共用的實(shí)體),eureka服務(wù) 1.cloud-consumer-order80 2.cloud-provider-payment8001 3.cloud-api-commons 4.cloud-eureka-server7001 5.cloud-eureka-server7002 如圖所示 修改本地host映射 修改數(shù)據(jù)庫地址為自己的地址,并初始

    2024年02月03日
    瀏覽(23)
  • Springcloud筆記(2)-Eureka服務(wù)注冊(cè)中心

    Springcloud筆記(2)-Eureka服務(wù)注冊(cè)中心

    Eureka作為一個(gè)微服務(wù)的治理中心,它是一個(gè)服務(wù)應(yīng)用,可以接收其他服務(wù)的注冊(cè),也可以發(fā)現(xiàn)和治理服務(wù)實(shí)例。 服務(wù)治理中心是微服務(wù)(分布式)架構(gòu)中最基礎(chǔ)和最核心的功能組件,它主要對(duì)各個(gè)服務(wù)實(shí)例進(jìn)行管理,包括 服務(wù)注冊(cè)和服務(wù)發(fā)現(xiàn) 等 本文參考:springcloud教程 --

    2024年02月05日
    瀏覽(57)
  • 【Spring Cloud】深入理解 Eureka 注冊(cè)中心的原理、服務(wù)的注冊(cè)與發(fā)現(xiàn)

    【Spring Cloud】深入理解 Eureka 注冊(cè)中心的原理、服務(wù)的注冊(cè)與發(fā)現(xiàn)

    在微服務(wù)架構(gòu)中,服務(wù)的注冊(cè)與發(fā)現(xiàn)是至關(guān)重要的一環(huán)。為了實(shí)現(xiàn)這一目標(biāo),Eureka 注冊(cè)中心應(yīng)運(yùn)而生。在本篇文章中,我們將深入理解 Eureka 注冊(cè)中心的原理,以及探討服務(wù)的注冊(cè)與發(fā)現(xiàn)機(jī)制。 在微服務(wù)的協(xié)作中,服務(wù)之間的遠(yuǎn)程調(diào)用是常見的需求。然而,使用傳統(tǒng)的 Rest

    2024年02月08日
    瀏覽(85)
  • Spring Cloud Alibaba Nacos(服務(wù)注冊(cè)及配置中心)

    Nacos是由阿里巴巴提供的一款專門構(gòu)建云本地應(yīng)用的 動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、配置中心和服務(wù)管理平臺(tái) 。 在Spring Cloud Alibaba中常使用Nacos作為注冊(cè)中心和分布式配置中心。 ?(1)服務(wù)發(fā)現(xiàn)和管理 動(dòng)態(tài)服務(wù)發(fā)現(xiàn)是以服務(wù)為中心(例如微服務(wù)或云原生)體系結(jié)構(gòu)的關(guān)鍵。Nacos支持基于DN

    2024年02月16日
    瀏覽(97)
  • Spring Cloud Alibaba--Nacos服務(wù)注冊(cè)和配置中心

    Spring Cloud Alibaba--Nacos服務(wù)注冊(cè)和配置中心

    Nacos 是Dynamic Naming and Configuration Service的首字母簡(jiǎn)稱,一個(gè)更易于構(gòu)建云原生應(yīng)用的動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、配置管理和服務(wù)管理平臺(tái)。 Nacos的特性,官網(wǎng)解釋如下: 服務(wù)發(fā)現(xiàn)和服務(wù)健康監(jiān)測(cè) Nacos 支持基于 DNS 和基于 RPC 的服務(wù)發(fā)現(xiàn)。服務(wù)提供者使用 原生SDK、OpenAPI、或一個(gè)獨(dú)立的Age

    2024年02月05日
    瀏覽(117)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包