Consul 概念(摘录):

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

Consul 功能:

  • 服务发现(Service Discovery):客户端通过 Consul 提供服务,其他客户端可以通过 Consul 利用 dns 或者 http 发现依赖服务
  • 健康检查(Health Checking): Consul 提供任务的健康检查,可以用来操作或者监控集群的健康,也可以在服务发现时去除失效的服务
  • 键值对存储(Key/Value Store): 存储层级键值对
  • 多数据中心(Multi Datacenter): Consul 支持开箱即用的多数据中心

架构图:


Mac OS 安装(使用 homebrew):

  1. $ brew install consul

Ubuntu 安装:

  1. $ wget https://releases.hashicorp.com/consul/0.7.2/consul_0.7.2_linux_amd64.zip
  2. $ sudo apt-get install unzip
  3. $ ls
  4. $ unzip consul_0.7.2_linux_amd64.zip
  5. $ sudo mv consul /usr/local/bin/consul
  6. $ wget https://releases.hashicorp.com/consul/0.7.2/consul_0.7.2_web_ui.zip
  7. $ unzip consul_0.7.2_web_ui.zip
  8. $ mkdir -p /usr/share/consul
  9. $ mv dist /usr/share/consul/ui

Consul 压缩包地址:https://www.consul.io/downloads.html

验证安装是否成功:

  1. $ consul
  2. usage: consul [--version] [--help] <command> [<args>]
  3. Available commands are:
  4. agent Runs a Consul agent
  5. event Fire a new event
  6. exec Executes a command on Consul nodes
  7. force-leave Forces a member of the cluster to enter the "left" state
  8. info Provides debugging information for operators
  9. join Tell Consul agent to join cluster
  10. keygen Generates a new encryption key
  11. leave Gracefully leaves the Consul cluster and shuts down
  12. members Lists the members of a Consul cluster
  13. monitor Stream logs from a Consul agent
  14. reload Triggers the agent to reload configuration files
  15. version Prints the Consul version
  16. watch Watch for changes in Consul

配置 Consul(官方资料):

  1. $ consul agent -dev
  2. $ consul agent -server -bootstrap-expect 1 -data-dir /tmp/consul -ui -config-dir /etc/consul.d -bind=192.168.1.100
  3. $ consul agent -data-dir /tmp/consul -node=ubuntu64 -bind=10.9.10.176

上面三种配置说明:

  1. Sever 模式,快捷配置,一般用于调试模式,不建议使用
  2. Sever 模式
  3. Client 模式

配置参数说明:

  • -server:- Serve 模式(不配置为 Client 模式),数量一般为 3-5 个
  • -bootstrap-expect: - Server 数量
  • -data-dir: - 数据目录
  • -ui-dir: - UI目录
  • -node: - Node名称
  • -bind: - 集群通讯地址

Server 模式后台访问地址:http://localhost:8500

其他命令:

  • consul members:查看集群成员
  • consul info:查看当前服务器的状况
  • consul leave:退出当前服务集群
  • ctrl + c:停止服务

consul members命令示例:

  1. Node Address Status Type Build Protocol DC
  2. server1.consul.com 200.21.1.101:8301 alive server 0.5.2 2 dc1
  3. agent1.consul.com 200.21.1.201:8301 alive client 0.5.2 2 dc1
  4. agent2.consul.com 200.21.1.202:8301 alive client 0.5.2 2 dc1
  5. server2.consul.com 200.21.1.102:8301 alive server 0.5.2 2 dc1
  6. server3.consul.com 200.21.1.103:8301 alive server 0.5.2 2 dc1
  7. agent3.consul.com 200.21.1.203:8301 alive client 0.5.2 2 dc1

参考资料:

Mac OS、Ubuntu 安装及使用 Consul的更多相关文章

  1. TensorFlow 安装官方教程:Ubuntu 安装,Mac OS X 安装,Windows 安装

    从我的使用体验来看  Ubuntu 是最好的, Mac 没有显卡,后期跑大项目比较鸡肋,Windows 安装各种依赖各种坑.Ubuntu 安装 TensorFlow 方便,后面安装  TensorFl ...

  2. Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验

    Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...

  3. wget Mac OS 下安装

    wget是一个从网络上自动下载文件的自由工具,支持通过HTTP.HTTPS.FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理. 下面介绍如何在Mac OS 下安装Wget 下载最新版的 ...

  4. Mac OS X安装OpenGL

    Mac OS X安装OpenGL 安装最新的cmake brew install cmake brew upgrade cmake 安装glew brew install glew 安装GLTools ...

  5. 在Mac OS上安装Vagrant和Docker的教程

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/128.html?1455808640 当听到很多人在说Docker是多么多 ...

  6. Mac OS X安装OpenCV 3.1.0

    在我的上一篇文章“”中已经介绍了Linux下OpenCV的安装配置方法,在这里仅仅记录Mac上相对于Linux的一点点差异. 1. 安装依赖包 Mac上安装软件包使用的工具是brew,用此来替代Ubu ...

  7. 在 Virtual Box 安装 Mac Os 并安装 Qt 开发应用

    导读 由于 Beslyric-for-X 项目开发需要,开始尝试在 Mac Os 下开发 Qt 应用.尝试成功后,记录于此,希望对有类似需求的人有所帮助. 本文以开发 Beslyric-for-X 为 ...

  8. 以 MAMP 为 Mac OS X 安装并设置 PHP开发环境

    PHP 页需要通过 Web 服务器处理.因此,要在 Dreamweaver 中使用 PHP 进行开发,您需要访问支持 PHP 的 Web 服务器和 MySQL 数据库.phpMyAdmin 也很实用, ...

  9. Mac OS 下安装wget

    环境:  Mac OS X 10.9.4 1 下载源码 地址: http://ftp.gnu.org/gnu/wget/wget-1.9.tar.gz 2 解压安装 tar zxvf wget-1.9 ...

随机推荐

  1. Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求

    上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...

  2. Python 小而美的函数

    python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况   any any(iterable) ...

  3. TODO:Golang指针使用注意事项

    TODO:Golang指针使用注意事项 先来看简单的例子1: 输出: 1 1 例子2: 输出: 1 3 例子1是使用值传递,Add方法不会做任何改变:例子2是使用指针传递,会改变地址,从而改变地址. ...

  4. WinForm 天猫2013双11自动抢红包【源码下载】

    1. 正确获取红包流程 2. 软件介绍 2.1 效果图: 2.2 功能介绍 2.2.1 账号登录 页面开始时,会载入这个网站:https://login.taobao.com/member/login ...

  5. ASP.NET MVC5+EF6+EasyUI 后台管理系统(69)-微信公众平台开发-功能概述

    系列目录 为什么要先发这个文章? 因为接下来的文章是关于微信开发的系列,心中一定要有一个概念,知道自己接下来要做什么功能. 而且微信到处都是坑,我首先要把微信与本地跑通起来才敢发布,否则中间出现坑导致 ...

  6. jQuery学习之路(5)- 简单的表单应用

    ▓▓▓▓▓▓ 大致介绍 接下来的这几个博客是对前面所学知识的一个简单的应用,来加深理解 ▓▓▓▓▓▓ 单行文本框 只介绍一个简单的样式:获取和失去焦点改变样式 基本结构: <form actio ...

  7. 漫谈TCP

    不得不承认,tcp是一个非常复杂的协议.它包含了RFC793及之后的一些协议.能把tcp的所有方面面面具到地说清楚,本身就是个很复杂的事情.如果再讲得枯燥,那么就会更让人昏昏欲睡了.本文希望能尽量用稍 ...

  8. UWP简单示例(三):快速开发2D游戏引擎

    准备 IDE:VisualStudio 2015 Language:VB.NET/C# 图形API:Win2D MSDN教程:UWP游戏开发 游戏开发涉及哪些技术? 游戏开发是一门复杂的艺术,编码方面 ...

  9. [WPF] Wait for a moment.

    一.控件介绍 在 WPF 中使用的等待控件,控件包括三种,普通的等待信息提示(WaitTip),进度条提示(WaitProgress),以及主程序覆盖的模拟时钟等待窗口(WaitClock),具体效果 ...

  10. linux之查看系统命令

    cpu信息 1.查看逻辑cpu核数 # cat /proc/cpuinfo| grep "processor"| wc -l 2.查看物理cpu个数 # cat /proc/cpu ...