1、consul 是B/C架构。服务端和客户端包是一样的。差别在于启动时候的参数。

--客户端
./consul agent -join=172.29.2.65:8301 -bind=172.29.3.164 -client=172.29.3.164 -data-dir=/app/consul/data -node=client1 -encrypt=eOC89RMstTVHq92WTb8ExQ== --服务端
nohup consul agent -server -bind=0.0.0.0 -client=0.0.0.0 -bootstrap-expect=1 -data-dir=/app/consul/data/server -node=server1 -encrypt=eOC89RMstTVHq92WTb8ExQ== -ui &

2、常用命令

查看成员
[root@LAPP-V576 ~]# consul members
Node Address Status Type Build Protocol DC Segment
server1 172.29.2.65:8301 alive server 1.0.7 2 dc1 <all>
client1 172.29.3.164:8301 alive client 1.0.7 2 dc1 <default> 产生公用的秘钥: [root@LAPP-V576 ~]# consul keygen
hHps7HHRPFvswm5VPeRx1g== 查看版本号: [root@LAPP-V576 ~]# consul version
Consul v1.0.7
Protocol 2 spoken by default, understands 2 to 3 (agent will automatically use protocol >2 when speaking to compatible agents)

4、consul服务查询和post 手工模拟注册服务

手工注册一个服务:
curl -X PUT -d '' http://172.29.3.164:8500/v1/catalog/register 查看当前的node
[root@LAPP-V454 bin]# curl 172.29.3.164:8500/v1/catalog/nodes
[{"ID":"","Node":"client1","Address":"172.29.3.164","Datacenter":"dc1","TaggedAddresses":null,"Meta":null,"CreateIndex":241,"ModifyIndex":471},{"ID":"601cd493-489e-3efa-f6b7-fa7fa1e95caa","Node":"server1","Address":"172.29.2.65","Datacenter":"dc1","TaggedAddresses":{"lan":"172.29.2.65","wan":"172.29.2.65"},"Meta":{"consul-network-segment":""},"CreateIndex":5,"ModifyIndex":6}][root@LAPP-V454 bin]# 查看服务:
[root@LAPP-V454 bin]# dig @172.29.3.164 -p 8600 test01.node.consul SRV ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> @172.29.3.164 -p 8600 test01.node.consul SRV
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62327
;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available ;; QUESTION SECTION:
;test01.node.consul. IN SRV ;; Query time: 0 msec
;; SERVER: 172.29.3.164#8600(172.29.3.164)
;; WHEN: Wed Oct 16 16:56:59 2019
;; MSG SIZE rcvd: 36

5、consul服务注册、健康检查和查询

{
"ID": "userServiceId", //服务id
"Name": "userService", //服务名
"Tags": [ //服务的tag,自定义,可以根据这个tag来区分同一个服务名的服务
"primary",
"v1"
],
"Address": "127.0.0.1",//服务注册到consul的IP,服务发现,发现的就是这个IP
"Port": 8000, //服务注册consul的PORT,发现的就是这个PORT
"EnableTagOverride": false,
"Check": { //健康检查部分
"DeregisterCriticalServiceAfter": "90m",
"HTTP": "http://www.baidu.com", //指定健康检查的URL,调用后只要返回20X,consul都认为是健康的
"Interval": "10s" //健康检查间隔时间,每隔10s,调用一次上面的URL
}
} 启动本机上的tomcat
保证
http://172.29.3.164:8080 返回200 注册服务
curl -X PUT -d '{"Datacenter": "dc1","Service": {"Service": "test01", "tags": ["dev"],"address": "172.29.3.164", "Port": 8080
"checks": [ {
"http": "http://172.29.3.164:8080",
"interval": "5s"
}
}}' http://172.29.3.164:8500/v1/catalog/register 查找服务:
curl http://172.29.2.65:8500/v1/catalog/service/test01
[{"ID":"e2f76ac4-4086-f85e-8eeb-d67c7e46e30a","Node":"client1","Address":"172.29.3.164","Datacenter":"dc1","TaggedAddresses":{"lan":"172.29.3.164","wan":"172.29.3.164"},"NodeMeta":{"consul-network-segment":""},"ServiceID":"test01","ServiceName":"test01","ServiceTags":["ceis","font"],"ServiceAddress":"172.29.3.164","ServiceMeta":{},"ServicePort":8080,"ServiceEnableTagOverride":false,"CreateIndex":749,"ModifyIndex":749}][root@LAPP-V454 yyapp]#

返回结果测试:

6、consul 常用其他

注销微服务
curl -s -X PUT "http://$CONSUL_NODE/v1/agent/service/maintenance/$SERVER_ID?enable=true&reason=Deploy_New_Versiont" # 等待30秒
sleep 30 # 注销旧服务
curl -s -X PUT "http://$CONSUL_NODE/v1/agent/service/deregister/$SERVER_ID"
curl -s -X PUT "http://172.29.2.65:8500/v1/agent/service/maintenance/test01?enable=true&reason=Deploy_New_Versiont"

curl -s -X PUT "http://172.29.2.65:8500/v1/agent/service/deregister/test01"

测试效果图:

参考地址:https://www.cnblogs.com/duanxz/p/9662862.html

consul-常用命令的更多相关文章

  1. Consul常用命令

    1.consul启动# consul agent -dev # -dev表示开发模式运行,另外还有-server表示服务模式运行 注意:-dev节点的启动不能用于生产环境,因为该模式下不会持久化任何状 ...

  2. 附1 consul常用命令+常用选项

    之后每用到一个command或options,都会记录在这里. 常用命令command: agent 作用:运行一个consul agent join 作用:将agent加入到consul clust ...

  3. Consul 简介、安装、常用命令的使用

    1 Consul简介 Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置.与其他分布式服务注册与发现的方案,Consul的方案更"一站式" ...

  4. Linux 常用命令(持续补充)

    常用命令: command &:将进程放在后台执行 ctrl + z:暂停当前进程 并放入后台 jobs:查看当前后台任务 bg( %id):将任务转为后台执行 fg( %id):将任务调回前 ...

  5. LVM基本介绍与常用命令

    一.LVM介绍LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制LVM - 优点:LVM通常用于装备大量磁盘的系统,但它同样适 ...

  6. Linux学习笔记(一):常用命令

    经过统计Linux中能够识别的命令超过3000种,当然常用的命令就远远没有这么多了,按照我的习惯,我把已经学过的Linux常用命令做了以下几个方面的分割: 1.文件处理命令 2.文件搜索命令 3.帮助 ...

  7. git常用命令(持续更新中)

    git常用命令(持续更新中) 本地仓库操作git int                                 初始化本地仓库git add .                       ...

  8. 【原】npm 常用命令详解

    今年上半年在学习gulp的使用,对npm的掌握是必不可少的,经常到npm官网查询文档让我感到不爽,还不如整理了一些常用的命令到自己博客上,于是根据自己的理解简单翻译过来,终于有点输出,想学习npm这块 ...

  9. npm常用命令

    npm常用命令 环境:win7 npm 是什么 NPM(node package manager),通常称为node包管理器.顾名思义,它的主要功能就是管理node包,包括:安装.卸载.更新.查看.搜 ...

  10. Git 常用命令

    一.初始環境配置 git config --global user.name "John Doe"git config --global user.email johndoe@ex ...

随机推荐

  1. Water 2.5 发布,一站式服务治理平台

    Water(水孕育万物...) Water 为项目开发.服务治理,提供一站式解决方案(可以理解为微服务架构支持套件).基于 Solon 框架开发,并支持完整的 Solon Cloud 规范:已在生产环 ...

  2. Java语法专题1: 类的构造顺序

    合集目录 Java语法专题1: 类的构造顺序 问题 下面的第二个问题来源于Oracle的笔试题, 非常经典的一个问题, 我从07年开始用了十几年. 看似简单, 做对的比例不到2/10. 描述一下多级继 ...

  3. Vue.js之计算属性(computed)、属性监听(watch)与方法选项(methods)

    vue.js官网:https://cn.vuejs.org/v2/guide/components-registration.html 一.计算属性-computed 1. 作用:能够避免数据冗余,通 ...

  4. 服务器性能测试利器之sysbench

    前言 sysbench是一个开源的.模块化的.跨平台的多线程性能测试工具,可以用来进行CPU.内存.磁盘I/O.线程.数据库的性能测试.sysbench是基于LuaJIT的可编写脚本的多线程基准测试工 ...

  5. NFS(Network File System)即网络文件系统 (转)

    第1章 NFS介绍 1.1 NFS服务内容的概述 □ RPC服务知识概念介绍说明,以及RPC服务存在价值(必须理解掌握) □ NFS服务工作原理讲解(必须理解掌握) □ NFS共享文件系统使用原理讲解 ...

  6. rust 实战 - 实现一个线程工作池 ThreadPool

    如何实现一个线程池 线程池:一种线程使用模式.线程过多会带来调度开销,进而影响缓存局部性和整体性能.而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务.这避免了在处理短时间任务时创建与销毁线 ...

  7. git本地仓库关联多个远程仓库及取消关联

    关联 本地和远程仓库关联步骤: 在网站上(如gitee.github等,这里以gitee为例)首先添加好自己的ssh公钥 本地创建一个空的项目,即文件夹. 在文件夹下git init初始化仓库 在gi ...

  8. 虫师Selenium2+Python_7、unittest单元测试框架

    P173--通过unittest单元测试框架别写测试用例 from calculator import Count import unittest   class TestCount(unittest ...

  9. Windows office2019免费激活,附代码

    office2019地址:链接:https://pan.baidu.com/s/1zPt5U7b0L-bGHl5AOtYs2w提取码:m5ei 新建一个txt,然后把这段代码放进去,然后保存关闭改后缀 ...

  10. NOIP2021T1报数——黄蓝紫黑的神奇梯度

    7A3T 点击查看代码 #include<iostream> #include<cstdio> #include<cmath> #include<algori ...