springcloud集成zookeeper和consul

项目地址请到gitee下载查看https://gitee.com/xwb1056481167/spring-cloud

集成zpookeeper注册中心

本地安装zookeeper

|-desc-file
   |— — — zookeeper
            |— — — zookeeper-3.4.9.tar.gz

新建cloud-provider-payment8004

1、pom

<!-- springboot整合zookeeper 客户端 -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<!-- 引入和本地zookeeper一样的jar包 -->
<dependency>
    <groupId>org.apache.zookeeper</groupId>
    <artifactId>zookeeper</artifactId>
    <version>3.4.9</version>
</dependency>

2、yml

# 8004是zookeeper服务器的支付服务提供者端口号
server:
  port: 8004
spring:
  application:
    name: cloud-provider-payment
  cloud:
    zookeeper:
      connect-string: 192.168.1.10:2181 # zookeeper注册中心地址

3、主启动类

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

zookeeper验证效果图

zookeeper启动后client查看到的节点信息

集成consul注册中心

consul能干什么
功能 简介
服务发现 提供http和DNS两种发现方式
健康管理 支持多种方式,http,tcp,Docker,shell脚本定制化
KV存储 key,value的存储方式
多数据中心 Consul支持多数据中心
   
下载地址 https://consul.io/download.html

consul的启动

consul agent -dev

访问主界面(localhost:8500)

将服务提供者cloud-providerconsul-paymen8006注册进consul

1、pom.xml

 <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>

2、application.yml

## consul 服务端口号
server:
  port: 8006
spring:
  application:
    name: consul-provider-payment
  # consul 注册中心地址
  cloud:
    consul:
      host: localhost
      port: 8500
      discovery:
        service-name:  \${spring.application.name}
        # hostname: 127.0.0.1

3、主启动类

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

将服务消费者cloud-consumerconsul-order80注册进consul

1、pom.xml

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>

2、application.yml

## consul 服务端口号
server:
  port: 80
spring:
  application:
    name: consul-consumer-payment
  # consul 注册中心地址
  cloud:
    consul:
      host: localhost
      port: 8500
      discovery:
        service-name:  \${spring.application.name}
        # hostname: 127.0.0.1

3、主启动类

@SpringBootApplication
@EnableDiscoveryClient
public class OrderConsulOrder80 {
    public static void main(String[] args) {
        SpringApplication.run(OrderConsulOrder80.class, args);
    }
}

4、调用工具

@Configuration
public class ApplicationContextConfig {
    @Bean
    @LoadBalanced
    public RestTemplate getRestTemplate() {
        return new RestTemplate();
    }
}

注册信息

测试:
http://localhost/consumer/payment/consul

猜你喜欢

转载自blog.csdn.net/www1056481167/article/details/113588112
今日推荐