分布式服务发现与配置之Consul】的更多相关文章

Service discovery and configuration made easy. Distributed, highly available, and datacenter-aware. 服务发现和配置,分布式,高可用性,数据中心. 服务注册 - 服务端注册相应的的主机.端口号及其它身份验证信息,协议,版本号,以及运行环境等详细资料. 服务发现 - 客户端应用通过向注册中心查询,获取可用服务列表,相应服务详细信息. 基本服务格式: { "service":{ "i…
Consul 是什么 consul是一个支持多数据中心分布式高可用服务发现和配置共享的服务软件,由HashiCorp 公司用 Go 语言开发, 基于 Mozilla Public License 2.0 的协议进行开源. . Consul 支持健康检查,并允许 HTTP 和 DNS 协议调用 API 存储键值对.命令行超级好用的管理软件,vgrant 也是 HashiCorp 公司开发的产品. 一致性协议采用Raft算法,来保证服务的高可用, 使用 GOSSIP 协议管理成员和广播消息, 并且支…
Consule 是什么 Consul包含多个组件,但是作为一个整体,为你的基础设施提供服务发现和服务配置的工具.他提供以下关键特性: 服务发现 Consul 的客户端可用提供一个服务,比如 api 或者mysql ,另外一些客户端可用使用 Consul 去发现一个指定服务的提供者.通过 DNS 或者 HTTP 应用程序可用很容易的找到他所依赖的服务. 健康检查 Consul 客户端可用提供任意数量的健康检查,指定一个服务(比如: webserver 是否返回了200 OK 状态码)或者使用本地节…
原文地址-石匠的Blog: http://www.bugclosed.com/post/5 在分布式架构中,服务治理是一个重要的问题.在没有服务治理的分布式集群中,各个服务之间通过手工或者配置的方式进行服务关系管理,遇到服务关系变化或者增加服务的时候,人肉配置极其麻烦且容易出错. 之前在一个C/C++项目中,采用ZooKeeper进行服务治理,可以很好的维护服务之间的关系,但是使用起来较为麻烦.现在越来越多新的项目采用consul进行服务治理,各方面的评价都优于ZooKeeper,经过几天的研究…
服务发现和注册 我们有了两个服务.服务A的IP地址是192.168.0.1,端口9001,服务B的IP地址192.168.0.2,端口9002.我们的客户端需要调用服务A和服务B,我们只需要在配置文件中写上服务A和服务B的IP地址即可. 此时,服务A的服务器负载有点高,我们需要临时增加服务A的实例,IP192.168.0.3,端口9001.但是我们的客户端要怎么才能调用新的实例? 常规来说,我们可以有以下几种方法: 网络代理方式 如果是http方式通信的服务,可以增加一个nginx做反向代理,转…
抄自这里 ************************************************************************************************ 网上找来找去都是zk和etcd的比较,和consul的比较很少,这个感觉还算靠谱,也在别的地方看到过对consul的吐槽,记录下 ***********************************************************************************…
什么是服务发现? 服务发现并没有怎样的高深莫测,它的原理再简单不过.只是市面上太多文章将服务发现的难度妖魔化,读者被绕的云里雾里,顿觉自己智商低下不敢高攀. 服务提供者是什么,简单点说就是一个HTTP服务器,提供了API服务,有一个IP端口作为服务地址.服务消费者是什么,它就是一个简单的进程,想要访问服务提供者提供的服务来干一些事情.一个HTTP服务器既可以是服务提供者对外提供服务,也可以是消费者需要别的服务提供者提供的服务,这就是服务依赖,没有你我就不是我自己.复杂的服务甚至有多个服务依赖.…
背景 本文并不介绍服务发现的基本原理.除了一致性算法之外,其他并没有太多高深的算法,网上的资料很容易让大家明白上面是服务发现. 想直接查看结论的同学,请直接跳到文末. 目前,市面上有非常多的服务发现工具,<Open-Source Service Discovery>(http://jasonwilder.com/blog/2014/02/04/service-discovery-in-the-cloud/)一文中列举了如下开源的服务发现工具. Name Type AP or CP Langua…
服务发现并没有怎样的高深莫测,它的原理再简单不过.只是市面上太多文章将服务发现的难度妖魔化,读者被绕的云里雾里,顿觉自己智商低下不敢高攀. 服务提供者是什么,简单点说就是一个HTTP服务器,提供了API服务,有一个IP端口作为服务地址.服务消费者是什么,它就是一个简单的进程,想要访问服务提供者提供的服务来干一些事情.一个HTTP服务器既可以是服务提供者对外提供服务,也可以是消费者需要别的服务提供者提供的服务,这就是服务依赖,没有你我就不是我自己.复杂的服务甚至有多个服务依赖. 服务发现有三个角色…
上图整理了服务配置过程中所用到的基本的元素,大致的步骤: 1. 主要是首先要在调用服务的程序集中添加服务的一个引用. 2.  然后添加一个service并指定服务的名称.终结点. 在添加一个service时会在其中指定终结点的信息,终结点说的就是服务的具体信息访问方式,在终结点中添加服务address及binding信息和contract(服务契约)信息等.在endpoint中添加的binding只是指定了服务绑定的访问方式,例如:basicHttpBinding等,真正的binding配置是需…