SpringCloud注册进Zookeeper

  1. 首先启动zk集群
    在这里插入图片描述zk搭建可查看以前博客

  2. 客户端程序
    pom.xml

    	<!-- 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-starter-web</artifactId>
        </dependency>
    
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
    

    application.yml

    # 8004 表示注册到zookeeper服务器的支付服务提供者端口号
    server:
      port: 8004
    
    spring:
      application:
        # 服务别名
        name: cloud-provider-payment
      cloud:
        zookeeper:
          connect-string: centos3:2181,centos4:2181,centos5:2181
    

    启动类

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

    测试类

    @RestController
    @Slf4j
    public class PaymentController {
          
          
    
        @Value("${server.port}")
        private String serverPort;
    
        @GetMapping("/payment/zk")
        public String paymentTestZk(){
          
          
            return "springcloud with zookeeper: "+serverPort+"\t"+ UUID.randomUUID().toString();
        }
    
    }
    

    启动服务

  3. 测试
    在这里插入图片描述

  4. 查看zk注册信息
    在这里插入图片描述可以看到多了services节点
    在这里插入图片描述可以看到注册的cloud-provider-pyment服务。
    在这里插入图片描述该节点保存了微服务的基本信息
    格式化一下json串

{
    
    
  "name": "cloud-provider-payment",
  "id": "358e6f11-1cbe-207c-b43c-58565a55f450f",
  "address": "it-202251832.mshome.net",
  "port": 8004,
  "payload": {
    
    
    "@class": "org.springframework.cloud.zookeeper.discovery.ZookeeperInstance",
    "id": "cloud-provider-payment",
    "name": "cloud-provider-payment",
    "metadata": {
    
    
      "instance_status": "UP"
    }
  },
  "registrationTimeUTC": 1613913664773,
  "serviceType": "DYNAMIC",
  "uriSpec": {
    
    
    "parts": [
      {
    
    
        "value": "scheme",
        "variable": true
      },
      {
    
    
        "value": "://",
        "variable": false
      },
      {
    
    
        "value": "address",
        "variable": true
      },
      {
    
    
        "value": ":",
        "variable": false
      },
      {
    
    
        "value": "port",
        "variable": true
      }
    ]
  }
}

猜你喜欢

转载自blog.csdn.net/Zhangxg0206/article/details/113924097
今日推荐