继上篇的zookeeper,我们这次来介绍一下Consul的使用,依旧声明一下,此博客是观看阳哥2020微服务的视频结合脑图整理的笔记,希望可以帮助大家快速入门使用Consul。
Consul介绍
Consul是一种服务网格解决方案,提供具有服务发现,配置和分段功能的全功能控制平面。这些功能可以根据需要单独使用,也可以一起使用以构建完整的服务网格。Consul需要一个数据平面,并支持代理和本机集成模型。Consul附带了一个简单的内置代理,因此开箱即用,但也支持Envoy等第三方代理集成。
它具有很多优点。包括:基于raft协议,比较简洁;支持健康检查, 同时支持HTTP和DNS协议支持跨数据中心的WAN集群提供图形界面,跨平台,支持Linux、Mac、 Windows
Consul能干嘛呢?
总结:
下载地址:https://www.consul.io/downloads,欢迎留言私聊,我可以发安装包给你们
下载完成后的操作比zookeeper的操作简单多了,如下图:
没错,不要怀疑,就是只有一个consul.exe文件
查看版本信息:
使用开发模式启动:
在浏览器输入:127.0.0.1:8500,看到如下页面(是不是很简介好看呢,哈哈哈):
Spring cloud整合Consul
新建一个服务如下:
pom依赖:
<!--SpringCloud consul-server -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
application.yml
主启动类:
package com.atguigu.springcloud;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
/**
* @Desc
* @Author chenjiaming
* @Date 2020/9/13 14:42
*/
@SpringBootApplication
@EnableDiscoveryClient
public class PaymentMain8006 {
public static void main(String[] args) {
SpringApplication.run(PaymentMain8006.class, args);
}
}
Controller
package com.atguigu.springcloud.controller;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.UUID;
/**
* @Desc
* @Author chenjiaming
* @Date 2020/9/13 14:43
*/
@RestController
@Slf4j
public class PaymentController {
@Value("${server.port}")
private String serverPort;
@RequestMapping(value = "/payment/consul")
public String paymentConsul() {
return "springCloud with consul: "+serverPort+"\t "+ UUID.randomUUID().toString();
}
}
启动测试:
以上就是Consul的安装和使用,到这里已经讲完了三个注册中心了,下篇博客将会讲一下这三个注册中心的异同点。
欢迎留言评论!!!