consul

Nomad and port mapping

六月ゝ 毕业季﹏ 提交于 2021-02-07 08:54:13
问题 Nomad has three different ways to map ports: Network stanza under group level Network stanza under config -> resources level port_map stanza under config level What is the difference and when I should use which? 回答1: First of all port_map is depricated, so you shouldn't be using that as part of task driver configuration. Up until Nomad 0.12, ports could be specified in a task's resource stanza and set using the docker port_map field. As more features have been added to the group network

Resolve containers using consul DNS on host

放肆的年华 提交于 2021-02-07 05:57:04
问题 Aim: Get a docker container to use the DNS provided by the host machine, which is a consul agent running in another container, to access services available via traefik reverse proxy. Setup Host machine: Ubuntu 16.04.2 LTS Registrator registers new containers to the consul agent, traefik is the reverse proxy to load balance the services and make them available. There is a general node app which returns "Hello World" when you hit the '/' path Container 1. docker run -d --net=host consul agent

微服务网关实战——Spring Cloud Gateway

自作多情 提交于 2021-02-02 00:36:39
导读 作为Netflix Zuul的替代者,Spring Cloud Gateway是一款非常实用的微服务网关,在Spring Cloud微服务架构体系中发挥非常大的作用。本文对Spring Cloud Gateway常见使用场景进行了梳理,希望对微服务开发人员提供一些帮助。 微服务网关SpringCloudGateway 1.概述 Spring cloud gateway是spring官方基于Spring 5.0、Spring Boot2.0和Project Reactor等技术开发的网关,Spring Cloud Gateway旨在为微服务架构提供简单、有效和统一的API路由管理方式,Spring Cloud Gateway作为Spring Cloud生态系统中的网关,目标是替代Netflix Zuul,其不仅提供统一的路由方式,并且还基于Filer链的方式提供了网关基本的功能,例如:安全、监控/埋点、限流等。 2.核心概念 网关提供API全托管服务,丰富的API管理功能,辅助企业管理大规模的API,以降低管理成本和安全风险,包括协议适配、协议转发、安全策略、防刷、流量、监控日志等贡呢。一般来说网关对外暴露的URL或者接口信息,我们统称为路由信息。如果研发过网关中间件或者使用过Zuul的人,会知道网关的核心是Filter以及Filter Chain(Filter责任链)

How does Consul recover from losing quorum with changing node IPs?

自闭症网瘾萝莉.ら 提交于 2021-01-29 08:46:17
问题 I deployed Consul server using the Helm chart giving me a three node cluster. I could view the IP addresses and IDs of the nodes: $ consul catalog nodes Node ID Address DC consul-server-0 065ab1e4 10.60.1.11 dc1 consul-server-1 46eca681 10.60.0.16 dc1 consul-server-2 fb5fa37d 10.60.2.8 dc1 As a test I force deleted all three of these nodes as follows: kubectl delete pods -n consul --force --grace-period=0 consul-server-0 consul-server-1 consul-server-2 Three new pods came up with different

一致性协议与Raft算法

北城以北 提交于 2021-01-29 05:36:00
CAP理论 CAP理论作为分布式系统的基础理论,它描述的是一个分布式系统在以下三个特性中: 一致性( C onsistency) 可用性( A vailability) 分区容错性( P artition tolerance) 对于一个分布式系统来说,上述三个特性不能同时兼得,分为CP和AP的系统。例如银行必须是CP。 一致性协议 分为两种: 弱一致性(最终一致性) 强一致性 弱一致性,也称为最终一致性,也就是说各个节点不会立即保证系统同步,属于AP范畴,典型的应用如DNS域名解析服务。 强一致性,表示各个节点的数据必须保持一致,属于CP,典型的应用有Zookeeper。 通常所说的一致性协议算法,指的其实就是 强一致性算法 ,这些算法都是由Lamport提出的 Paxos算法 演变出来。Paxos算法有三个变种,base paxos,multi paxos和fast paxos。其他一致性算法又是由 multi paxos的简化版 演变而来,主要 Raft 和 ZAB 。 强一致性协议的内容 强一致性协议主要包括的内容可以概括为: 选主机制 数据一致性 1)写数据 2)提交数据 saft容错策略 Paxos Paxos本身只是一个理论,并没有落地实现,paxos协议中,存在较多的角色,包括议案发起人,议员和记录员等。 base paxos,是通过 议案编号大小 来进行的

从 2018 年 Nacos 开源说起

和自甴很熟 提交于 2021-01-23 05:01:39
2018 年夏天 国内微服务开源 领域,迎来了一位新成员。此后,在构建微服务注册中心和配置中心的过程中,国内开发者多了一个可信赖的选项。 Nacos 是阿里巴巴开源的一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台( 官方网站 ),它凝聚了阿里巴巴十多年来在超大规模注册和配置上的最佳实践,可以用在微服务场景作为服务注册中心、配置中心等核心场景中,和阿里的其他微服务开源项目一样,Nacos 也是始于阿里,成长于社区的典型。 为什么要开源 Nacos ? 在大规模服务发现和服务治理领域,现有的开源解决方案并非已经非常完美,阿里巴巴从 IOE 集中式应用架构升级为互联网分布式服务化架构的演进过程中,积累了大量有关服务注册和服务配置的实践经验,而这些经验是可以在各个行业大规模复用。除此之外,更重要的是,希望和社区开发者共同发展,让 Nacos 可以帮助国内企业更自由的构建基于云原生应用的动态服务发现、配置和服务管理。 相比其他服务注册和配置中心开源方案,Nacos 的起步虽然晚了点,但除了注册和配置中心的功能外,他还提供了动态服务发现、服务共享与管理的功能,在大规模场景下具备更优秀的性能,在易用性上更便捷,分布式部署上更灵活。例如和 Consul / Eureka / Zookeeper 相比:(内容摘自 《主流微服务注册中心浅析和对比》 ) Nacos Consul

容错机制和熔断(Hystrix)

做~自己de王妃 提交于 2021-01-23 00:53:34
雪崩效应 在微服务架构中,由于服务众多,通常会涉及多个服务层级的调用,而一旦基础服务发生故障,很可能会导致级联故障,进而造成整个系统不可用,这种现象被称为服务雪崩效应。服务雪崩效应是一种因“服务提供者”的不可用导致“服务消费者”的不可用,并将这种不可用逐渐放大的过程。 比如在一个系统中, A作为服务提供者,B是A的服务消费者,C和D又是B的服务消费者。如果此时A发生故障,则会引起B的不可用,而B的不可用又将导致C和D的不可用,当这种不可用像滚雪球一样逐渐放大的时候,雪崩效应就形成了。 熔断器(CircuitBreaker) 熔断器的原理很简单,如同电力过载保护器。它可以实现快速失败,如果它在一段时间内侦测到许多类似的错误,就会强迫其以后的多个调用快速失败,不再访问远程服务器,从而防止应用程序不断地尝试执行可能会失败的操作,使得应用程序继续执行而不用等待修正错误,或者浪费CPU时间去等到长时间的超时产生。熔断器也可以使应用程序能够诊断错误是否已经修正,如果已经修正,应用程序会再次尝试调用操作。熔断器模式就像是那些容易导致错误的操作的一种代理。这种代理能够记录最近调用发生错误的次数,然后决定使用允许操作继续,或者立即返回错误。熔断器是保护服务高可用的最后一道防线。 Hystrix特性 1.断路器机制 断路器很好理解, 当Hystrix Command请求后端服务失败数量超过一定比例

springcloud整合zookeeper替换已经停止更新的eureka

◇◆丶佛笑我妖孽 提交于 2021-01-19 07:57:21
点击上方 蓝色字体 ,选择“标星公众号” 优质文章,第一时间送达 作者 | 求知若渴的蜗牛 来源 | urlify.cn/m6VJbi 66套java从入门到精通实战课程分享 springcloud整合eureka实现服务的治理和负载均衡我已经再上篇https://www.cnblogs.com/wang66a/p/13746039.html进行了详细的介绍 但是现在eureka已经停止更新 固本篇主要讲解使用zookeeper替换eureka实现服务的治理 前段时间,了解了通过spring-cloud-config-server与spring-cloud-eureka-server作为配置中心与注册中心,同时了解到基于zookeeper或consul可以完成同样的事情,所以必须了解一下,这样有利于实际工作的技术对比与选型。 使用docker下载zookeeper 可看我https://www.cnblogs.com/wang66a/p/13754219.html这篇关于doker安装zookeeper的文章 下载和启动zookeeper之后可以通过zookeeper客户端工具zoolnspector连接测试zookepper是否启动成功 zoolnspector下载地址 链接:https://pan.baidu.com/s/16MsXQz2LUF5LWPhObpm1pA 提取码

基于Prometheus的高可用Redis多实例监控实践

若如初见. 提交于 2021-01-15 13:29:16
本文根据刘宇老师在〖deeplus直播 “ 运维监控谈:Prometheus与Zabbix的对比选型 ” 〗线上分享演讲内容整理而成。 (文末有获取本期PPT&回放的方式,不要错过) 刘宇 甜橙金融 基础技术架构师 具有丰富的数据库运维和研发经验,主导并顺利完成了甜橙金融上百套MySQL、Redis上云,以及MySQL、Redis的整体架构设计和搭建,在大型活动优化上具有丰富经验。 今天分享的内容主要分为以下三个方面: Prometheus简介; Redis多实例监控实践; Grafana整合Zabbix/Prometheus实践。 这次的分享主要是从具体的案例出发,希望通过细粒度的讲解为大家使用Promethus提供一些启发。如果当中有存疑的地方,也欢迎大家和我交流。 一、Prometheus简介 1、架构 Prometheus最常用的架构图 根据这个架构图,我来说说Prometheus核心的工作流程: 首先Prometheus的程序会负责定时去目标抓取一个指标的数据,每个指标的数据只需要通过exporter暴露出的一个HTTP就可以被定时抓取; Prometheus从配置文件、文本、consul、还有比如架构图中的k8s等目标作为服务的动态发现,主要采用pull的方式来进行监控,即服务器可以直接通过目标pull的数据或者间接通过 pushgateway获得数据;