consul

分布式项目(七)consul 服务注册与发现

你说的曾经没有我的故事 提交于 2019-12-06 21:05:54
说到分布式自然就离不开分布式和微服务的话题,简单聊一下。 微服务是一种软件架构方式,或者说一个一种结构设计风格,它并不是标准,它的逻辑是把一个整体服务按业务拆分成不同独立的服务,降低服务强依赖,消服务器消息驱动,惯用的例子:买东西涉及到订单,仓库,扣钱,以前都是把这些功能作在一个项目中,在一个jvm进程中运行,微服务怎么搞,把订单,仓库,扣钱,搞成三个独立的项目,运行在三个不同的jvm进程中,服务之间使用http调用或者mq驱动。 分布式是什么东西呢?分布式更多的强调的是一种部署方式,上面微服务已经把一个项目拆分成了几个不同的项目,那现在项目需要运行起来提供对应的服务,所以这就是分布式的概念,在不同的服务器上分散部署不同的服务,这里需要区分分布式与集群的区别。集群我们一般讲都是把redis,MySQL集群,这里主要讲是把同一种服务分散部署,横向扩展,达到容灾和提升性能,而分布式讲究的不同服务,分散部署。 书接上回,在前面的开发中,我们已经完成了一整套的流程了,已经具备初步部署的条件了,现在我们就开准备spring cloud环境。 应广大不怕事儿大的吃瓜群众的要求,这里不使用eruka(因为eruka2.0的一系列问题),而改用consul。 consul 分布式绕不开的一个话题,服务注册、服务发现、服务治理,换句话说,你得让别人知道你在哪儿,死没死,怎么联系你。

How to init docker swarm with consul

点点圈 提交于 2019-12-06 15:34:13
问题 How do I start a docker swarm cluster with consul back-end? I can't see any discovery param in the docker swarm init command? or the docker swarm join command? I successfully ran docker swarm init .... and than docker swarm join to start a cluster on the internal swarm discovery mechanism, but it's not recommended for production. So what am I missing? 回答1: You are running the newer Swarm Mode commands but asking about the usage of the classic Swarm that runs as a container, these are two very

How do I separate stages of multi-machine cluster provisioning?

只愿长相守 提交于 2019-12-06 14:45:19
Let's say I have 4 Vagrant boxes. 3 are variations of the same configuration, say, Consul, and one has a completely different configuration, say a database. I need to run a provisioning step with slight variations on the three similarly configured Consul VMs. Then, I need to run a provisioning step against 1 of those Vault VMs. Only after this provisioning step run on 1 of the VMs can I successfully run the next provisioning step, with slight variations, on the three similarly configured Vault VMs. I've read through the docs on Vagrant with multiple machines, looping over VM definitions, and

Does my docker images need its own consul client instances?

好久不见. 提交于 2019-12-06 14:22:36
I've got a dockerized application split in several containers (a few frontend and backend servers, load balancer, mysql, elasticsearch, etc.). The configuration of the load balancer needs to know which containers are up and so I'm registering services with Consul service discovery. But I'm not quite sure if it's a good idea to run a consul agent on every docker container instead of using the docker host to supervise all the running docker containers and register them via Consul's HTTP-API. Is there any best practice around I can follow? You don't need to run a consul agent on every docker

Consul基本使用

元气小坏坏 提交于 2019-12-06 12:46:30
前言 官网介绍Consul是一个分布式服务网格(Service Mesh)解决方案… 而我目前的理解是提供了分布式系统中的服务发现和配置解决方案, 使用go实现, 目前在github的star是15k, 远超Netflix Eureka 关于Consul的架构, 功能, 对比都可参考 官网 , 建议阅读: What is Consul? Consul vs. Other Software 目的 部署启动consul开发环境 —— dev Spring Cloud Consul 基本使用 consul中的服务发现 consul中的配置中心 consul集群部署 (下节) 下载&启动 进入 下载地址 下载对应的版本即可, 解压即得到可执行文件 这里我下载最新版 1.4.4 , 在Windows测试单机开发环境, 在Linux环境测试consul集群部署 进入命令行: 验证版本: consul --version 1 2 3 λ consul --version Consul v1.4.4 Protocol 2 spoken by default, understands 2 to 3 (agent will automatically use protocol >2 when speaking to compatible agents) 启动: consul agent -dev

Consul集群版容器化部署与应用集成

房东的猫 提交于 2019-12-06 12:38:35
背景 由于公司目前的主要产品使用的注册中心是 consul , consul 需要用集群来保证高可用,传统的方式(Nginx/HAProxy)会有单点故障问题,为了解决该问题,我开始研究如何只依赖 consul 做集群的注册的方式,经过一天的折腾,总算验证了可以通过集群版ConsulClient来进行集群注册,在部署实施过程中也遇到了一些问题,特此记录分享,希望能对有需要的同学有帮助。 主机版集群和docker版集群对比 client+server转发模式的集群部署涉及到两种选择,第一种是直接主机模式部署,2个 client +3个 server ,每个 consul 实例部署一台主机(适合土豪使用),此种模式的好处就是简单暴力,而且运维相对简单。此种模式的架构部署图如下 我们选择的是另外一种经济节约模式, docker 化部署,好处就是节约资源,劣势就是要管理许多 docker 镜像,在有引入k8s这些容器管理平台之前,后续 docker 的运维会比较麻烦,这种模式的架构部署图如下: 通过以上两种模式的架构图我们很清楚的就能知道主机部署模式是最简单直接的,而 docker 的模式虽然节省了资源,但是加大了复杂性,增加了运维的难度。但是这种模式应该是在目前容器化的环境下很好的选择,原因很简单,因为充分的利用了资源,容器的运维可以交给容器运维平台去完成,比如k8s等

Consul集群版容器化部署与应用集成

孤者浪人 提交于 2019-12-06 11:54:08
背景 由于公司目前的主要产品使用的注册中心是 consul , consul 需要用集群来保证高可用,传统的方式(Nginx/HAProxy)会有单点故障问题,为了解决该问题,我开始研究如何只依赖 consul 做集群的注册的方式,经过一天的折腾,总算验证了可以通过集群版ConsulClient来进行集群注册,在部署实施过程中也遇到了一些问题,特此记录分享,希望能对有需要的同学有帮助。 主机版集群和docker版集群对比 client+server转发模式的集群部署涉及到两种选择,第一种是直接主机模式部署,2个 client +3个 server ,每个 consul 实例部署一台主机(适合土豪使用),此种模式的好处就是简单暴力,而且运维相对简单。此种模式的架构部署图如下: 我们选择的是另外一种经济节约模式, docker 化部署,好处就是节约资源,劣势就是要管理许多 docker 镜像,在有引入k8s这些容器管理平台之前,后续 docker 的运维会比较麻烦,这种模式的架构部署图如下: 通过以上两种模式的架构图我们很清楚的就能知道主机部署模式是最简单直接的,而 docker 的模式虽然节省了资源,但是加大了复杂性,增加了运维的难度。但是这种模式应该是在目前容器化的环境下很好的选择,原因很简单,因为充分的利用了资源,容器的运维可以交给容器运维平台去完成,比如k8s等

Consul集群版容器化部署与应用集成

做~自己de王妃 提交于 2019-12-06 11:40:53
背景 由于公司目前的主要产品使用的注册中心是 consul , consul 需要用集群来保证高可用,传统的方式(Nginx/HAProxy)会有单点故障问题,为了解决该问题,我开始研究如何只依赖 consul 做集群的注册的方式,经过一天的折腾,总算验证了可以通过 集群版ConsulClient 来进行集群注册,在部署实施过程中也遇到了一些问题,特此记录分享,希望能对有需要的同学有帮助。 主机版集群和docker版集群对比 client+server转发模式的集群部署涉及到两种选择,第一种是直接主机模式部署,2个 client +3个 server ,每个 consul 实例部署一台主机(适合土豪使用),此种模式的好处就是简单暴力,而且运维相对简单。此种模式的架构部署图如下: 我们选择的是另外一种经济节约模式, docker 化部署,好处就是节约资源,劣势就是要管理许多 docker 镜像,在有引入k8s这些容器管理平台之前,后续 docker 的运维会比较麻烦,这种模式的架构部署图如下: 通过以上两种模式的架构图我们很清楚的就能知道主机部署模式是最简单直接的,而 docker 的模式虽然节省了资源,但是加大了复杂性,增加了运维的难度。但是这种模式应该是在目前容器化的环境下很好的选择,原因很简单,因为充分的利用了资源,容器的运维可以交给容器运维平台去完成,比如k8s等