iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >windows下如何搭建Consul集群
  • 131
分享到

windows下如何搭建Consul集群

2023-07-02 14:07:57 131人浏览 安东尼
摘要

这篇文章主要介绍“windows下如何搭建Consul集群”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“windows下如何搭建Consul集群”文章能帮助大家解决问题。Consul 是 Hashi

这篇文章主要介绍“windows下如何搭建Consul集群”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“windows下如何搭建Consul集群”文章能帮助大家解决问题。

Consul 是 HashiCorp 公司的一个用于实现分布式系统的服务发现与配置工具。Consul内置了服务注册与发现框 架、分布一致性协议实现、健康检查、Key/Value存储、多数据中心方案。由于出现得晚些,Consul具有功能完善、部署简单、使用方便等特点。

安装consul:

Consul由Go语言开发,因此也继承了Go语言跨平台,易安装的特点。

这里以Windows平台为例,我这里下载的是64位版本,解压后就一个exe程序,直接以如下命令启动:

consul agent-dev

这里有两个参数: agent表面启动了一个服务实例, -dev则是以快速开发的方式启动这个实例。这个参数包含了大多数常用的功能,可以比较方便我们演示后面的功能,但它不对服务进行序列化,因此是不能应用于生产环境的。

启动后,可以看到如下提示信息:

> consul agent –dev==> Starting Consul agent...==> Consul agent running!Version: 'v1.4.0'node ID: 'e59c9885-c8df-608a-f870-dab9078f5c0d'Node name: 'Develop-PC1'Datacenter: 'dc1' (Segment: '<all>')Server: true (Bootstrap: false)Client Addr: [127.0.0.1] (Http: 8500, https: -1, grpc: 8502, DNS: 8600)Cluster Addr: 127.0.0.1 (LAN: 8301, WAN: 8302)Encrypt: Gossip: false, TLS-Outgoing: false, TLS-Incoming: false

WEB界面:

Consul自带一个界面美观,功能强大的,开箱即用的Web界面。通过该界面我们可以查看所有的服务以及节点,查看所有的健康监测及其当前的状态,以及读取和设置键/值数据。

该界面被映射到/ui上,和HTTP api使用相同的端口。默认就是http://localhost:8500/ui。

windows下如何搭建Consul集群

如果你要在其它机器上访问该Web界面,可以加上-client参数指定绑定的IP。

consul agent -dev -bind=192.168.2.210 -client 0.0.0.0

静态配置服务

consul支持配置文件的方式静态配置服务,首先我们定义一个JSON格式的配置文件:

{    "service": {        "name": "web",        "tags": [            "rails"        ],        "port": 80    }}

配置文件主要指定的是服务名称,地址,端口等信息。

然后用-config-dir指定配置文件目录启动consul,consul会自动加载该目录下的所有json文件,每个文件作为一个静态配置服务。

> consul agent -dev -bind=192.168.0.211 -config-dir ./services
==> Starting Consul agent...==> Consul agent running!...2018/12/05 11:43:23 [DEBUG] agent: Node info in sync2018/12/05 11:43:23 [DEBUG] agent: Service "web" in sync2018/12/05 11:43:23 [DEBUG] agent: Node info in sync2018/12/05 11:43:25 [DEBUG] agent: Skipping remote check "serfHealth" since it is managed automatically2018/12/05 11:43:25 [DEBUG] agent: Service "web" in sync2018/12/05 11:43:25 [DEBUG] agent: Node info in sync

从输出信息中可以看到名为"web"的服务已经同步进来。

也可以在web界面上看到该服务:

windows下如何搭建Consul集群

动态注册服务

除了静态配置外,使用的最多的还是服务主动注册的方案。consul提供了一系列rest接口使得我们可以方便的注册自己的服务。

创建服务

  • 接口地址:http://localhost:8500/v1/agent/service/reGISter

  • 操作方式:PUT

{    "ID": "redis1",    "Name": "Redis",    "Tags": [        "primary",        "v1"    ],    "Address": "127.0.0.1",    "Port": 8000,    "EnableTagOverride": false,    "Check": {        "DeregisterCriticalServiceAfter": "90m",        "Script": "/usr/local/bin/check_redis.py",        "HTTP": "http://localhost:5000/health",        "Interval": "10s"    }}

删除服务

  • 接口地址:http://localhost:8500/v1/agent/service/deregister/redis1

  • 操作方式:PUT

查询指服务信息

  • 接口地址: http://localhost:8500/v1/catalog/service/web

  • 操作方式: GET

查看服务的健康状态

  • 接口地址: http://localhost:8500/v1/catalog/service/web?passing

  • 操作方式: GET

集群搭建

consul的集群拓扑架构如下图所示:

windows下如何搭建Consul集群

它主要具有如下两种状态的节点:

Server: 有完整功能的代理,这些功能包括参与Raft选举,维护集群状态,响应rpc查询,与其他数据中心交互WAN gossip和转发查询给leader或者远程数据中心。

Client:一个Client是一个转发所有RPC到server的代理。这个client是相对无状态的。client唯一执行的后台活动是加入LAN gossip池。这有一个最低的资源开销并且仅消耗少量的网络带宽。

consul的集群搭建本身涉及的内容比较多,具体可参看文章Consul 集群部署。本文这里就介绍一个最简单的拓扑情况:1server + nclient的场景。

启动Server:

启动Server的指令一般如下:

consul agent -data-dir=./data -node=node0 -bind=192.168.0.211 -datacenter=dc1 -ui -client=0.0.0.0 -server -bootstrap-expect 1

这里用到了不少参数,这里就简单的介绍下:

  • -data-dir=./data 必须,指定数据文件存储路径

  • -node=node0 必须,指定了节点的名称,该名称在整个网络中必须唯一。

  • -bind=192.168.0.211 多Ip地址机器上必须,指定了绑定的Ip地址

  • -datacenter=dc1 可选,指定了所属的数据中心,默认为dc1

  • -ui 可选,是否启用web服务器

  • -client=0.0.0.0 可选,指定了可以访问的客户端范围,默认是127.0.0.1

  • -server 必须,表明了该节点是server节点

  • -bootstrap-expect 1 可选

有了上述知识后,在最简单的场景下,一般可以简化为如下形式:

consul agent -data-dir ./data -node=node0 -bind=192.168.0.211 -ui -server

启动Client:

启动Client的指令一般如下:

consul agent -data-dir=./data -node=node1 -bind=192.168.0.210 -datacenter=dc1 -ui -client=0.0.0.0 -join 192.168.0.211

同样,基于前面的介绍,我们也可以把启动客户端指令简化如下:

consul agent -data-dir=./data -node=node1 -bind=192.168.0.210 -ui -join 192.168.0.211

相比启动Server的指令,少了一个-server,表明它是一个客户端agent,同是,多了一个-join 192.168.0.211,表明了它需要连接到那个server。这个参数也可以不配置,通过命令行consul join 192.168.0.211手动加入。

启动了client后,就可以通过consul members指令查看成员了:

> consul membersNode Address Status Type Build Protocol DC Segmentnode0 192.168.0.211:8301 alive server 1.4.0 2 dc1 <all>node1 192.168.0.210:8301 alive client 1.4.0 2 dc1 <default>

也可以通过Http接口查看:

http://localhost:8500/v1/catalog/nodes

[    {        "ID": "4314607d-629c-24a0-9e6c-d787efebe8c9",        "Node": "node0",        "Address": "192.168.0.211",        "Datacenter": "dc1",        "TaggedAddresses": {            "lan": "192.168.0.211",            "wan": "192.168.0.211"        },        "Meta": {            "consul-network-segment": ""        },        "CreateIndex": 5,        "ModifyIndex": 6    },    {        "ID": "0a59426a-1723-6389-8681-0a16b54965e4",        "Node": "node1",        "Address": "192.168.0.210",        "Datacenter": "dc1",        "TaggedAddresses": {            "lan": "192.168.0.210",            "wan": "192.168.0.210"        },        "Meta": {            "consul-network-segment": ""        },        "CreateIndex": 456,        "ModifyIndex": 457    }]

同样,也可以在web界面查看:

windows下如何搭建Consul集群

关于“windows下如何搭建Consul集群”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: windows下如何搭建Consul集群

本文链接: https://www.lsjlt.com/news/342588.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • windows下搭建Consul集群
    Consul 是 HashiCorp 公司的一个用于实现分布式系统的服务发现与配置工具。Consul内置了服务注册与发现框 架、分布一致性协议实现、健康检查、Key/Value存储、...
    99+
    2022-11-13
  • windows下如何搭建Consul集群
    这篇文章主要介绍“windows下如何搭建Consul集群”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“windows下如何搭建Consul集群”文章能帮助大家解决问题。Consul 是 Hashi...
    99+
    2023-07-02
  • Windows下如何搭建Redis集群
    这篇文章给大家分享的是有关Windows下如何搭建Redis集群的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Redis集群:如果部署到多台电脑,就跟普通的集群一样;因为Redis是单线程处理的,多核CPU也只能...
    99+
    2023-06-29
  • .NetCore服务治理Consul搭建集群
    延续上一篇的话题继续,顺便放上一篇的传送门:点这里。 集群的必要性 consul本身就是管理集群的,现在还需要给consul搞个集群,这是为啥?因为consul单点也容易挂啊!万一管...
    99+
    2022-11-12
  • 如何使用docker compose搭建consul集群环境
    这篇文章主要介绍如何使用docker compose搭建consul集群环境,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!consul基本概念server模式和client模式server模式和client模式是co...
    99+
    2023-06-15
  • windows下搭建redis集群的方法
    小编给大家分享一下windows下搭建redis集群的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言:集群是指通过添加服...
    99+
    2022-10-18
  • Windows下搭建Redis集群的方法步骤
    目录Redis集群:在Windows系统下搭建Redis集群:1.下载并安装Redis2.下载并安装ruby3.创建Redis集群Redis集群: 如果部署到多台电脑,就跟普通的集群...
    99+
    2022-11-13
  • Windows下如何搭建单机Redis集群测试环境
    小编给大家分享一下Windows下如何搭建单机Redis集群测试环境,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!由于业务需要,...
    99+
    2022-10-19
  • 使用docker compose搭建consul集群环境的例子
    consul基本概念 server模式和client模式 server模式和client模式是consul节点的类型;client不是指的用户客户端。 server模式提供...
    99+
    2022-11-12
  • Docker Consul集群环境搭建的方法是什么
    本篇内容介绍了“Docker Consul集群环境搭建的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、Docker ...
    99+
    2023-06-22
  • CentOS 6.7下如何搭建Hadoop 2.7.3集群
    这篇文章主要介绍了CentOS 6.7下如何搭建Hadoop 2.7.3集群,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Hadoop集群有三种运行模式:单机模式、伪分布模式...
    99+
    2023-06-03
  • Windows环境下搭建配置redis集群的教程
    Redis集群:Redis 集群是一个提供在多个Redis间节点间共享数据的程序集,集群节点共同构建了一个去中心化的网络,集群中的每个节点拥有平等的身份,节点各自保存各自的数据和集群状态。节点之间采用Gos...
    99+
    2022-10-18
  • mongodb linux下集群搭建过程
    mongodb的集群结构如上图 网上有个mongo3.0的集群例子: https://www.jb51.net/article/191388.htm router提供入口,mong...
    99+
    2022-11-13
  • 如何搭建redis集群
    这篇文章主要讲解了“如何搭建redis集群”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何搭建redis集群”吧!redis集群搭建在开始redis集群搭建之前,我们先简单回顾一下redi...
    99+
    2023-06-25
  • redis集群如何搭建
    这篇文章给大家分享的是有关redis集群如何搭建的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。介绍安装环境与版本用两台虚拟机模拟6个节点,一台机器3个节点,创建出3 master...
    99+
    2022-10-18
  • 如何搭建MySQL集群
    这篇文章给大家介绍如何搭建MySQL集群,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。概述MySQL Cluster 是MySQL 适合于分布式计算环境的高实用、可拓展、高性能、高冗余...
    99+
    2022-10-18
  • hadoop如何搭建集群
    搭建Hadoop集群需要以下步骤:1. 确保所有节点的操作系统版本一致,并配置好网络环境。2. 在每个节点上安装Java环境,并设置...
    99+
    2023-08-16
    hadoop
  • RabbitMQ集群如何搭建
    这篇文章主要讲解了“RabbitMQ集群如何搭建”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“RabbitMQ集群如何搭建”吧!1.前提erlang安装版本一致RabbitMQ安装版本一致以...
    99+
    2023-06-26
  • Zookeeper集群如何搭建
    这篇文章主要介绍“Zookeeper集群如何搭建”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Zookeeper集群如何搭建”文章能帮助大家解决问题。一、Zookeeper原理简介ZooKeeper...
    99+
    2023-06-28
  • Nacos集群如何搭建
    小编给大家分享一下Nacos集群如何搭建,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 一、Nacos 简介Nacos(Naming and Confi...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作