【springcloudalibaba】-微服务注册到Zookeeper中(zcw-demo)【十五】

前言

本篇博客主要是分享,springcloud中服务A是如何注册到zookeeper上的 ,叫大家知道zookeeper中,进行服务注册,实际上创建了一个znode节点,该节点存储了该服务的IP、端口、调用方式(协议、序列化方式)等。下面是demo演示


Demo

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

修改POM文件


<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>com.zcw</groupId>
            <artifactId>cloud-api-commons</artifactId>
            <version>${project.version}</version>
        </dependency>
        <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>
    </dependencies>

创建YML


server:
  port: 9087

spring:
  application:
    name: cloud-consumer-order
    #注册到zookeeper地址
  cloud:
    zookeeper:
      connect-string: 192.168.21.128:2181

修改主启动类

package com.zcw.springcloud;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

/**
 * @ClassName : OrderZKApplication
 * @Description :
 * @Author : Zhaocunwei
 * @Date: 2020-05-13 20:29
 */
@SpringBootApplication
@EnableDiscoveryClient
public class OrderZKApplication {
    public static void main(String[] args) {
        SpringApplication.run(OrderZKApplication.class,args);
    }
}



创建配置类


package com.zcw.springcloud.config;

import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;

/**
 * @ClassName : ApplicationContext
 * @Description :
 * @Author : Zhaocunwei
 * @Date: 2020-05-14 09:48
 */
@Configuration
public class ApplicationContext {
    @Bean
    @LoadBalanced
    public RestTemplate getRestTemplate(){
        return  new RestTemplate();
    }
}


创建Controller层

添加zookeeper服务器上注册的实例:
在这里插入图片描述
在这里插入图片描述


package com.zcw.springcloud.controller;

import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;

import javax.annotation.Resource;

/**
 * @ClassName : OrderZKController
 * @Description :
 * @Author : Zhaocunwei
 * @Date: 2020-05-14 09:52
 */
@RestController
@Slf4j
public class OrderZKController {
    public static final String INVOKE_URL="http://cloud-provider-payment";

    @Resource
    private RestTemplate restTemplate;
    @GetMapping(value="/consumer/payment/zk")
    public String  paymentInfo(){
        String result =restTemplate.getForObject(INVOKE_URL+"/payment/zk",String.class);
        return result;
    }
}


测试

  • 启动服务
    在这里插入图片描述

  • 登录zookeeper服务器,我们查看是否注册上
    在这里插入图片描述
    通过上图发现,我们的两个实例,已经都注册到zookeeper上了。

  • 通过浏览器地址进行访问 --展示服务提供者
    在这里插入图片描述

  • 服务使用者,通过浏览器进行访问
    在这里插入图片描述

小结

到了尾声,我们本篇博客主要是向大家展示了,我们如何使用zookeeper来实现服务的注册与发现,希望通过简单的小demo,使大家知道,怎么进行注册,Thanks♪(・ω・)ノ

原创文章 578 获赞 46 访问量 6万+

猜你喜欢

转载自blog.csdn.net/qq_32370913/article/details/106105507