将Consumer和Provider中的模块注册进Consul

在这里插入图片描述

Consul的功能和Eureka相同,都是进行服务注册的。

(一) Provider中的模块注册进Consul

  1. 安装并启动Consul
    在consul.exe文件中输入cmd,在弹出框中输入consul agent -dev来启动consul,成功后可输入http://localhost:8500/来访问Consul页面,在这个页面可以看到有多少模块注册进来了。
    在这里插入图片描述
  2. 创建Provider中的模块(cloud-providerconsul-payment8006)
    在这里插入图片描述
  3. 导包(pom.xml)
<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
  1. 写配置(application.yml)
server:
  port: 8006

spring:
  application:
    name: consul-provider-payment

  cloud:
    consul:
      host: localhost
      port: 8500
      discovery:
        service-name: ${spring.application.name}

需要配置的内容:
1.端口
2.Provider名
3.注册进Consul(host必须是localhost)
4.开启服务暴露(可有可无)

  1. 主程序类(ConsulMain8006)
@SpringBootApplication
@EnableDiscoveryClient  `#可有可无`
public class ConsulMain8006 {
    public static void main(String[] args) {
        SpringApplication.run(ConsulMain8006.class, args);
    }
}
  1. 测试
    输入http://localhost:8500/
    在这里插入图片描述

Consumer中的模块以上述同样方式注册进Consul中。

Eureka和Consul区别

1. Eureka中Eureka服务集群中的模块与Provider和Consumer端模块导入的依赖不同,Consul中Consumer和Provider中模块导入的依赖相同。

2. Eureka中包含多个服务集群模块,Consul中没有。

3. Eureka中不同种类模块的主程序中需要添加@EnableEurekaService(集群模块)和@EnableEurekaClient(Consumer和Povider模块)。Consul中各个模块均不需要添加注解

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐