consule服务注册和发现 安装 部署-阿里云开发者社区

开发者社区> 技术小牛人> 正文

consule服务注册和发现 安装 部署

简介:
+关注继续查看

安装部署参考

http://blog.sina.com.cn/s/blog_8ea8e9d50102wwlf.html

http://www.techweb.com.cn/network/system/2016-01-28/2270190.shtml


api连接参考 

https://github.com/JoergM/consul-examples


端口介绍

8500,客户端http api接口
8600,客户端DNS服务端口
8400,客户端RPC通信端口
8300,集群server RPC通信接口
8301,集群DC内部通信接口
8302,集群DC之间通信接口


consul的主要接口是RESTful HTTP API,该API可以用来增删查改nodes、services、checks、configguration



所有的endpoints主要分为以下类别:

1
2
3
4
5
6
7
kv - Key/Value存储
agent - Agent控制
catalog - 管理nodes和services
health - 管理健康监测
session - Session操作
acl - ACL创建和管理event - 用户Events
status - Consul系统状态


agent endpoints:agent endpoints用来和本地agent进行交互,一般用来服务注册和检查注册,支持以下接口

1
2
3
4
5
6
/v1/agent/checks : 返回本地agent注册的所有检查(包括配置文件和HTTP接口)
/v1/agent/services : 返回本地agent注册的所有 服务
/v1/agent/members : 返回agent在集群的gossip pool中看到的成员
/v1/agent/self : 返回本地agent的配置和成员信息/v1/agent/join/<address> : 触发本地agent加入node/v1/agent/force-leave/<node>>: 强制删除node
/v1/agent/check/register : 在本地agent增加一个检查项,使用PUT方法传输一个json格式的数据/v1/agent/check/deregister/<checkID> : 注销一个本地agent的检查项/v1/agent/check/pass/<checkID> : 设置一个本地检查项的状态为passing/v1/agent/check/warn/<checkID> : 设置一个本地检查项的状态为warning/v1/agent/check/fail/<checkID> : 设置一个本地检查项的状态为critical
/v1/agent/service/register : 在本地agent增加一个新的服务项,使用PUT方法传输一个json格式的数据/v1/agent/service/deregister/<serviceID> : 注销一个本地agent的服务项

catalog endpoints:catalog endpoints用来注册/注销nodes、services、checks

1
2
3
4
5
/v1/catalog/register : Registers a new node, service, or check/v1/catalog/deregister : Deregisters a node, service, or check/v1/catalog/datacenters : Lists known datacenters
/v1/catalog/nodes : Lists nodes in a given DC
/v1/catalog/services : Lists services in a given DC
/v1/catalog/service/<service> : Lists the nodes in a given service
/v1/catalog/node/<node> : Lists the services provided by a node

health endpoints:health endpoints用来查询健康状况相关信息,该功能从catalog中单独分离出来

1
2
3
4
/v1/healt/node/<node>: 返回node所定义的检查,可用参数?dc=
/v1/health/checks/<service>: 返回和服务相关联的检查,可用参数?dc=
/v1/health/service/<service>: 返回给定datacenter中给定node中service
/v1/health/state/<state>: 返回给定datacenter中指定状态的服务,state可以是"any""unknown""passing""warning", or "critical",可用参数?dc=


session endpoints:session endpoints用来create、update、destory、query sessions

1
2
3
4
5
/v1/session/create: Creates a new session
/v1/session/destroy/<session>: Destroys a given session
/v1/session/info/<session>: Queries a given session
/v1/session/node/<node>: Lists sessions belonging to a node
/v1/session/list: Lists all the active sessions


acl endpoints:acl endpoints用来create、update、destory、query acl

1
2
3
4
5
6
/v1/acl/create: Creates a new token with policy
/v1/acl/update: Update the policy of a token
/v1/acl/destroy/<id>: Destroys a given token
/v1/acl/info/<id>: Queries the policy of a given token
/v1/acl/clone/<id>: Creates a new token by cloning an existing token
/v1/acl/list: Lists all the active tokens


status endpoints:status endpoints用来或者consul 集群的信息

1
2
/v1/status/leader : 返回当前集群的Raft leader
/v1/status/peers : 返回当前集群中同事


服务注册:

 1. http方式

直接调用/v1/agent/service/register接口注册即可,需要注意的是:http method为PUT提交方式

1
curl -X PUT -d '{"id": "jetty","name": "test1111","address": "localhost","port": 8500,"tags": ["dev"],"checks": [{"http": "http://localhost:8500/","interval": "5s"}]}'     http://localhost:8500/v1/agent/service/register


2:通过配置文件的方式静态注册
    创建文件夹/etc/consul.d 
    .d代表有许多配置文件在里面
   vim /consul.d/jetty.json  内容如下:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{  
  "service":{  
    "id""jetty",  
    "name""jetty",  
    "address""192.168.1.200",  
    "port": 8080,  
    "tags": ["dev"],  
    "checks": [  
        {  
            "http""http://192.168.1.200:8080/health",  
            "interval""5s"  
        }  
    ]  
  }  
}

3. 使用python api 注册

http://python-consul.readthedocs.io/en/v0.7.0/




4.  中文consul翻译帮助文档

http://consul.la/intro/what-is-consul


5. consul 服务模板

https://github.com/hashicorp/consul-template

本文转自   tianshuai369   51CTO博客,原文链接:http://blog.51cto.com/kkkkkk/1914469


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
聊聊微服务的服务注册与发现
一个好的服务注册发现中间件,应该是能完整地满足服务开发和治理的基础功能,然后才是性能和高可用。如果没有想清楚前面的功能,再高的可用性和性能都是浮云。最后,安全也同样重要。下面将从 服务注册、服务发现、容灾和高可用三个大方面来回答这些问题的主流做法。
2871 0
Consul微服务的配置中心体验篇
Spring Cloud Consul 项目是针对Consul的服务治理实现。Consul是一个分布式高可用的系统,具有分布式、高可用、高扩展性 Consul Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置。
2184 0
安装并启用Active Directory域服务与DNS服务
为了使用Windows AD/ACL,首先需要在VPC内创建一个Active Directory域服务控制器。本文分步骤说明了如何在Windows Server系统中从头开始安装与配置AD域服务和相应的DNS服务
4518 0
SpringCloud之服务注册与发现Eureka+客户端Feign
SpringCloud之服务注册与发现Eureka+客户端Feign前言  SpringCloud 是微服务中的翘楚,最佳的落地方案。   Eureka 作为注册中心,是 SpringCloud 体系中最重要最核心的组件之一。
2629 0
Nacos配置中心和服务的注册发现
在上一篇中,我们已经把Nacos的集群搭建好了,那么既然已经搭建好了,就要在咱们的项目中去使用。Nacos既可以做配置中心,也可以做注册中心。我们先来看看在项目中如何使用Nacos做配置中心。
208 0
3530
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载