consul

SpringCloudConfig配置中心选型思考

痞子三分冷 提交于 2020-02-28 09:34:10
分布式配置中心选型思考 基于2.2.1.RELEASE版本, >>>官方文档<<< 衡量指标: 有靠谱的web管理系统,至少常规的配置参数管理功能,如:修改、删除、新增等 要有比较高服务稳定性 最好能支持分布式,长远考虑有利于扩展 开源,至少有开源版本 有热度,使用和维护的人多,大厂背书 开发语言不能是小众的,最好是主流的语言 部署实施简单,有容器化版本是最好 数据存储和备份支持,能恢复 系统独立性好,不能有太多三方依赖 Vault Vault是一个有web界面的配置存储和管理工具,成熟现代的商业软件同时有开源的社区版。就这个软件来说功能齐全,社区热度高持续迭代中。 Consul 研究Vault时,看到官网有提到相关比较,顺便看了看 Consul不仅仅是一个服务注册与发现中间件,同时还能提供配置存储管理能力,这一点确实很地道的功能。要是你的服务注册发现正好使用的是consul,推荐直接采用同时作为配置管理,因为consul在高可用、高扩展、存储上能力非常强,不需要过多解释。 Chef 研究Vault时,看到官网有提到相关比较,顺便看了看 自动化服务器配置管理工具,比较适合服务器级别的运维,可以进行脚本模版化运行,是DevOps中运维自动化模块解决方案之一,有开源版本和商业版本。采用Ruby开发,有web界面,很多大型公司在用,社区热度足够。Chef工具的使用

新特性解读 | MySQL 8.0.19 支持 DNS SRV

两盒软妹~` 提交于 2020-02-27 15:39:00
转载自公众号:玩转MySQL 作者:洪斌 MySQL Router 是 InnoDB Cluster 架构的访问入口,在架构部署上,官方给出的建议是 router 与应用端绑定部署,避免 router 单点问题。 之前还有客户咨询,能否 router 不与应用端绑定部署,不便于部署,在此之前都需要在 router 前面加 VIP 或者一层负载均衡。 我还在想这事儿就应该由 MySQL Connector 来实现访问链路的 Failover 和 Loadbalance, 现在有了 DNS SRV 的支持,router 不必和应用端绑定部署,也可以省了 VIP 和负载均衡,MySQL InnoDB Cluster 方案更加完善,配合 consul 等服务发现组件,更容易适配 service mesh 架构。 DNS SRV 是 DNS 记录的一种,用来指定服务地址。SRV 记录不仅有服务目标地址,还有服务的端口,并且可以设置每个服务地址的优先级和权重。 MySQL Connector 8.0.19 覆盖多种语言支持 DNS SRV,包括经典协议和 X 协议。遵循 RFC 2782 实现,支持 Priority 和 Weight 客户端必须连接优先级值最低的可达地址,若优先级相同,权重值越大的访问概率越高。 Connector/NET Connector/ODBC Connector/J

ZhaoWei-2020-02-04

不打扰是莪最后的温柔 提交于 2020-02-27 12:08:48
Spring Cloud Consul:服务治理与配置中心 摘要 Spring Cloud Consul 为 SpringBoot 应用提供了 Consul的支持,Consul既可以作为注册中心使用,也可以作为配置中心使用,本文将对其用法进行详细介绍。 Consul 简介 Consul是HashiCorp公司推出的开源软件,提供了微服务系统中的服务治理、配置中心、控制总线等功能。这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建全方位的服务网格,总之Consul提供了一种完整的服务网格解决方案。 Spring Cloud Consul 具有如下特性: 支持服务治理:Consul作为注册中心时,微服务中的应用可以向Consul注册自己,并且可以从Consul获取其他应用信息; 支持客户端负责均衡:包括Ribbon和Spring Cloud LoadBalancer; 支持Zuul:当Zuul作为网关时,可以从Consul中注册和发现应用; 支持分布式配置管理:Consul作为配置中心时,使用键值对来存储配置信息; 支持控制总线:可以在整个微服务系统中通过 Control Bus 分发事件消息。 使用Consul作为注册中心 安装并运行Consul 首先我们从官网下载Consul,地址: www.consul.io/downloads.h… 下载完成后只有一个exe文件

SEATA 分布式事务入门DEMO

妖精的绣舞 提交于 2020-02-26 16:30:54
> Simple Extensible Autonomous Transacation Architecture, seata 是简单的、可扩展、自主性高的分布式架构 SEATA Server Configure > 因我们使用正式的1.0.0-GA 版本,网上大多数找到的说明都是0.X版本,有不少变动,比如,在server中取消了db_store.sql的脚本,如找不到相关内容,可以通过源码来查找,比如db脚本源码: mysql db script 下载 seata-server 创建数据库( seata ),可自定义,在 file.conf 中要用到。 -- -------------------------------- The script used when storeMode is 'db' -------------------------------- -- the table to store GlobalSession data CREATE TABLE IF NOT EXISTS `global_table` ( `xid` VARCHAR(128) NOT NULL, `transaction_id` BIGINT, `status` TINYINT NOT NULL, `application_id` VARCHAR(32), `transaction

Consul, ProxySQL and MySQL MHA(mysql 读写分离,高可用)

雨燕双飞 提交于 2020-02-26 16:04:31
背景: mysql 官方目前没有提供比较成熟,稳定的高可用的方案,使得Mysql的高可用方案相对较少,一般都只有简单的主从,今天和大家分享一个Consul, ProxySQL and MySQL MHA架构的高可用方案: 架构特性: 1,高可用 2,读写分离,查询路由 3,sql过滤等功能 Installation of Consul: Firstly, we’ll need to install the required packages, download the Consul archive and perform the initial configuration. We’ll need to perform the same installation on each of the nodes (i.e., appserver, mysql1 and mysql2). Install pre-requisite packages: sudo yum -y install wget unzip bind-utils dnsmasq Install Consul: sudo useradd consul sudo mkdir -p /opt/consul /etc/consul.d sudo touch /var/log/consul.log /etc/consul.d

consul-集群安装

本小妞迷上赌 提交于 2020-02-26 15:14:51
consul集群安装指南 安装准备 安装包 consul支持3以下几种安装方式 编译好的二进制包 源码安装 在kubernetes上安装 我们这次采用第一种安装方式 , 安装包下载 安装组网 consul采用3个节点的集群模式安装 安装开始 环境检查 consul运行会占用以下端口 8600、8500、8301、8302、8300 执行安装 创建用户 groupadd consul useradd -g consul -d /home/consul consul 切换用户 su - consul 新建目录 mkdir /home/consul/bin mkdir /home/consul/data mkdir /home/consul/log 启动 假设三个机器ip分别是 ip1 ip2 ip3 在ip1上执行 consul agent -server -bind=ip1 -ui -client=0.0.0.0 -data-dir=/home/consul/data/ -log-file=/home/consul/log/ -log-rotate-max-files=8 -retry-join=ip2 -retry-join=ip3 >> /dev/null & 在ip2上执行 consul agent -server -bind=ip2 -ui -client=0.0.0.0

MySQL 8.0.19支持DNS SRV

孤者浪人 提交于 2020-02-26 14:00:32
本文转载自mysqlplayer,作者洪斌 MySQL Router是InnoDB Cluster架构的访问入口,在架构部署上,官方给出的建议是router与应用端绑定部署,避免router单点问题。 之前还有客户咨询,能否router不与应用端绑定部署,不便于部署,在此之前都需要在router前面加VIP或者一层负载均衡。 我还在想这事儿就应该由MySQL Connector来实现访问链路的Failover和Loadbalance, 现在有了DNS SRV的支持,router不必和应用端绑定部署,也可以省了VIP和负载均衡,MySQL InnoDB Cluster方案更加完善,配合consul等服务发现组件,更容易适配service mesh架构。 DNS SRV是DNS记录的一种,用来指定服务地址。SRV记录不仅有服务目标地址,还有服务的端口,并且可以设置每个服务地址的优先级和权重。 MySQL Connector 8.0.19 覆盖多种语言支持DNS SRV,包括经典协议和X协议。遵循RFC 2782实现,支持Priority和Weight客户端必须连接优先级值最低的可达地址,若优先级相同,权重值越大的访问概率越高。 Connector/NET Connector/ODBC Connector/J Connector/Node.js Connector/Python

用git2consul从Git同步配置到Consul

妖精的绣舞 提交于 2020-02-26 00:36:46
TIPS 当且仅当 spring.cloud.consul.config.format=files 时,才可用git2consul管理配置,其他格式无法使用。 单机版Consul的配置是不持久化的,一旦重启就会丢失,而开发过程中,重启Consul可能比较频繁。要想解决这个问题,可将配置存储到Git仓库,并使用git2consul将配置同步到Consul中,以下是步骤。 安装Node.js 下载Node.js 前往 https://nodejs.org/en/download/ 可下载最新版本Node.js;前往 https://nodejs.org/en/download/releases/ 可下载指定版本Node.js;根据自己的操作系统,下载安装即可。 TIPS 尽量安装LTS版本 ,例如: 10.16.3 安装Node.js 参考 https://www.runoob.com/nodejs/nodejs-install-setup.html 安装Node.js,常见系统安装说明都有。 安装git2consul 指定如下命令即可安装git2consul npm install -g git2consul 如果网络不好,安装速度过慢,可使用如下命令: npm install -g git2consul --registry=https://registry.npm.taobao

基于docker,consul,consul-template, registrator, nginx服务注册发现集群

折月煮酒 提交于 2020-02-19 09:21:23
介绍 该工程主要实现服务的自动注册发现,从而达到提高运维效率,做到服务的自动发现和动态扩展。 服务注册发现 服务启动后自动被发现 动态变更负载均衡 自动伸缩 工具 1.Registrator 这是一个由Go语言编写,针对docker使用的,通过检查本机容器进程在线或者停止运行状态,去注册服务的工具。 它通过docker socket 直接监听容器event,根据容器启动/停止等event来注册/注销服务。 每个容器的每个exposed端口对应不同的服务。 支持可插拔的registry backend,默认支持Consul, etcd and SkyDNS。 2.Consul Consul 是一个分布式高可用的服务发现和配置共享的软件。由 HashiCorp 公司用 Go 语言开发。 3.consul-template consul template可以查询consul中的服务目录、key、key-values等。这种强大的抽象功能和查询语言模板可以使consul template特别适合动态的创建配置文件。例如:创建apache/nginx proxy balancers、haproxy backends、varnish servers、application configurations。 consul-template提供了一个便捷的方式从consul中获取存储的值