思维导图
![一文看懂微服务架构之注册中心Consul、Nacos](http://img.jiangsulong.com/220423/0422491L4-0.jpg)
文章插图
文章已收录Github精选 , 欢迎Star:https://github.com/yehongzhi/learningSummary一、前言伴随着Eurka2.0版本已停止维护 , 开始要考虑使用微服务新一代的开源的注册中心替代Eureka 。
![一文看懂微服务架构之注册中心Consul、Nacos](http://img.jiangsulong.com/220423/0422492041-1.jpg)
文章插图
目前据我了解 , Consul和Nacos是比较流行的两种替代方案 。这篇文章就介绍一下这两种注册中心在微服务中的简单使用 , 希望对读者有所帮助 。
二、注册中心的作用注册中心在微服务的架构中相当于一个“服务的通讯录” 。当一个服务启动时 , 需要向注册中心注册服务 , 注册中心保存了所有服务的服务名称和服务地址的映射关系 。当服务A想调用服务D时 , 则从注册中心获取服务D的服务地址 , 然后调用 。
我画张图给大家描述会更清楚一点 , 大概如下:
![一文看懂微服务架构之注册中心Consul、Nacos](http://img.jiangsulong.com/220423/0422495P0-2.jpg)
文章插图
可能会有人问 , 为什么不直接通过服务地址调用服务D呢 , 还要从注册中心去获取服务D的服务地址 。因为一个服务背后是不止一台机器的 , 比如服务D可能在实际生产中是由三台机器支持的 , 对外只暴露一个服务名称 , 这样可以避免写死服务的IP地址在代码中(写在配置文件里) , 在服务扩展时就非常方便了 。
除了服务注册之外 , 注册中心还提供服务订阅 , 当有新的服务注册时 , 注册中心会实时推送到各个服务 。
还有服务健康监测 , 可以在管理界面看到注册中心中的服务的状态 。
三、Consul由Go语言开发 , 支持多数据中心分布式高可用的服务发布和服务注册 , 采用ralt算法保证服务的一致性 , 且支持健康检查 。
3.1 安装(win10版)第一步 , 上官网下载安装包 。
![一文看懂微服务架构之注册中心Consul、Nacos](http://img.jiangsulong.com/220423/0422491K1-3.jpg)
文章插图
第二步 , 解压zip包 , 并配置环境变量 。
![一文看懂微服务架构之注册中心Consul、Nacos](http://img.jiangsulong.com/220423/0422494050-4.jpg)
文章插图
![一文看懂微服务架构之注册中心Consul、Nacos](http://img.jiangsulong.com/220423/0422494000-5.jpg)
文章插图
第三步 , 唱跳rap篮球键ctrl+R , cmd , 输入命令consul:
![一文看懂微服务架构之注册中心Consul、Nacos](http://img.jiangsulong.com/220423/0422492P6-6.jpg)
文章插图
这就安装成功了 , 超简单!输入consul -version验证一下 , 会显示版本号:
![一文看懂微服务架构之注册中心Consul、Nacos](http://img.jiangsulong.com/220423/04224941V-7.jpg)
文章插图
第四步 , 启动 。输入命令consul.exe agent -dev本地启动:
![一文看懂微服务架构之注册中心Consul、Nacos](http://img.jiangsulong.com/220423/0422493424-8.jpg)
文章插图
第五步 , 在浏览器中输入http://localhost:8500打开管理界面 。
![一文看懂微服务架构之注册中心Consul、Nacos](http://img.jiangsulong.com/220423/04224a033-9.jpg)
文章插图
3.2 服务注册接下来就需要创建两个服务 , 分别是订单(order)和用户(user) , 注册到consul 。下面我就演示其中一个user服务 。
首先创建一个SpringBoot工程 , Maven配置如下:
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.1.RELEASE</version></parent><groupId>io.github.yehongzhi</groupId><artifactId>user</artifactId><version>0.0.1-SNAPSHOT</version><dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency><!-- 健康监测的包 --> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency><!-- spring-cloud-consul服务治理的jar包 --> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-consul-discovery</artifactId> <version>2.0.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency></dependencies><dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Finchley.SR1</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies></dependencyManagement>
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 怎么查找被删除的微信聊天记录 微信如何找到被删除的聊天记录
- 怎么能恢复两年前的微信聊天记录 微信可以恢复三年前的聊天记录吗?
- 3分钟看懂,如何解决Twitter分享索权过多的问题
- 搞微服务用阿里开源的 Nacos 真香啊
- 一文详解操作系统进程管理
- 如何将微信聊天记录备份 别人备份的微信聊天记录恢复到自己
- 微信聊天记录恢复根本恢复不了 微信不能恢复聊天记录
- 如何找回清空的微信聊天记录 微信聊天记录删掉怎么找回来
- 微软模拟飞行视角 微软模型飞行x下载
- 数据中台到底包括什么内容?一文详解架构设计与组成