irpas技术客

【五】、Consul注册中心_艾卡西亚丶暴雨L_consul注册端口

网络 481

1.什么是Consul?

Consul是一个服务网格(微服务间的TCP/IP,负责服务之间的网络调用、限流、熔断和监控)解决方案,它是一个个分布式,高度可用的系统,而且开发使用都很简单。它提供了一个功能齐全的控制平面

Consuler的特点: 服务发现、健康检查、键值存储、安全服务通信、多数据中心

与其他分布式服务注册与发现的方案相比,Consul的方案更加“一站式”——内置了服务注册与发现框架、分布式一致性协议实现、健康检查、Key/Value存储、多数据中心方案,不再需要依赖其他工具。

Consul本身使用GO语言开发,具有跨平台、运行高效等特点,也非常方便和Docker配合使用

2.安装并运行Consul Ⅰ.Consul官网

看不懂英文可以点击这里

Ⅱ.在存放consul.exe文件下使用开发者模式

Ⅲ.运行Consul 查看consul版本 consul --version 输入命令启动consul .\consul.exe agent -dev 3.输入localhost:8500访问consul控制界面 3.导入Consul依赖

不要添加mysql相关依赖,因为我们这里不连接数据库,只是测试

<!--SpringCloud consul-server--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-consul-discovery</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> </dependency> 4.新建yml文件 ##consul服务端口号 server: port: 8006 spring: application: name: consul-provider-payment ####consul注册中心地址 cloud: consul: #consul服务端的ip或者域名 host: localhost # consul服务端的端口号 默认是8500 port: 8500 discovery: #当前应用注册到consul的名称 service-name: ${spring.application.name} 5.Controller业务类 package com.asule.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; /** * @author: ASULE * @create: 2022/1/21 23:19 * @version: 1.0 **/ @RestController @Slf4j @RequestMapping("/payment") public class PaymentController { @Value("${server.port}") private String serverPort; @RequestMapping(value = "/consul") public String paymentConsul(){ return "SpringCloud with consul:"+serverPort+"\t"+ UUID.randomUUID().toString(); } } 6.启动程序测试

观察consul控制界面

输入路径观察是否有输出

7.Eureka、Zookeeper、Consul三个注册中的异同点 组件名开发语言健康检查对外暴露接口CAPSpringCloud是否集成EurekaJava可配支持HTTPAP集成ConsulGo支持HTTP/DFSCP集成ZookeeperJava支持客户端CP集成


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #consul注册端口 #con