Consul服务之微信H5炸金花出租平台搭建注册与发现
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Consul服务之微信H5炸金花出租平台搭建注册与发现相关的知识,希望对你有一定的参考价值。
服务发现是基于微服务架构的关键原则之一。尝试配置每个客户端或某种形式的约定可能非常困难,可以非常脆弱。Consul通过HTTP API和DNS提供服务发现服务。Spring Cloud Consul利用HTTP API进行服务注册和发现。这不会阻止非Spring云应用程序利用DNS界面。Consul代理服务器在通过八卦协议进行通信的群集中运行,并使用筏式协议协议。
微信H5炸金花出租平台搭建参考网站:h5.fanshubbs.com 联系Q1687054422
Consul 四大特性
Service Discovery (服务发现)
Health Check (健康检查)
Multi Datacenter (多数据中心)
Key/Value Storage
Consul相关知识点
Agent
Agent 是一个守护进程
运行在Consul集群的每个成员上
有Client 和 Server 两种模式
所有Agent都可以被调用DNS或者HTTP API,并负责检查和维护同步
Client
Client 将所有RPC请求转发至Server
Client 是相对无状态的
Client 唯一做的就是参与LAN Gossip Pool
Client 只消耗少量的资源和少量的网络带宽
Server
参与 Raft quorum(一致性判断)
响应RPC查询请求
维护集群的状态
转发查询到Leader 或 远程数据中心
Datacenter数据中心
私有的
低延迟
高带宽
Consensus (一致性)
Consul 使用consensus protocol 来提供CAP(一致性,高可用,分区容错性)
Gossip
一种协议: 用来保证 最终一致性 , 即: 无法保证在某个时刻, 所有节点状态一致, 但可以保证”最终”一致
启动Consul
Consul安装之后,代理必须运行。 代理可以在服务器或客户端模式下运行。 每个数据中心都必须至少有一台服务器,但推荐使用3台或5台服务器。 一个单一的服务器部署是非常不推荐的,因为在故障情况下数据丢失是不可避免, 所有其他代理以客户端模式运行。 客户端是一个非常轻量级的进程,它注册服务,运行健康检查,并将查询转发给服务器。 代理程序必须在集群中的每个节点上运行。
下面介绍几个命令:
consul agent -dev 以开发模式启动代理,不会持久化信息
consul members 查看集群成员
注册服务
服务可以通过提供服务定义或通过对HTTP API进行适当的调用来注册。
服务定义是注册服务最常用的方式,所以我们将在这一步中使用这种方法。 我们将建立在上一步中介绍的代理配置。
首先,为Consul配置创建一个目录。 Consul将所有配置文件加载到配置目录中,因此Unix系统上的一个通用约定是将目录命名为/etc/consul.d(.d后缀意味着“该目录包含一组配置文件”)。
建立服务配置目录:mkdir /etc/consul.d
添加文件:echo ‘{"service": {"name": "web", "tags": ["rails"], "port": 80}}‘ | sudo tee /etc/consul.d/web.json
以开发模式启动:consul agent -dev -config-dir=/etc/consul.d
以服务方式启动:consul agent -server -bootstrap-expect 2 -data-dir ./tmp/consul -node=n1 -bind=192.168.109.241 -ui-dir ./dist -dc=dc1
以客户端方式启动:consul agent -data-dir ./tmp/consul -ui-dir ./dist -bind=192.168.109.204 -dc=dc1
加入集群
将新节点添加到集群:consul join 192.168.100.101(其中101这个节点是master)
显示成员:consul members
以上是关于Consul服务之微信H5炸金花出租平台搭建注册与发现的主要内容,如果未能解决你的问题,请参考以下文章