consul

Consul集群搭建

六眼飞鱼酱① 提交于 2020-01-19 12:37:38
一、集群搭建 准备三台机器 需要开启的端口,8300, 8301, 8500, 8600 机器1: 172.16.106.201 ./consul agent -server -bootstrap-expect 2 -data-dir=/data/consul/data -node=consul-server-1 -bind=172.16.106.201 -client=0.0.0.0 & 机器2: 172.16.106.202 ./consul agent -server -bootstrap-expect 2 -data-dir=/data/consul/data -node=consul-server-2 -bind=172.16.106.202 -client=0.0.0.0 & 机器3: 172.16.106.203 ./consul agent -server -bootstrap-expect 2 -data-dir=/data/consul/data -node=consul-server-3 -bind=172.16.106.203 -client=0.0.0.0 -ui & 参数说明: i. server: 以server身份启动。默认是client ii. bootstrap-expect:集群要求的最少server数量,当低于这个数量,集群即失效。 iii.

第二十章 springboot + consul(1)

佐手、 提交于 2020-01-17 01:52:05
consul的具体安装与操作查看博客的consul系列。 一、启动consul (1个server+1个client,方便起见,client使用本机):查看: http://www.cnblogs.com/java-zhao/p/5375132.html 1、开启虚拟机-->切换到vagrantFile中配置的节点 vagrant up vagrant ssh n110 2、启动server(n110) consul agent -server -bootstrap-expect=1 -data-dir=/tmp/consul -node=server-110 -bind=192.168.21.110 -dc=zjgdc1 -client 0.0.0.0 -ui 说明:-client 0 0 0 0 -ui-->使得客户端可以直接通过url访问服务端的consul ui 3、启动client(local) consul agent -data-dir=/tmp/consul -node=client-my -bind=xxx -dc=zjgdc1 说明:xxx代表本机IP 4、client加入server consul join 192.168.21.110 二、java部分 1、pom.xml <!-- consul-client --> <dependency>

Passing a value to nomad from Consul kv

妖精的绣舞 提交于 2020-01-16 18:04:45
问题 fetch the information from Consul and then submit this job to Nomad, injecting the Consul k/v value as an environment variable. like for example i have a value in consul k/v which is testData = "HELLO" on the other hand, in my job. i want the value from consul k/v to be injected to env stanza as a value. env CONSUL_test = <value of consul k/v testData> is this possible? so that when i inspect the docker env, i must see CONSUL_test = HELLO 回答1: nomad uses consul-templating, so you can

初识服务发现及Consul框架的简单使用

杀马特。学长 韩版系。学妹 提交于 2020-01-16 03:49:24
1.什么是服务发现? 服务发现组件记录了(大规模)分布式系统中所有服务的信息,人们或者其它服务可以据此找到这些服务。 DNS 就是一个简单的例子。 当然,复杂系统的服务发现组件要提供更多的功能,例如,服务元数据存储、健康监控、多种查询和实时更新等。 服务发现是支撑大规模 SOA 的核心服务。 2.服务发的关键特性 高可用的 服务目录 服务查找 服务注册 3.为什么要使用服务发现 假设我们写的代码会调用 WebService、Rest Api、 Thrift API 的服务。在调用过程中,为了完成一次请求,代码需要知道服务实例的网络位置(IP 地址和端口)。 整个过程,对于基于云端的、现代化的微服务应用而言,这却是一大难题。 为了更好的让大家了解服务发现的发展过程,现在举个例子。 3-1【单体应用】 假设你是项目经理或者公司的架构师,正准备组织团队开发一款产品,类似滴滴与Uber的出租车调度软件。 其中系统的核心业务有:客户端、司机端、定位、通知、支付 传统的架构图为:六边形架构(即模块化的单体是应用),也称 单体式应用 ,如下图 单体应用的不足 这种简单方法却有很大的局限性。 一个简单的应用会随着时间推移逐渐变大。在每次的迭代中,开发团队都会面对新“故事”(需求),然后开发许多新代码。 几年后,这个小而简单的应用会变成了一个巨大的怪物。 如果有经验的管理者都知道

Not all services are registered in Consul with Registrator

岁酱吖の 提交于 2020-01-15 09:33:20
问题 I have Docker and Docker Compose on my machine and I have a docker-compose.yml file. Inside of this file I define two services like so ... nginx: build: context: ./nginx-proxy' image: nginx-proxy container_name: nginx ports: - 8181:80 links: - consul-server - php depends_on: -registrator php: build: context: ./php-apache image: php-apache container_name: php-apache depends_on: - registrator ... It is quite a big docker-compose.yml file, which also contains definitions of consul-server and

Not all services are registered in Consul with Registrator

我的未来我决定 提交于 2020-01-15 09:33:09
问题 I have Docker and Docker Compose on my machine and I have a docker-compose.yml file. Inside of this file I define two services like so ... nginx: build: context: ./nginx-proxy' image: nginx-proxy container_name: nginx ports: - 8181:80 links: - consul-server - php depends_on: -registrator php: build: context: ./php-apache image: php-apache container_name: php-apache depends_on: - registrator ... It is quite a big docker-compose.yml file, which also contains definitions of consul-server and

consul在.netcore简单应用

自闭症网瘾萝莉.ら 提交于 2020-01-15 04:33:37
consul 用consul来做什么 安装consul 运行consul 服务注册 服务发现 用consul来做什么 consul是什么我没有发言权,网上有很多的理解和介绍的文章,如果英文好可以去 consul官网 看下。这里只介绍下打算用consul来做什么。 场景:假设我们有很多api服务,为了保证服务的可靠性或者分担服务压力每个服务部署了多份(集群),这样我们就会有大量的api服务。而这些服务并不是一直不变的,因为每个服务都有可能宕机,我们也会根据需要调整集群里服务的数量。 这种场景下我们怎么管理这一大堆的服务,并保证对外提供的服务都是能用的呢?用consul来管理! 大致流程是这样的: 1:启动consul; 2:每个服务部署启动后,向consul注册(告诉consul有这个服务),并提供健康检查(consul用来测试这服务是否可用); 3:服务正常关闭后,向consul注销(告诉consul这服务不干了); 4:consul服务记下所有注册了的服务,并定期检查服务是否还健在(健康检查),如果不在了就把这服务标记为异常状态不对外提供,下次检查如果发现这服务又复活了,就把这服务标记成健康状态并恢复对外提供; 5:外部需要服务统一找consul要,consul把健康提供所有健康的服务给外部自行选择。 安装consul 【操作视频: https://www.bilibili

Docker Compose容器编排

二次信任 提交于 2020-01-14 07:17:20
本章知识点概括: Docker Compose容器编排 构建自动发现的Docker服务架构 实现容器服务自动加入Nginx集群 **Docker Compose容器编排功能** Docker compose的前身是Fig,它是一个定义及运行多个docker容器的工具 使用Docker Compose不再需要使用shell脚本来启动容器 Docker Compose非常适合组合是同多个容器进行开发的场景 可以执行多个容器的操作 **Docker Compose容器编排** YAML是一种标记语言很直观的数据序列化格式 文件格式及编写注意事项 不支持表符tab缩进,需要使用空格缩进 通常开头缩进2个空格 字符后缩进1个空格,如冒号,逗号,横杠 用#号注释 如果包含特殊字符用单引号引起来 布尔值必须用引号括起来 Docker Compose配置常用字段 build dockerfile context 指定Dockerfile文件名构建镜像上下文路径 image 指定镜像 command 执行命令,覆盖默认命令 container name 指定容器名称,由于容器名称是唯一的,如果指定自定义名称,则无法scale deploy 指定部署和运行服务相关配置,只能在swarm模式使用 environment 添加环境变量 networks 加入网络 ports 暴露容器端口

Service Mesh服务网格清单

北城以北 提交于 2020-01-14 02:39:07
Service Mesh服务网格清单 Istio Istio官网 Istio中文官网 Istio开源 无需太多介绍Service Mesh明日之星,扛把子,截止2019.11还有太多问题没解决复杂性,性能让人望而却步,能上生产的是真要技术厉害,还得内心强大,项目允许 Linkerd Linkerd官网 Linkerd中文官网 A service mesh for Kubernetes and beyond. Main repo for Linkerd 2.x.Linkerd is a service mesh, designed to give platform-wide observability, reliability, and security without requiring configuration or code changes. Linkerd is a Cloud Native Computing Foundation (CNCF) project. Maesh Maesh官网 Maesh开源 Containous(Traefik 团队)推出了全新设计的轻量级 service mesh(服务网格)工具:Maesh,Maesh 允许对 Kubernetes 集群内流动的流量进行管理,这与入流量和出流量同样很重要。Maesh 构建在 Traefk 之上

微服务~Consul服务注册与发现

安稳与你 提交于 2020-01-14 00:20:27
服务发现是基于微服务架构的关键原则之一。尝试配置每个客户端或某种形式的约定可能非常困难,可以非常脆弱。Consul通过HTTP API和DNS提供服务发现服务。Spring Cloud Consul利用HTTP API进行服务注册和发现。这不会阻止非Spring云应用程序利用DNS界面。Consul代理服务器在通过八卦协议进行通信的群集中运行,并使用筏式协议协议。 文章参考: https://www.jianshu.com/p/28c6bd590ca0 http://blog.csdn.net/y435242634/article/details/78639663 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 只消耗少量的资源和少量的网络带宽