03SpringCloudAlibaba服务注册中心—Zookeeper

news2024/9/24 1:19:13

目录

注册中心Zookeeper

五步曲:

zookeeper服务提供者

1、03-cloud-provider-payment-zookeeper-8004

2、pom.xml

3、改yum

4、主启动

5、业务类

测试1:

测试2:

服务节点是临时节点还是持久节点

        粗划分:

        细划分:     

此时: 

​ zookeeper服务消费者

1、03-cloud-consumer-order-eureka-80

2、pom.xml

3、改yum

4、主启动

5、业务类

config

controller

测试

访问测试地址


注册中心Zookeeper

        zookeeper是一个分布式协调工具,可以实现注册中心功能 

        zookeeper服务器取代Eureka服务器,zk作为服务注册中心

安装Zookeeper见博客:安装Zookeeper_gh_xiaohe的博客-CSDN博客

五步曲:

        1、建moudle

        2、改pom

        3、改yum

        4、主启动

        5、业务类

zookeeper服务提供者

1、03-cloud-provider-payment-zookeeper-8004

2、pom.xml

    <dependencies>
        <!-- SpringBoot整合Web组件 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- 引入自己定义的api通用包,可以使用Payment支付Entity -->
        <dependency>
            <groupId>com.gh</groupId>
            <artifactId>00-cloud-api-commons</artifactId>
            <version>${project.version}</version>
        </dependency>
        <!-- SpringBoot整合zookeeper客户端 -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

若出现依赖问题见博客: Maven依赖冲突_gh_xiaohe的博客-CSDN博客

3、改yum

#8004表示注册到zookeeper服务器的支付服务提供者端口号
server:
  port: 8004
#服务别名----注册zookeeper到注册中心名称
spring:
  application:
    name: 03-cloud-provider-payment-zookeeper-8004
  cloud:
    zookeeper:
      connect-string: xxx.xxx.xxx.xxx:2181

4、主启动

@SpringBootApplication
@EnableDiscoveryClient//该注解用于向使用consul或者zookeeper作为注册中心时注册服务
public class PaymentZookeeperMain8004 {
    public static void main(String[] args) {
        SpringApplication.run(PaymentZookeeperMain8004.class, args);
    }
}

5、业务类

/**
 * @author gh  Email:@2495140780qq.com
 * @Description
 * @date 2022-03-28-上午 11:09
 */
@RestController
@Slf4j
public class PaymentController {
    @Value("${server.port}")
    private String serverPort;

    @RequestMapping(value = "/payment/zk")
    public String paymentzk() {
        return "springcloud with zookeeper: " + serverPort + "\t" + UUID.randomUUID().toString();
    }
}

测试1:

     访问:http://localhost:8004/payment/zk

测试2:

[zk: localhost:2181(CONNECTED) 6] ls /
[services, zookeeper]
[zk: localhost:2181(CONNECTED) 7] ls /services/03-cloud-provider-payment-zookeeper-8004 
[4d4a95dd-81db-40bc-a953-287088b0057f]
[zk: localhost:2181(CONNECTED) 8] ls /services/03-cloud-provider-payment-zookeeper-8004/4d4a95dd-81db-40bc-a953-287088b0057f 
[]
[zk: localhost:2181(CONNECTED) 9] get /services/03-cloud-provider-payment-zookeeper-8004/4d4a95dd-81db-40bc-a953-287088b0057f 
{"name":"03-cloud-provider-payment-zookeeper-8004","id":"4d4a95dd-81db-40bc-a953-287088b0057f","address":"localhost","port":8004,"sslPort":null,"payload":{"@class":"org.springframework.cloud.zookeeper.discovery.ZookeeperInstance","id":"application-1","name":"03-cloud-provider-payment-zookeeper-8004","metadata":{}},"registrationTimeUTC":1648458730092,"serviceType":"DYNAMIC","uriSpec":{"parts":[{"value":"scheme","variable":true},{"value":"://","variable":false},{"value":"address","variable":true},{"value":":","variable":false},{"value":"port","variable":true}]}}

使用JSON工具转换 :json工具 - 在线工具

服务节点是临时节点还是持久节点

        粗划分:

                临时节点

                持久节点

        细划分:     

                临时节点

                带序号临时节点

                持久节点

                带序号持久节点

此时: 

        关闭程序后, 一段时间后无响应, 删除

        重新链接后,发现,服务名一致,但是流水号已经发生了改变   【临时节点】

 zookeeper服务消费者

1、03-cloud-consumer-order-zookeeper-80

2、pom.xml

    <dependencies>
        <!-- SpringBoot整合Web组件 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- SpringBoot整合zookeeper客户端 -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

3、改yum

#8004表示注册到zookeeper服务器的支付服务提供者端口号
server:
  port: 80
#服务别名----注册zookeeper到注册中心名称
spring:
  application:
    name: 03-cloud-consumer-order-eureka-80
  cloud:
    zookeeper:
      connect-string: xxx.xxx.xxx.xxx:2181

4、主启动

/**
 * @author gh  Email:@2495140780qq.com
 * @Description
 * @date 2022-03-28-下午 7:20
 */
@SpringBootApplication
@EnableDiscoveryClient
public class OrderZookeeperMain80 {

    public static void main(String[] args) {
        SpringApplication.run(OrderZookeeperMain80.class,args);
    }
}

5、业务类

config

/**
 * @author gh  Email:@2495140780qq.com
 * @Description
 * @date 2022-03-28-下午 7:22
 */
@Configuration
public class RestTemplateConfig {
    
    @Bean
    @LoadBalanced
    public RestTemplate restTemplate() {
        return new RestTemplate();
    }
}

controller

/**
 * @author gh  Email:@2495140780qq.com
 * @Description
 * @date 2022-03-28-下午 7:24
 */
@RestController
public class OrderZKController {

    public static final String INVOKE_URL = "http://03-cloud-provider-payment-zookeeper-8004";

    @Autowired
    private RestTemplate restTemplate;

    @GetMapping("consumer/payment/zk")
    public String paymentInfo() {
        return restTemplate.getForObject(INVOKE_URL + "/payment/zk", String.class);
    }
}

测试

访问测试地址

http://localhost/consumer/payment/zk

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/137734.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

南京晓庄Java期末知识点复习

南京晓庄Java期末知识点复习第一章 Java 语言概述第二章 Java 语法基础标识符基本数据类型**运算符****语句**数组和字符串命令行参数输入输出第三章 类五个基本概念类类的封装类的继承**抽象类**接口关键字常用的工具类第四章 Applet及其应用**Java程序的两种基本形式****Appl…

红队渗透靶场之prime1.0(超详细!)

靶场考察知识 Wordpress WordPress是一个免费的开源内容管理系统&#xff08;CMS&#xff09;&#xff0c;可以用来创建和管理网站或博客。它是由PHP语言和MySQL数据库构建的&#xff0c;并且拥有大量的插件和主题&#xff0c;可以让您轻松地自定义网站的外观和功能 Wpscan扫…

引用量超6000的语义分割经典论文DeepLabv3解读

分享语义分割领域的一篇经典论文DeepLabv3&#xff0c;由谷歌发表于CVPR2017。开源代码地址&#xff1a; Tensorflow版本&#xff1a;https://github.com/tensorflow/models/tree/master/research/deeplabPytorch版本&#xff1a;https://github.com/open-mmlab/mmsegmentatio…

【Spring 入门教程3】

Spring_day03 &#x1f308;博客主页&#xff1a;屠一乐的博客 &#x1f4c5; 发文时间&#xff1a;2023.1.3 &#x1f388; 一定存在只有你才能做成的事 &#x1f339; 博主水平有限&#xff0c;如有错误&#xff0c;欢迎指正 欢迎各位&#x1f44d;收藏&#x1f48e;评论✉ …

mysql简介

一.mysql简介 MySQL是一个关系型数据库管理系统&#xff0c;由瑞典MySQL AB 公司开发&#xff0c;目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一&#xff0c;在 WEB 应用方面&#xff0c;MySQL是最好的 RDBMS (Relational Database Management System&a…

TensorFlow之过拟合与欠拟合-3

1 基本概念 过度拟合&#xff08;overfit&#xff09; 正则化&#xff08;regularization&#xff09; L1正则化&#xff08;L1 regularization&#xff09; L2正则化&#xff08;L2 regularization&#xff09; 删除正则化&#xff08;dropout regularization&#xff09…

【计组】异常、CPU指令集--《深入浅出计算机组成原理》(五)

课程链接&#xff1a;深入浅出计算机组成原理_组成原理_计算机基础-极客时间 一、异常 &#xff08;一&#xff09;异常 异常其实是一个硬件和软件组合到一起的处理过程。异常的发生和捕捉&#xff0c;是在硬件层面完成的。但是异常的处理&#xff0c;是由软件来完成的。 …

【并发编程十】c++线程同步——条件变量(condition_variable)

【并发编程十】c线程同步——条件变量&#xff08;condition_variable&#xff09;一、互斥二、条件变量1、为何要引入条件变量?2、不使用条件变量3、使用条件变量3.1、互斥锁有什么问题&#xff1f;3.2、条件变量3.3、条件变量成员函数3.4、demo三、future四、信号量简介&…

【并发编程九】c++线程同步——互斥(mutex)

【并发编程九】c线程同步——互斥&#xff08;mutex&#xff09;一、互斥1、mutex1.1、mutex1.2、 lock_guard1.3、 RAII2、std::recursive_mutex3、std::shared_mutex、std::shared_lock、std::unique_lock4、std::scoped_lock二、条件变量三、future四、信号量简介&#xff1…

chrony服务器

Chrony是一个开源自由的网络时间协议 NTP 的客户端和服务器软软件。它能让计算机保持系统时钟与时钟服务器&#xff08;NTP&#xff09;同步&#xff0c;因此让你的计算机保持精确的时间&#xff0c;Chrony也可以作为服务端软件为其他计算机提供时间同步服务。 Chrony由两个程序…

【嵌入式Linux环境搭建-10】tftp服务安装、双网卡并行

10.tftp服务安装 板子有有线网卡&#xff0c;需有线连接到电脑 主机安装TFTP服务 $ sudo apt-get install xinetd tftpd tftp $ sudo vim /etc/xinetd.d/tftp /*添加下面内容, service tftp { protocol udp port 69 socket_type dgram wait …

aws lambda 理解RIC和RIE构建和测试容器镜像并通过cdk部署lambda函数

参考资料 AWS Lambda 的新功能 — 容器映像支持 快速构建基于 Lambda 容器镜像的 OCR 应用 利用 Lambda 容器镜像搭建分布式压测引擎 lambda容器镜像构建 可以将 Lambda 函数打包和部署最大 10 GB 的容器映像&#xff0c;轻松构建和部署依赖于大量依赖项的更大型工作负载 …

【Java核心技术】创建多线程

1、多线程的概述 什么是线程&#xff1f; 线程(thread)是一个程序内部的一条执行路径。 我们之前启动程序执行后&#xff0c;main方法的执行其实就是一条单独的执行路径。 public static void main(String[] args) {// 代码...for (int i 0; i < 10; i) {System.out.prin…

《柳叶刀》:约20%中国男性死亡可归因于吸烟

*仅供医学专业人士阅读参考 吸烟喝酒可谓众所周知的两大“健康刺客”。一首歌名为《给我一杯酒》中的歌词唱到“给我一杯酒&#xff0c;再给我一只烟&#xff0c;说走就走&#xff0c;我有的是时间”&#xff0c;传唱度极高&#xff0c;甚至还一度成为短视频平台的最热门的BGM之…

概论_第2章_重点内容__随机变量函数的概率分布

一 定义 概括地说&#xff1a; 随机变量Y是随机变量X的函数。 设g(x) 是一给定的连续函数&#xff0c; 称Yg(X) 为随机变量X的一个函数&#xff0c; Y也是一个随机变量。当X取值 时&#xff0c;Y取值 . ~~~~~~~~~~~~~~ 本文讨论连续型随机变量函数。 定理1: 设X为连续型…

Appium环境搭建及元素定位

01 Appium简介 Appium是一个开源测试自动化框架&#xff0c;可用于原生&#xff0c;混合和移动Web应用程序测试。它使用WebDriver 协议驱动iOS&#xff0c;Android和Windows应用程序。 01 环境搭建步骤 Appium环境安装&#xff1a; 第一步 安装 appium 桌面版客户端 Appium…

Linux挂载磁盘命令

需求&#xff1a; 只有一个硬盘&#xff0c;创建多个挂载点 参考&#xff1a;linux如何实现挂载—linux_是小明同学啊的博客-CSDN博客_linux挂载 1 查看当前挂载情况 执行 df -h&#xff0c; 查看当前 / 根目录下挂载的分区名&#xff0c;在下图中为倒数第三行&#xff0c; …

html练习

1. 2. 3. <h1>各科小常识</h1> <h3>语文</h3> <p> 三国演义是中国四大古典名著之一&#xff0c;元末明初小说家罗贯中所著。是中国第一部章回体历史演义的小说&#xff0c;描写了从东汉末年到西晋初年近100年的历史风云。</p> <hr&g…

Ubuntu20.04 LTS 安装 ros Noetic 树莓派4/PC

Ubuntu 20.04 LTS 安装树莓派系统. 主要参考了这两篇文章&#xff1a; https://blog.csdn.net/liangforcold/article/details/126385774 https://blog.csdn.net/yangcunbiao/article/details/123056806 https://blog.csdn.net/duping812/article/details/110391081 1、下载安…

【前端-NPM私服】内网使用verdaccio搭建私有npm服务器-docker搭建verdaccio流程

目录一、npm私服是什么1. 定义2. 为什么需要npm私服二、npm私服如何使用1. 链接到npm私服2. 注册私服账号3. 发布组件到私服4. 关联LDAP服务5. 提高下载速度三、私服搭建方案四、docker搭建Verdaccio流程1. 拉镜像2. 创建卷3. 启动容器4. 软链接卷到统一的目录5. 配置Verdaccio…