Spring Cloud Consul

Spring Cloud Consul项目是针对Consul的服务治理实现。Consul是一个分布式高可用的系统,它包含多个组件,但是作为一个整体,在微服务架构中为我们的基础设施提供服务发现和服务配置的工具。它包含了下面几个特性:

服务发现 、健康检查、Key/Value存储、多数据中心。

由于Spring Cloud Consul项目的实现,我们可以轻松的将基于Spring Boot的微服务应用注册到Consul上,并通过此实现微服务架构中的服务治理。

利用Idea的Spring Initializr来快速构建Spring Boot/Cloud工程,勾选Cloud Discovery下的Consul Discovery,直接点下一步创建工程

Spring Cloud Consul_第1张图片

先修改配置文件,在Resources下的application.propertitie


spring.application.name=consul-clent

server.port=1994

spring.cloud.consul.host=localhost

spring.cloud.consul.port=8500

再在Applicatin主类加上 注解

package com.example.consul;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

@SpringBootApplication

@EnableDiscoveryClient

public class MyConsulApplication {

    public static void main(String[] args) {

        SpringApplication.run(MyConsulApplication.class, args);

    }

}

再新建一个DoController类,代码如下:

package com.example.consul;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.cloud.client.discovery.DiscoveryClient;

import org.springframework.web.bind.annotation.GetMapping;

import org.springframework.web.bind.annotation.RestController;

/**

* @author cyy

* @date  2018年8月2日21:51:47

*/

@RestController

public class DoController {

    @Autowired

    DiscoveryClient discoveryClient;

    @GetMapping("/dc")

    public String dc(){

        String services = "Services: " + discoveryClient.getServices();

        System.out.println(services);

        return services;

    }

}

然后参考:如何在本地安装Consul;

安装好了后,在本地用CMD命令启动consul的开发模式:

consulagent -dev

consul服务端启动完成之后,我们再将之前改造后的consul服务提供者启动起来。consul与eureka一样,都提供了简单的ui界面来查看服务的注册情况:

Spring Cloud Consul_第2张图片

也可以访问:http:localhost:1994/dc

Spring Cloud Consul_第3张图片


更多关于Consul的使用指南,读者可查看官方文档:https://www.consul.io/

参考博客:http://blog.didispace.com/spring-cloud-starter-dalston-1/

你可能感兴趣的:(Spring Cloud Consul)