SpringCloud 多机搭建Consul集群
搭建环境:linux + centos 7 + consul 1.8.6
一、在三台linux主机上分别上传并解压consul安装包
下载地址:https://www.consul.io/downloads
consul_1.8.6_linux_amd64.zip 为安装包,使用unzip consul_1.8.6_linux_amd64.zip 命令进行解压,consul 为解压后的文件。
192.168.17.128主机:
192.168.17.130 主机:
192.168.17.131 主机:
二、以server 命令参数方式分别启动三台consul server节点(这里需要主机linux主机的防火墙问题,本测试直接关闭防火墙)
192.168.17.128主机:./consul agent -server -bootstrap-expect 2 -data-dir /etc/consul.d -node=server-1 -bind=192.168.17.128 -datacenter=wuhan -ui -client=0.0.0.0 &
192.168.17.130主机:./consul agent -server -bootstrap-expect 2 -data-dir /etc/consul.d -node=server-2 -bind=192.168.17.130 -datacenter=wuhan -ui -client=0.0.0.0 &
192.168.17.131主机:./consul agent -server -bootstrap-expect 2 -data-dir /etc/consul.d -node=server-3 -bind=192.168.17.131 -datacenter=wuhan -ui -client=0.0.0.0 &
并在 130、131 主机上执行命令 ./consul join 192.168.17.128 ,将该两台节点和128主机组成集群服务。
组成集群后可以使用命令 consul members 查集群成员信息
三、启动本地consul client 服务
本测试client端在 win7环境下搭建 ,windows 执行文件 下载地址:https://www.consul.io/downloads
使用命令进行启动:consul agent -client=0.0.0.0 -data-dir /etc/consul.d -datacenter=wuhan -bind=192.168.17.1 -node=client-1
这里要注意这个本地ip 我是在我电脑上启动的服务,server端都是在虚拟机上启动的服务,这里不能用本地的ip,需要用linux机器的 ip最后一位为1。不然本地客户端无法链接到server端的8300端口。
将该client加入到集群当中
四、通过控制台页面查看集群状态,访问地址:http://192.168.17.128:8500/ui/
访问其他两台consul server 节点控制台,同样展示三台server 节点和一台 client代理节点
五、将上一章节中的消费者和生产者工程接入到集群的consul环境中测试是否可用
下面测试用例工程全部代码为《SpringCloud Consul注册中心介绍及配置使用》文章中搭建的工程。
生产者application.yml 信息改造:
server:port: 9001
spring:application:name: service-product#consul 信息配置cloud:consul:host: 172.18.58.92 #consul注册中心的ip地址port: 8500 #consul注册中心端口discovery:register: true #是否需要注册instance-id: ${spring.application.name}-1 #实例id(唯一标志)service-name: ${spring.application.name} #服务的名称prefer-ip-address: true #开启ip地址注册ip-address: ${spring.cloud.client.ip-address} #当前服务的请求ipport: ${server.port} #服务的请求端口
消费者application.yml信息:
server:port: 8001spring:application:name: order-servicecloud:#consul 注册中心信息配置consul:host: 172.18.58.92 #consul注册中心的ip地址port: 8500 #consul注册中心端口discovery:register: true #是否需要注册instance-id: ${spring.application.name}-1 #实例id(唯一标志)service-name: ${spring.application.name} #服务的名称prefer-ip-address: true #开启ip地址注册ip-address: ${spring.cloud.client.ip-address} #当前服务的请求ipport: ${server.port} #服务的请求端口
分别启动两个工程后,通过consul server 控制台页面看下注册情况,通过不同的节点的页面可以看到两个服务都注册到了注册中心来。
访问消费者工程的调用接口,可以看到两个节点之间在consul集群下仍可以正常使用。当我们停掉一台server 节点在测试调用 仍可以正常访问。
杀掉一个server
访问服务不受影响
SpringCloud 多机搭建Consul集群相关推荐
- 搭建consul 集群
上图是官网提供的一个事例系统图,图中的Server是consul服务端高可用集群,Client是consul客户端.consul客户端不保存数据,客户端将接收到的请求转发给响应的Server端.Ser ...
- 基于滴滴云服务器搭建 Consul 集群
前言 Consul 是什么 Consul 是用 Go 开发的分布式服务协调管理的工具,它提供了服务发现,健康检查,Key/Value 存储等功能,并且支持跨数据中心的功能. Consul 基本概念 A ...
- Docker-Compose搭建consul集群环境
目录 一.Compose consul的概述 1.Compose是什么? 2.Docker Compose容器编排 3.Docker Compose配置常用字段 4.Docker Compose常用命 ...
- 使用docker-compose搭建consul集群环境
目录 环境 一.先装docker 部署docker 镜像加速 网络优化 二.配置 consul服务器 1.安装软件包 2.查看集群信息 3.通过httpd api 获取集群信息 三.容器服务自动加入群 ...
- 【微服务】搭建Consul集群服务和Consul配置中心
文章目录 一.传统配置文件的弊端 二.微服务配置中心 三.主流的配置中心 四.Consul 配置操作 1.添加配置信息 2.获取配置信息 五.单点服务器Consul集群 一.传统配置文件的弊端 静态化 ...
- 微服务 - 搭建Consul集群服务,Consul配置中心
传统配置文件的弊端 静态化配置,例如env文件 配置文件无法区分环境 配置文件过于分散 历史版本无法查看 配置中心如何解决的呢?配置中心的思路是把项目中的配置参数全部放在一个集中的地方来管理,并提供一 ...
- 使用Docker搭建Consul集群
2019独角兽企业重金招聘Python工程师标准>>> 1. 做什么事情? consul作为一个服务发现的工具在国内外都收到欢迎, 它的多数据中心是其他如zookerper工具所不能 ...
- docker-Consul的概述及consul集群环境的搭建
目录 一.概述 Consul的作用 二.搭建consul集群环境 1.安装Consul 2.配置容器服务自动加入nginx集群 (1)安装Gliderlabs/Registrator (2)测试服务 ...
- 微服务之:从零搭建ocelot网关和consul集群
介绍 微服务中有关键的几项技术,其中网关和服务服务发现,服务注册相辅相成. 首先解释几个本次教程中需要的术语 网关 Gateway(API GW / API 网关),顾名思义,是企业 IT 在系统边界 ...
最新文章
- python list去掉引号_python的一些易忘知识点
- javascript json_爬虫里总要用到的 JSON 是什么?
- linux 基本脚本编写
- CTF-RSA共模攻击 和 非共模攻击解密脚本
- 新增16条设计规约!阿里巴巴Java开发手册(详尽版)开放下载!
- SpringBoot 2.x 集成 Redis
- LeetCode--41.缺失的第一个正数(C)
- JAVA内存结构解析
- 《OpenACC并行程序设计:性能优化实践指南》一 第2章 性能导向开发
- 开发Adobe AIR移动应用程序的考虑事项
- Linux批量替换文本,文件夹内所有文本内容
- sqlserver卸载不完全导致安装失败
- 大白菜U盘启动盘手动去除捆绑第三方赞助软件
- Android源码下载编译(TI)
- dlna android播放器,dlna音乐播放器app
- 盘点人工智能高薪职位
- postgres mysql quora_DesktopReader for Quora
- 因式分解用python写程序_使用Python实现质因式分解算法
- 血管老化30岁就开始!别怕,吃它就能搞定,让血管保持年轻~
- elasticsearch: RequestError(400, ‘parse_exception‘, ‘unknown key [mapping] for create index‘)