Docker+Consul+Registrator 实现服务注册与发现

这篇具有很好参考价值的文章主要介绍了Docker+Consul+Registrator 实现服务注册与发现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

第四阶段

时  间:2023年8月8日

参加人:全班人员

内  容:

Docker+Consul+Registrator

实现服务注册与发现

目录

一、服务注册中心引言

CAP理论是分布式架构中重要理论:

二、服务注册中心软件

(一)ZooKeeper

(二)Eureka

(三)Etcd

(四)Consul

常用的服务发现产品之间的比较:

三、Consul介绍

(一)Consul主要功能:

(二)Consul工作模式:

(三)架构设计

(四)架构优势

四、构建自动发现的 Docker 服务架构

(一)建立 Consul 服务 

1、Consul集群部署

2、consul高可用

(二)安装consul

1、下载consul二进制包

3、查看集群信息

4、通过API获取集群信息

五、容器服务自动加入 Nginx 集群 

1. 基于 Registrator 镜像部署容器

2. 测试服务发现功能是否正常 

3. 验证Tomcat服务是否注册到了consul集群 

4. 安装 consul-template

5. 准备 template nginx 模板文件

6. 编译安装 nginx 

7. 配置 nginx

8. 配置并启动 consul-template 

9. 访问 template-nginx 配置文件 

10. 增加一个测试的容器节点 


一、服务注册中心引言

        服务注册中心本质上是为了解耦服务提供者和服务消费者。对于任何一个微服务,原则上都应存在或者支持多个提供者,这是由微服务的分布式属性决定的。

        更进一步,为了支持弹性扩缩容特性,一个微服务的提供者的数量和分布往往是动态变化的,也是无法预先确定的。因此,原本在单体应用阶段常用的静态LB机制就不再适用了,需要引入额外的组件来管理微服务提供者的注册与发现,而这个组件就是服务注册中心。

        微服务-将一个大型的单体架构拆分成多个小的服务组件。

CAP理论是分布式架构中重要理论:

一致性(Consistency) (所有节点在同一时间具有相同的数据)

可用性(Availability) (保证每个请求不管成功或者失败都有响应)

分隔容忍(Partition tolerance) (系统中任意信息的丢失或失败不会影响系统的继续运作)

二、服务注册中心软件

(一)ZooKeeper

        ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

        ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

(二)Eureka

        Eureka是基于REST(Representational State Transfer)服务,主要以AWS云服务为支撑,提供服务发现并实现负载均衡和故障转移。我们称此服务为Eureka服务。Eureka提供了Java客户端组件,Eureka Client,方便与服务端的交互。客户端内置了基于round-robin实现的简单负载均衡。在Netflix,为Eureka提供更为复杂的负载均衡方案进行封装,以实现高可用,它包括基于流量、资源利用率以及请求返回状态的加权负载均衡。

(三)Etcd

        etcd 是一个分布式键值对存储系统,由coreos 开发,内部采用 raft 协议作为一致性算法,用于可靠、快速地保存关键数据,并提供访问。通过分布式锁、leader选举和写屏障(write barriers),来实现可靠的分布式协作。etcd集群是为高可用、持久化数据存储和检索而准备。

(四)Consul

        Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置。 与其他分布式服务注册与发现的方案比如 Airbnb 的 SmartStack 等相比,Consul 的方案更“一站式”,内置了服务注册与发现框架、分布一致性协议实现、健康检查、Key/Value 存储、多数据中心方案,不再需要依赖其他工具(比如 ZooKeeper 等)。使用起来也较为简单。Consul 用 Golang 语言实现,因此具有天然可移植性(支持 Linux、windows 和 Mac OS X); 安装包仅包含一个可执行文件,方便部署,与 Docker 等轻量级容器可无缝配合。

常用的服务发现产品之间的比较:

Docker+Consul+Registrator 实现服务注册与发现,docker,consul,容器,运维

三、Consul介绍

        Consul是一个分布式,高可用且支持多数据中心的服务发现,配置和编排工具。 Consul支持大规模部署,配置和维护面向服务的体系结构。

(一)Consul主要功能:

1、服务发现

通过DNS或HTTP接口使得消费者发现服务,应用程序可以轻松找到所依赖的服务。


2、健康检查

防止将请求转发不健康的主机。


3、键值存储

可以使用分层键/值存储,比如功能标记、动态配置等。


4、多数据中心

开箱即用,不需要复杂的配置。这就意味这不用建立抽象的逻辑来扩展多个地区。

(二)Consul工作模式:

1、Consul agent是Consul核心组件,分为client和server两种工作模式。

默认以client模式运行,提供服务注册、健康检查、

转发查询给server leader。

server模式启动时使用-server选项指定,用于维护Consul集群状态、Raft协议进行选举。

2、agent必须在每个Consul节点运行,所有运行Consul agent节点构成Consul集群。

3、官方建议Consul集群至少3或5个节点运行Consul agent server模式,client节点不限。

4、通过join或rejoin选项加入集群。一旦加入,集群信息使用gossip算法同步到整个集群节点。

(三)架构设计

        在现实工作中,我们一直渴望着追求提供高质量、高可用的服务架构体系,同时减少不必要的部署和维护代价,减少容错率。面对如此高的要求,可以有两种架构方案:

1、Docker+Etcd+Confd+Nginx

2、Docker+Consul+Nginx

        使用 Docker 将 Consul、Consul Template、Registrator 和 Nginx 组装成一个值得信任且可扩展的服务框架,这套架构在这个框架中添加和移除服务,不需要重写任何配置,也不需要重启任何服务,一切都能正常运行。工作流程很简单:

Docker+Consul+Registrator 实现服务注册与发现,docker,consul,容器,运维

Docker+Consul+Registrator 实现服务注册与发现,docker,consul,容器,运维

(四)架构优势

        Docker+Consul+Nginx虽然看起来是三个组件的运用,但却证明是一个有机的整体。它们互相联系、互相作用,完全满足我们对高可用、高效服务架构方案的需求,是Docker生态圈中最理想的组合之一,具有以下优势:

1、自动发现与注册组件consul使用 Raft 算法来保证一致性,比复杂的Paxos 算法更直接。相比较而言,zookeeper 采用的是 Paxos,而 etcd 使用的则是 Raft;

2、支持多数据中心,多数据中心集群可以避免单数据中心的单点故障,zookeeper 和 etcd 均不提供多数据中心功能的支持;

3、自动、实时发现及无感知服务刷新,具备资源弹性,伸缩自如;

4、支持健康检查,负载能动态在可用的服务实例上进行均衡,etcd 不提供此功能;

5、支持足够多台Docker容器(前提架构资源足以保证性能支撑);

6、支持http 和dns 协议接口,zookeeper 的集成较为复杂,etcd 只支持 http 协议;

7、服务规模方便进行快速调整,官方提供web管理界面,etcd 无此功能;

8、Consul template 搭配consul使用,支持多种接入层,如Nginx、Haproxy。

四、构建自动发现的 Docker 服务架构

(一)建立 Consul 服务 

        要想利用 Consul 提供的服务实现服务的注册与发现,我们需要建立 Consul 服务。在 Consul 方案中,每个提供服务的节点(Docker主机)上都要部署和运行 Consul 的 client,所有运行 Consul  agent节点的集合构成 Consul Cluster。Consul agent 有两种运行模式:Server 和 Client。 这里的 Server 和 Client 只是 Consul 集群层面的区分,与搭建在 Cluster 之上的应用服务无关。以 Server 模式运行的 Consul agent 节点用于维护 Consul 集群的状态,官方建议每个 Consul Cluster 至少有 3 个或以上的运行在 Server mode 的 Agent,Client 节点不限。

1、Consul集群部署

        如下图所示,左边三台Consul agent server 集群通过选举,选出一台Leader。来管理右边的client。获取集群状态信息。

Consul agent server -bootstrap自动选举本机为Leader。管理台client。获取集群信息。

2、consul高可用

3台允许坏1台;5台允许坏2台

       Docker+Consul+Registrator 实现服务注册与发现,docker,consul,容器,运维Docker+Consul+Registrator 实现服务注册与发现,docker,consul,容器,运维

主机名

IP地址

软件

huyang1

192.168.100.121

nginx

consul

consul-template

huyang2

192.168.100.122

docker-ce

registrator

huyang3

192.168.100.123

docker-ce

registrator

(二)安装consul

1、下载consul二进制包

下载地址 Install | Consul | HashiCorp Developer

[root@huyangl ~]# unzip consul_0.9.2_linux_amd64.zip

[root@huyangl ~]# mv consul /usr/bin/

Docker+Consul+Registrator 实现服务注册与发现,docker,consul,容器,运维

[root@huyangl ~]# nohup consul agent -server -bootstrap -ui -data-dir=/var/lib/consul-data -bind=192.168.100.131 -client=0.0.0.0 -node=consul-server01 &> /var/log/consul.log &

Docker+Consul+Registrator 实现服务注册与发现,docker,consul,容器,运维

配置项说明:

agent:运行一个consul代理。

-server :切换代理到服务器模式。

-bootstrap:用来控制一个 server 是否在 bootstrap 模式,在一个 datacenter 中只能 有一个 server 处于 bootstrap 模式,当一个 server 处于 bootstrap 模式时,可以自己 选举为 raft leader。

-data-dir :参数指定数据存储目录

-bind -bind:该地址用来在集群内部的通讯,集群内的所有节点到地址都必须是可达的,默认是 0.0.0.0。

-ui:参数指定开启 UI 界面,这样可以通过 http://localhost:8500/ui 这样的地址访问 consul 自带的 web UI 界面。

-client consul 绑定在哪个 client 地址上,这个地址提供 HTTP、DNS、RPC 等服务, 默认是 127.0.0.1。

-node:节点在集群中的名称,在一个集群中必须是唯一的,默认是该节点的主机名。

        安装 consul 是用于服务注册,也就是容器本身的一些信息注册到 consul 里面,其他程 序可以通过 consul 获取注册的相关服务信息,这是就是所为的服务注册与发现。

3、查看集群信息

查看huyangl ~集群成员信息

[root@huyangl ~]# consul members

查看huyangl ~集群中的leader

[root@huyangl ~]# consul info | grep leader

查看huyangl ~集群中管理的服务

[root@huyangl ~]# consul catalog services

Docker+Consul+Registrator 实现服务注册与发现,docker,consul,容器,运维

查看监听的端口:

Docker+Consul+Registrator 实现服务注册与发现,docker,consul,容器,运维

启动consul后默认会监听5个端口:

8300: replication、leader farwarding的端口

8301: lan cossip的端口

8302: wan gossip的端口

8500: web ui界面的端口

8600: 使用dns协议查看节点信息的端口

可参考下图查看端口的意思:

Docker+Consul+Registrator 实现服务注册与发现,docker,consul,容器,运维

4、通过API获取集群信息

[root@huyangl ~]# curl 127.0.0.1:8500/v1/status/peers //查看集群 server 成员

[root@huyangl ~]# curl

127.0.0.1:8500/v1/status/leader //集群 Raf leader

[root@huyangl ~]# curl

127.0.0.1:8500/v1/catalog/services

//注册的所有服务

[root@huyangl ~]# curl

127.0.0.1:8500/v1/catalog/nginx //查看 nginx 服务信息

[root@huyangl ~]# curl

127.0.0.1:8500/v1/catalog/nodes //集群节点详细信息

Docker+Consul+Registrator 实现服务注册与发现,docker,consul,容器,运维

五、容器服务自动加入 Nginx 集群 

1. 基于 Registrator 镜像部署容器

        Registrator 服务会检查应用服务容器的运行状态,进行自动注册和注销 docker 容器服务到服务配置中心Consul上。目前支持与 Consul、etcd 和 SkyDNS2等软件进行整合。

在 192.168.100.132/192.168.100.133 节点操作

1)安装docker-ce

[root@huyang2 ~]# wget -O

/etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

[root@huyang2 ~]# yum -y install yum-utils device-mapper-persistent-data lvm2

[root@huyang2 ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

[root@huyang2 ~]# ls /etc/yum.repos.d/

[root@localhost ~]# yum -y install docker-ce

[root@localhost ~]# systemctl start docker

[root@localhost ~]# systemctl enable docker

Docker+Consul+Registrator 实现服务注册与发现,docker,consul,容器,运维

2)阿里云镜像加速器

阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

Docker+Consul+Registrator 实现服务注册与发现,docker,consul,容器,运维

[root@huyang2 ~]# cat << END > /etc/docker/daemon.json

{

        "registry-mirrors":[ "https://nyakyfun.mirror.aliyuncs.com" ]

}

END

Docker+Consul+Registrator 实现服务注册与发现,docker,consul,容器,运维

[root@huyang2 ~]# systemctl daemon-reload

[root@huyang2 ~]# systemctl restart docker

[root@huyang2 ~]# docker version

Docker+Consul+Registrator 实现服务注册与发现,docker,consul,容器,运维

3)部署registrator容器服务

注意192.168.100.133主机需要注意IP地址

[root@huyang2 ~]# docker run -d --name=registrator --net=host -v /var/run/docker.sock:/tmp/docker.sock --restart=always gliderlabs/registrator:latest -ip=192.168.100.132 consul://192.168.100.131:8500

Docker+Consul+Registrator 实现服务注册与发现,docker,consul,容器,运维

[root@huyang3 ~]# docker run -d --name=registrator --net=host -v /var/run/docker.sock:/tmp/docker.sock --restart=always gliderlabs/registrator:latest -ip=192.168.100.133 consul://192.168.100.131:8500

Docker+Consul+Registrator 实现服务注册与发现,docker,consul,容器,运维

2. 测试服务发现功能是否正常 

创建Tomcat测试页面,并部署tomcat测试容器

1)huyang2主机

[root@huyang2 ~]# mkdir /web

[root@huyang2 ~]# vim /web/index.jsp

配置如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
	<head>
		<title>docker consul test page</title>
	</head>
	<body>
		<% out.println("Welcome to consul site,http://www.consul.com");%>
	</body>
</html>

Docker+Consul+Registrator 实现服务注册与发现,docker,consul,容器,运维

[root@huyang2 ~]# docker run -itd -p:8001:8080 -v /web:/usr/local/tomcat/webapps/ROOT --name huyang2-t1 -h huyang2-t1 tomcat

[root@huyang2 ~]# docker run -itd -p:8002:8080 -v /web:/usr/local/tomcat/webapps/ROOT --name huyang2-t2 -h huyang2-t2 tomcat

Docker+Consul+Registrator 实现服务注册与发现,docker,consul,容器,运维

访问网页测试:192.168.100.132:8001

192.168.100.132:8002

Docker+Consul+Registrator 实现服务注册与发现,docker,consul,容器,运维

2)huyang3主机

[root@huyang3 ~]# mkdir /web

[root@huyang3 ~]# vim /web/index.jsp

配置如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
	<head>
		<title>docker consul test page</title>
	</head>
	<body>
		<% out.println("Welcome to consul site,http://www.consul.com");%>
	</body>
</html>

Docker+Consul+Registrator 实现服务注册与发现,docker,consul,容器,运维

[root@huyang3 ~]# docker run -itd -p:8001:8080 -v /web:/usr/local/tomcat/webapps/ROOT --name huyang3-t1 -h huyang3-t1 tomcat

[root@huyang3 ~]# docker run -itd -p:8002:8080 -v /web:/usr/local/tomcat/webapps/ROOT --name huyang3-t2 -h huyang3-t2 tomcat

Docker+Consul+Registrator 实现服务注册与发现,docker,consul,容器,运维

访问网页测试:192.168.100.133:8001

192.168.100.133:8002

Docker+Consul+Registrator 实现服务注册与发现,docker,consul,容器,运维

3. 验证Tomcat服务是否注册到了consul集群 

浏览器输入 http://192.168.100.131:8500,点击”NODES“,再点击“consul-server01””, 会出现 5 个服务。

Docker+Consul+Registrator 实现服务注册与发现,docker,consul,容器,运维

[root@huyang1 ~]#

curl 127.0.0.1:8500/v1/catalog/services

Docker+Consul+Registrator 实现服务注册与发现,docker,consul,容器,运维

从以上结果中发现Tomcat服务已经注册到 consul 里面,说明服务正常

4. 安装 consul-template

        Consul-Template 是基于 Consul 的自动替换配置文件的应用。在 Consul-Template 没出现之前,构建服务大多采用的是 Zookeeper、Etcd+Confd 这样类似的系统。

        Consul-template 是一个守护进程,用于实时查询 consul 集群信息,并更新文件系统上的任意数量的指定模板,生成配置文件,更新完成以后可以选择运行 shell 命令执行更新操作,例如:重新加载 nginx。

        Consul-Template 可以查询 Consul 中的服务目录、Key、Key-values 等。这种强大的抽象功能和查询语言模板可以使 Consul-Template 特别适合动态的创建配置文件。例如:创建 Apache/Nginx Proxy Balancers、Haproxy Backends、Varnish Servers、Application Configurations 等。

5. 准备 template nginx 模板文件

[root@huyang1 ~]# mkdir consul

[root@huyang1 ~]# cd consul/

[root@huyang1 consul]# vim /root/consul/nginx.tmp

Docker+Consul+Registrator 实现服务注册与发现,docker,consul,容器,运维

6. 编译安装 nginx 

[root@huyang1 ~]# yum -y install gcc gcc-c++ make pcre-devel  zlib-devel openssl-devel

Docker+Consul+Registrator 实现服务注册与发现,docker,consul,容器,运维

[root@huyang1 ~]# tar xf nginx-1.16.0.tar.gz

[root@huyang1 ~]# cd nginx-1.16.0/

[root@huyang1 nginx--1.16.0]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_realip_module --with-pcre --with-http_ssl_module && make -j 2 && make install

Docker+Consul+Registrator 实现服务注册与发现,docker,consul,容器,运维

7. 配置 nginx

[root@huyang1 ~]# vim

/usr/local/nginx/conf/nginx.conf

include vhost/*.conf; //在 http 段里面添加虚拟主机目录

[root@huyang1 ~]# mkdir /usr/local/nginx/conf/vhost/

[root@huyang1 ~]# /usr/local/nginx/sbin/nginx

Docker+Consul+Registrator 实现服务注册与发现,docker,consul,容器,运维

8. 配置并启动 consul-template 

手动上传 consul-template_0.19.3_linux_amd64.zip 包到/root 目录下

[root@huyang1 ~]#wget https://releases.hashicorp.com/consul-template/0.19.3/consul-template_0.19.3_linux_amd64.zip

[root@huyang1 ~]# unzip consul-template_0.19.3_linux_amd64.zip

[root@consul ~]# mv consul-template /usr/bin/

Docker+Consul+Registrator 实现服务注册与发现,docker,consul,容器,运维

        在前台启动 template 服务,需要指定 template 模板文件及生成路径即可,启动后不要按 ctrl+c 中止。

[root@huyang1 ~]# consul-template -consul-addr 192.168.100.131:8500 -template "/root/consul/nginx.tmp:/usr/local/nginx/conf/vhost/crushlinux.conf:/usr/local/nginx/sbin/nginx -s reload" --log-level=info

Docker+Consul+Registrator 实现服务注册与发现,docker,consul,容器,运维

生成的配置文件如下。

[root@consul ~]# cat

/usr/local/nginx/conf/vhost/crushlinux.conf

Docker+Consul+Registrator 实现服务注册与发现,docker,consul,容器,运维

[root@huyang1 ~]# netstat -lnpt | grep nginx

Docker+Consul+Registrator 实现服务注册与发现,docker,consul,容器,运维

9. 访问 template-nginx 配置文件 

通过浏览器访问nginx 监听的8080 端口

Docker+Consul+Registrator 实现服务注册与发现,docker,consul,容器,运维

10. 增加一个测试的容器节点 

1)增加一个tomcat容器节点,测试服务发现及配置更新功能。

[root@huyang2 ~]# docker run -itd -p:8003:8080 -v /web:/usr/local/tomcat/webapps/ROOT --name huyang2-t3 -h huyang2-t3 tomcat

Docker+Consul+Registrator 实现服务注册与发现,docker,consul,容器,运维

2)观察consul-template服务,他会自动从模板更新/usr/local/nginx/conf/vhost/crushlinux.conf 文件内容,并且重载 nginx 服务。

Docker+Consul+Registrator 实现服务注册与发现,docker,consul,容器,运维

3)查看/usr/local/nginx/conf/vhost/crushlinux.conf 文件内容

[root@huyang1 ~]# cat

/usr/local/nginx/conf/vhost/crushlinux.conf

Docker+Consul+Registrator 实现服务注册与发现,docker,consul,容器,运维

 文章来源地址https://www.toymoban.com/news/detail-635354.html

到了这里,关于Docker+Consul+Registrator 实现服务注册与发现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • docker之 Consul(注册与发现)

    目录  一、什么是服务注册与发现? 二、什么是consul 三、consul 部署 3.1建立Consul服务 3.1.1查看集群状态 3.1.2通过 http api 获取集群信息 3.2registrator服务器 3.2.1安装 Gliderlabs/Registrator 3.2.2测试服务发现功能是否正常 3.2.3验证 http 和 nginx 服务是否注册到 consul 3.3consul-template 3.3.1准备

    2024年02月10日
    浏览(39)
  • Docker容器:docker consul的注册与发现及consul-template

    (1)服务注册与发现是微服务架构中不可或缺的重要组件。 (2)为解决服务都是单节点的,不保障高可用性,也不考虑服务的压力承载,服务之间调用单纯的通过接口访问的问题 (1)consul是google开源的一个使用go语言开发的服务管理软件。支持多数据中心、分布式高可用的

    2024年02月11日
    浏览(35)
  • Docker容器:docker consul的注册与发现及consul-template守护进程

    (1)服务注册与发现是微服务架构中不可或缺的重要组件。 (2)为解决服务都是单节点的,不保障高可用性,也不考虑服务的压力承载,服务之间调用单纯的通过接口访问的问题 (1)consul是google开源的一个使用go语言开发的服务管理软件。支持多数据中心、分布式高可用的

    2024年02月11日
    浏览(50)
  • Net Core Ocelot+Consul实现网关、服务注册、服务发现

    Ocelot是一个开源的ASP.NET Core微服务网关,它提供了API网关所需的所有功能,如路由、认证、限流、监控等。 Ocelot是一个简单、灵活且功能强大的API网关,它可以与现有的服务集成,并帮助您保护、监控和扩展您的微服务。 以下是Ocelot的一些主要功能: 路由管理:Ocelot允许您

    2024年01月21日
    浏览(45)
  • docker容器:Docker consul的容器服务更新与发现

    目录 一、Docker consul 1、什么是服务注册与发现 2、什么是consul 3、consul部署 ①实验目的 ②实验环境及拓扑 ③consul配置 ④registrator后端配置 ⑤测试发现功能是否正常 4、consul-template部署 ①准备template nginx模板文件 ②编译安装nginx ③安装template 5、验证template-nginx负载结果 6、测

    2024年02月04日
    浏览(39)
  • Docker consul、容器服务更新与发现

    Consul服务器:192.168.188.17,consul服务,nginx服务,consul-template守护进程 Registrator服务器:192.168.188.11,registrator容器,nginx容器 建立consul服务器 mkdir /opt/consul cp consul_0.9.2_linux_amd64.zip /opt/consul cd /opt/consul unzip consul_0.9.2_linux_amd64.zip mv consul /usr/local/bin/ 设置代理 在后台启动consul服务

    2024年01月19日
    浏览(37)
  • Docker 之 Consul容器服务更新与发现

    服务注册与发现是微服务架构中不可或缺的重要组件。起初服务都是单节点的,不保障高可用性,也不考虑服务的压力承载,服务之间调用单纯的通过接口访问。直到后来出现了多个节点的分布式架构,起初的解决手段是在服务前端负载均衡,这样前端必须要知道所有后端服

    2024年02月15日
    浏览(41)
  • 【Docker】Consul的容器服务更新与发现

    服务注册与发现是微服务架构中不可或缺的重要组件。起初服务都是单节点的,不保障高可用性,也不考虑服务的压力承载,服务之间调用单纯的通过接口访问。直到后来出现了多个节点的分布式架构,起初的解决手段是在服务前端负载均衡,这样前端必须要知道所有后端服

    2024年02月15日
    浏览(44)
  • Docker consul 容器服务自动发现和更新

    目录 一、什么是服务注册与发现 二、Docker-consul集群 1.Docker-consul consul提供的一些关键特性 2.registrator 3.Consul-template 三、Docker-consul实现过程 以配置nginx负载均衡为例 先配置consul-agent ,有两种模式server和client 四、Docker-consul集群配置 下载consul服务 常用启动选项 web服务器启动多

    2024年02月10日
    浏览(44)
  • Docker consul容器服务自动发现和更新

    目录 一、什么是服务注册与发现         二、Docker-consul集群 1.Docker-consul 2.registrator 3.Consul-template 三、Docker-consul实现过程 四、Docker-consul集群配置 1.下载consul服务 2.web服务器启动多例nginx容器,使用registrator自动发现 3.使用nginx做反向代理,使用Consul-template配置自动修改配

    2024年02月10日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包