《springcloud学习》十 Springcloud整合consul作为注册中心

1.简介

consul是一套开源的分布式服务发现和配置管理系统,用go语言开发,raft协议,提供图形界面管理

2 window环境搭建consul注册中心

下载地址:https://www.consul.io/

下载window版本,解压后,可得到一个consul.exe

通过cmd进入,该文件夹目录

cmd>>>d:

cmd>>>cd /consul_1.5.2_windows_amd64

《springcloud学习》十 Springcloud整合consul作为注册中心_第1张图片

启动consul命令

consul agent -dev -ui -node=cy

通过http://localhost:8500访问图形界面

《springcloud学习》十 Springcloud整合consul作为注册中心_第2张图片

   注意:如果需要外面的电脑也能连上该配置,需要修改配置127.0.0.1为本地ip的地址

3 consul实现服务注册和发现

需要导入父模块依赖,具体查看之前的博客



    4.0.0

    
    org.springframework.boot
    spring-boot-starter-parent
    2.0.4.RELEASE
     


    com.fqyd
    springcloud
    1.0-SNAPSHOT

    
        UTF-8
        UTF-8
        1.8
        Finchley.RELEASE
    
    
        springcloud_eureka
        springcloud_eureka_ha
        springcloud_product
        springcloud_product_member
        springcloud_consumer
        springcloud_zk_member
        springcloud_consul_member
    

    
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    

    
    
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                ${spring-cloud.version}
                pom
                import
            
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    

会员提供者 

 3.1 pom.xml 

   
        
            org.springframework.cloud
            spring-cloud-starter-consul-discovery
        
    

3.2 application.yml

###会员服务的端口号
server:
  port: 8002
###服务别名----服务注册到注册中心名称
spring:
  application:
    name: zk-member
  cloud:
    zookeeper:
      #注册到zk的地址
      connect-string: 127.0.0.1:2181

3.3 controller类

package com.fqyd.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * Description:
 * Author: wude
 * Date:  2019/7/10 16:44
 * Modified By:
 */
@RestController
public class MeberApiController {
    @Value("${server.port}")
    private String port;

    @RequestMapping("getMember")
    public String getMember() {
        return "this is member!端口号为:" + port;
    }
}

3.4启动类

package com.fqyd;

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

@SpringBootApplication
@EnableDiscoveryClient   //如果服务注册是consul或者zk,可以使用该注解
public class SpringcloudZkMemberApplication {

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

}

3.5效果

上面提供的代码是提供者的代码,消费者的代码可以把zk+springcloud博客,对应的代码修改一下就可以

《springcloud学习》十 Springcloud整合consul作为注册中心_第3张图片

你可能感兴趣的:(#)