consul

Docker container with status “Dead” after consul healthcheck runs

血红的双手。 提交于 2019-12-20 12:05:34
问题 I am using consul's healthcheck feature, and I keep getting these these "dead" containers: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 20fd397ba638 progrium/consul:latest "\"/bin/bash -c 'cur 15 minutes ago Dead What is exactly a "Dead" container? When does a stopped container become "Dead"? For the record, I run progrium/consul + gliderlabs/registrator images + SERVICE_XXXX_CHECK env variables to do health checking. It runs a healthcheck script running an image every X secs,

使用Consul实现服务发现:instance-id自定义(3种方式)

僤鯓⒐⒋嵵緔 提交于 2019-12-19 17:07:02
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> TIPS 本文基于Spring Cloud Hoxton,理论支持Spring Cloud所有版本。 本文探讨如何自定义微服务注册到Consul的InstanceId。 Consul把InstanceId作为唯一标识,而Spring Cloud Consul默认的InstanceId是 ${spring.application.name}-${server.port} 。 这样导致的问题是:某个微服务即使有多个实例,只要端口相同,那么Consul上依然只会保留1条数据!要想解决这个问题,只需要让不同实例,拥有不同的InstanceId即可。 方式1:拼接随机值 添加配置: spring: cloud: consul: discovery: instance-id: ${spring.application.name}-${server.port}-${random.long} 目前市面上的一些文章也是这么玩的。但这样做,在一些场景下还是有一点小问题的。 举个例子:假设某个微服务实例崩溃了,然后在很短的时间内(Consul还没来得及把这个实例删除);应用重启了,就会导致Consul上出现两条数据,但其实代表的是一个实例(虽然过段时间后,Consul会把没用的实例删除,但在一段时间内出现2条数据还是很诡异的)。

springcloud(一):大话Spring Cloud

百般思念 提交于 2019-12-18 06:57:04
研究了一段时间Spring Boot了准备向Spring Cloud进发,公司架构和项目也全面拥抱了Spring Cloud。在使用了一段时间后发现Spring Cloud从技术架构上降低了对大型系统构建的要求,使我们以非常低的成本(技术或者硬件)搭建一套高效、分布式、容错的平台,但Spring Cloud也不是没有缺点,小型独立的项目不适合使用。 Spring Cloud是什么鬼? Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。 微服务是可以独立部署、水平扩展、独立访问(或者有独立的数据库)的服务单元,springcloud就是这些微服务的大管家,采用了微服务这种架构之后,项目的数量会非常多,springcloud做为大管家需要管理好这些微服务,自然需要很多小弟来帮忙。 主要的小弟有:Spring Cloud Config、Spring

springcloud(一):大话Spring Cloud

情到浓时终转凉″ 提交于 2019-12-18 01:11:02
研究了一段时间spring boot了准备向spirng cloud进发,公司架构和项目也全面拥抱了Spring Cloud。在使用了一段时间后发现Spring Cloud从技术架构上降低了对大型系统构建的要求,使我们以非常低的成本(技术或者硬件)搭建一套高效、分布式、容错的平台,但Spring Cloud也不是没有缺点,小型独立的项目不适合使用。 Spring Cloud是什么鬼? Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。 微服务是可以独立部署、水平扩展、独立访问(或者有独立的数据库)的服务单元,springcloud就是这些微服务的大管家,采用了微服务这种架构之后,项目的数量会非常多,springcloud做为大管家需要管理好这些微服务,自然需要很多小弟来帮忙。 主要的小弟有:Spring Cloud Config、Spring

Docker跨主机网络——overlay

ⅰ亾dé卋堺 提交于 2019-12-18 00:39:43
一、Docker 跨主机通信 Docker跨主机网络方案包括: docker 原生的 overlay 和 macvlan。 第三方方案:常用的包括 flannel、weave 和 calico。 docker 通过 libnetwork 以及 CNM 将上述各种方案与docker集成在一起。 libnetwork 是 docker 容器网络库,最核心的内容是其定义的 Container Network Model (CNM),这个模型对容器网络进行了抽象,由以下三类组件组成: 1.1 Sandbox Sandbox 是容器的网络栈,包含容器的 interface、路由表和 DNS 设置。 Linux Network Namespace 是 Sandbox 的标准实现。Sandbox 可以包含来自不同 Network 的 Endpoint。也就是说Sandbox将一个容器与另一个容器通过Namespace进行隔离,一个容器包含一个sandbox,每一个sandbox可以有多个Endpoint隶属于不同的网络。 1.2 Endpoint Endpoint 的作用是将 Sandbox 接入 Network。Endpoint 的典型实现是 veth pair。一个 Endpoint 只能属于一个网络,也只能属于一个 Sandbox。 1.3 Network Network 包含一组

Consul 配置ACLs

我怕爱的太早我们不能终老 提交于 2019-12-17 23:55:38
比如consul.exe 在D:\consul 来个json配置文件在 D:\consul\config.json json 格式 { "acl_datacenter": "dc1", "acl_master_token": "xxxhelloworldxxx", "acl_default_policy": "deny", "data_dir": "/data" } acl_datacenter:数据中心,可以用ALL acl_master_token:ui在设置中加上 acl_default_policy:默认是allow,允许allow,deny cd D:\consul consul.exe agent -dev -config-file xx.json consul.exe agent -dev -config-dir . 匿名登陆的赋权限 Anonymous Token key "" { policy = "read" } key "" { policy = "write" } agent、event、key、keyring、node、operator、query、service、session。 read、write、deny是规则权限。 来源: https://www.cnblogs.com/wangzhanbo/p/9445084.html

技术名词解释

我的未来我决定 提交于 2019-12-17 20:15:23
HA模式 高可用性模式 AMQP 高级消息队列协议 gRPC 是可以在任何环境中运行的现代开源高性能RPC框架。它可以通过可插拔的支持来有效地连接数据中心内和跨数据中心的服务,以实现负载平衡,跟踪,运行状况检查和身份验证。它也适用于分布式计算的最后一英里,以将设备,移动应用程序和浏览器连接到后端服务。 consul Consul是一种网络工具,可提供功能齐全的服务网格控制平面,服务发现,配置和分段。在这里,了解如何在本地执行常见的Consul操作。 linkerd Linkerd是一个透明的服务网格,旨在通过向所有服务间通信透明地添加服务发现,负载平衡,故障处理,检测和路由来使现代应用程序安全合理。 MapReduce 是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)“和"Reduce(归约)”,是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。 当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。 nova OpenStack 包含两个主要模块:Nova 和 Swift,前者是 NASA 开发的虚拟服务器部署和业务计算模块

Consul 简介、安装、常用命令的使用

旧时模样 提交于 2019-12-17 16:08:18
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1 Consul简介 Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其他分布式服务注册与发现的方案,Consul的方案更“一站式”,内置了服务注册与发现框 架、分布一致性协议实现、健康检查、Key/Value存储、多数据中心方案,不再需要依赖其他工具(比如ZooKeeper等)。使用起来也较 为简单。Consul使用Go语言编写,因此具有天然可移植性(支持Linux、windows和Mac OS X);安装包仅包含一个可执行文件,方便部署,与Docker等轻量级容器可无缝配合 。 2 Consul安装 安装环境: mac:64bit(查看mac位数:打开终端–>”uname -a”) consul_0.6.4_darwin_amd64.zip和consul_0.6.4_web_ui.zip,从consul官网 https://www.consul.io/downloads.html 进行下载就好(选择好OS和位数) 1、解压consul_0.6.4_darwin_amd64.zip 2、将解压后的二进制文件consul(上边画红框的部分拷贝到/usr/local/bin下) sudo scp consul /usr/local/bin/ 说明

安装Consul集群

自作多情 提交于 2019-12-17 15:46:05
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> TIPS 本文基于Consul 1.5.3,理论适用于Consul 1.6及更低版本。 安装单机版Consul详见: 《安装单机版Consul》 知识预热 Consul常用命令 命令 解释 示例 agent 运行一个consul agent consul agent -dev join 将agent加入到consul集群 consul join IP members 列出consul cluster集群中的members consul members leave 将节点移除所在集群 consul leave 参考文档 这里只列出几个常用的命令,consul有将近20个命令,本文不作展开,详见: https://www.consul.io/docs/commands/index.html consul agent 命令详解 常用选项 consul agent 命令的常用选项如下: -data-dir 作用:指定agent储存状态的数据目录 这是所有agent都必须的 对于server尤其重要,因为他们必须持久化集群的状态 -config-dir 作用:指定service的配置文件和检查定义所在的位置 通常会指定为”某一个路径/consul.d”(通常情况下,.d表示一系列配置文件存放的目录) -config

【转帖】大话Spring Cloud

人盡茶涼 提交于 2019-12-17 03:15:25
springcloud(一):大话Spring Cloud 2017/05/01 http://www.ityouknow.com/springcloud/2017/05/01/simple-springcloud.html 研究了一段时间Spring Boot了准备向Spring Cloud进发,公司架构和项目也全面拥抱了Spring Cloud。在使用了一段时间后发现Spring Cloud从技术架构上降低了对大型系统构建的要求,使我们以非常低的成本(技术或者硬件)搭建一套高效、分布式、容错的平台,但Spring Cloud也不是没有缺点,小型独立的项目不适合使用。 Spring Cloud是什么鬼? Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。 微服务是可以独立部署、水平扩展、独立访问(或者有独立的数据库)的服务单元