consul

docker容器

我的梦境 提交于 2019-11-27 21:40:00
1、利用容器名获取容器IP docker run -d -t -i --name consul -p 8500:8500 docker.io/consul:0.9.3 CONSUL_IP=`docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' consul` 来源: https://www.cnblogs.com/erdanyang/p/11378611.html

go-micro 入门教程1.搭建 go-micro环境

百般思念 提交于 2019-11-27 21:28:38
微服务的本质是让专业的人做专业的事情,做出更好的东西。 golang 具备高并发,静态编译等特性,在性能、安全等方面具备非常大的优势。 go-micro 是基于 golang 的微服务编程框架, go-micro 操作简单、编码高效、功能强大。但是网络上资料偏少,本系列文章定位最简单最容易上手的 go-micro 入门教程,所有案列来自实操,而非网络上的复制粘贴。 本章节的目的是让大家最快速搭建好 go-micro 环境 软件 环境 操作系统 win10 golang go 12.7/AMD64 micro micro version 1.8.4 consul consul 1.5.4 安装micro 最快速有效的方法是使用 GO1.11 以上版本并且设置环境变量 #linux 下 export GO111MODULE=on export GOPROXY=https://goproxy.io # windows下设置如下环境变量 setx GO111MODULE on setx GOPROXY https://goproxy.io # 使用如下指令安装 go get -u -v github.com/micro/micro go get -u -v github.com/micro/go-micro 如果没有git请自行安装git #下载地址 https://git-scm.com

MySQL DNS(Consul) 高可用演示

[亡魂溺海] 提交于 2019-11-27 13:13:28
MySQL 高可用 Replication / 半同步 (5.7+) MGR PXC (不太建议) 其他都是异端 基于VIP的高可用   需要额外的资源     keepalived (VRRP)     MHA 一个实际的IP (基于TCP方式的)   限制     VIP 必须在一个局域网中     比较难跨IDC实现 DNS   把记录存储到数据库中 (MySQL)   连接串信息    host: xxx.xxx.net    port: 3306    user: xxxx    password: xxxxxxxx    dbname: xxx   原始一点:     Bind-DLZ       可控制度更好 (查询DNS记录SQL可定制)       据说性能非常差     PowerDNS       SQL schema设置规范       性能比Bind-DLZ 好   New DNS     coredns (和k8s结合笔记多)   集大成者     nacos (阿里开源,含DNS和服务发现) consul   服务发现类     早期:zookeeper     现在:etcd (k8s结合比较紧), consul     综合性的: nacos (阿里开源)   consul的优势:     支持多数据中心,内外网的服务采用不同的端口进行监听。   

Consul的开发者模式之Docker版

风流意气都作罢 提交于 2019-11-27 07:59:16
目标 在consul的Docker官方镜像页面中,有一种是开发模式的使用Consul镜像,即:主要就是3个节点作为consul集群。 步骤 安装consul镜像 docker pull consul 启动consul主节点 docker run -d --name=dev-consul -e CONSUL_BIND_INTERFACE=eth0 consul 这里我们假设,启动的dev-consul进程运行在172.17.0.2的ip地址上面。 启动consul冗余节点 docker run -d -e CONSUL_BIND_INTERFACE=eth0 consul agent -dev -join=172.17.0.2 docker run -d -e CONSUL_BIND_INTERFACE=eth0 consul agent -dev -join=172.17.0.2 验证consul冗余节点 docker exec -t dev-consul consul members Node Address Status Type Build Protocol DC Segment 89aeaeab86f9 172.17.0.4:8301 alive server 1.5.1 2 dc1 <all> d0360e72c622 172.17.0.5:8301 alive

docker搭建consul集群

[亡魂溺海] 提交于 2019-11-27 07:24:53
背景:ubuntu64位18.04.1版,docker19.03.0 GitHub资料: https://github.com/docker-library/docs/tree/master/consul Docker Hub镜像资料: https://hub.docker.com/_/consul 一、获取镜像 1. 拉取consul镜像 docker pull consul 2. 查看镜像列表 docker images 二、开发环境(This runs a completely in-memory Consul server agent with default bridge networking and no services exposed on the host, which is useful for development but should not be used in production. ) 1. 启动consul(配置单节点) docker run -d -p 8500:8500 --name=dev-consul -e CONSUL_BIND_INTERFACE=eth0 consul 2. 查看consul在容器中的ip docker exec -t dev-consul consul members 3. 将节点添加到consul服务中

叶问12

删除回忆录丶 提交于 2019-11-27 05:31:39
《叶问》是知数堂新设计的互动栏目,不定期给大家提供技术知识小贴士,形式不限,或提问、或讨论均可,并在当天发布答案,让大家轻轻松松利用碎片时间就可以学到最实用的知识点。 2019年01月08日,周二 RDS上,MySQL实例中某张表数据小于tmp_table_size,但有查询时会报错临时空间满 The table '/data/mysql/zst/tmp/#sql_13975_23' is full。原因可能是什么? 一、可能有下面几种情况: 1、在SQL中执行group by、order by、distinct、union、多表update、子查询、多表JOIN等情况下,可能需要生成内部临时表,当内部临时表超过tmp-table-size时,就会产生磁盘临时表。 2、接上,若查询包含BLOB、TEXT类型字段时,MySQL会直接使用磁盘临时表。 3、云数据库购买的磁盘空间,是包括数据库文件、日志文件(binlog、relay log、error log等)、临时文件&临时表(关注 Created_tmp_disk_tables、Created_tmp_tables、Binlog_cache_disk_use、Binlog_stmt_cache_disk_use等指标)所消耗占用的磁盘空间。 4、发生table...is full报错,说明可能生成磁盘临时表太多

服务消费方Feign & RestTemplate

不问归期 提交于 2019-11-27 02:43:36
在Spring cloud有两种服务调用方式,一种是ribbon+restTemplate,另一种是feign,鉴于feign注解化更方便使用,先讲解feign. demo中使用的注册中心是eureka,如果使用consul,需要修改配置: #spring: # profiles: # active: dev # application: # name: service-feign ###################### consul ########################### # cloud: # consul: # host: 192.168.1.102 # port: 8500 # discovery: # healthCheckUrl: http://localhost:${server.port}/health # healthCheckInterval: 15s # instance-id: service-feign # enabled: true # heartbeat: # enabled: true /** * @这个Client由服务提供方提供,如euraka-server-provider里面的client包提供 * @添加@FeignClient注解是为了调用方的在服务注册机器上找到服务提供方 */ @FeignClient(value

SpringCloud 之eureka-client 服务的提供方

主宰稳场 提交于 2019-11-27 01:19:11
下面我们创建提供服务的客户端,并向服务注册中心注册自己。本文我们主要介绍服务的注册与发现,所以我们不妨在服务提供方中尝试着提供一个接口来获取当前所有的服务信息. 1. 首先我们先创建一个SpringBoot 的项目,命名为:erueka-client 在pom 中添加如下的配置: ====================================================== <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.4.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId>