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炸金花出租平台搭建注册与发现的主要内容,如果未能解决你的问题,请参考以下文章

Python之微信H5斗牛出租平台搭建数据结构基础

程序员职业规划微信炸金花平台安装

h5微信炸金花平台:并购背后,掩藏着业界的哪些期许?

用 Python 和微信炸金花搭建的距离

H5炸金花源码搭建H5牛牛源码架设一条龙教程

微信炸金花源码搭建