04 Consul服务注册中心
Consul服务注册中心
Consul官网:https://www.consul.io/
Consul中文文档:https://www.springcloud.cc/spring-cloud-consul.html
简介
Consul是一种服务网格解决方案,提供具有服务发现,配置和分段功能的全功能控制平面。这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建完整的服务网格。Consul需要一个数据平面,并支持代理和本机集成模型。Consul附带了一个简单的内置代理,因此一切都可以直接使用,还支持Envoy等第三方代理集成。
下载windows 版本后
解压后得到一个 consul.exe 在所在目录打开 cmd 输入xonsul agent -dev
在浏览器输入
服务提供者注册进 Consul
- 新建服务提供者cloud-provider-consul-payment8006。
- pom文件
<!--SpringCloud consul-server-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
- yml 文件
server:
port: 8006
spring:
application:
name: consul-provider-payment
cloud:
consul:
host: localhost #用linux的ip地址(consul在本机就填localhost)
port: 8500
discovery:
service-name: ${spring.application.name}
- 启动类
@SpringBootApplication
@EnableDiscoveryClient
public class PaymentConsulMain {
public static void main(String[] args) {
SpringApplication.run(PaymentConsulMain.class,args);
}
}
- controller 层
@RestController
@Slf4j
public class PaymentContrller {
@Value("${server.port}")
private String serverPort;
@RequestMapping(value="/payment/consul")
public String paymentConsul(){
return "springcloud with consul:"+serverPort+"\t"+ UUID.randomUUID().toString();
}
}
测试
服务消费者注册进
- 新建模块cloud-consumer-consul-order80
- pom(与8006相同)
- yml(端口号为80
server:
port: 80
spring:
application:
name: consul-consumer-order
cloud:
consul:
host: localhost #用linux的ip地址(consul在本机就填localhost)
port: 8500
discovery:
service-name: ${spring.application.name}
- 主启动类(与8006相同)
- config(和zk的消费者相同)
- controller.OrderConsulController
三者的异同
AP(Ereka)
CP(Zookeeper/Consul)
CAP理解 来自于评论区
CAP理论的一个例子。开学了,你和同桌互对寒假作业答案,对到一半同桌去了厕所,恰好老师进来要收作业,你决定:AP【交就交吧,有错也无所谓了,交作业要紧】;CP【等同桌回来,把答案对完再交,满分要紧】
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)