Centos安装Consul微服务

一、简介

Consul([?k?nsl],康搜)是注册中心,服务提供者、服务消费者等都要注册到Consul中,这样就可以实现服务提供者、服务消费者的隔离。除了Consul之外,还有Eureka、Zookeeper等类似软件。consul是存储服务名称与IP和端口对应关系的服务器

consul是google开源的一个使用go语言开发的服务发现、配置管理中心服务。内置了服务注册与发现框 架、分布一致性协议实现、健康检查、Key/Value存储、多数据中心方案,不再需要依赖其他工具(比如ZooKeeper等)。服务部署简单,只有一个可运行的二进制的包。每个节点都需要运行agent,他有两种运行模式server和client。每个数据中心官方建议需要3或5个server节点以保证数据安全,同时保证server-leader的选举能够正确的进行。

@client

CLIENT表示consul的client模式,就是客户端模式。是consul节点的一种模式,这种模式下,所有注册到当前节点的服务会被转发到SERVER,本身是不持久化这些信息。

@server

SERVER表示consul的server模式,表明这个consul是个server,这种模式下,功能和CLIENT都一样,唯一不同的是,它会把所有的信息持久化的本地,这样遇到故障,信息是可以被保留的。

@server-leader

中间那个SERVER下面有LEADER的字眼,表明这个SERVER是它们的老大,它和其它SERVER不一样的一点是,它需要负责同步注册的信息给其它的SERVER,同时也要负责各个节点的健康监测。

@raft

server节点之间的数据一致性保证,一致性协议使用的是raft,而zookeeper用的paxos,etcd采用的也是taft。

@服务发现协议

consul采用http和dns协议,etcd只支持http

@服务注册

consul支持两种方式实现服务注册,一种是通过consul的服务注册http API,由服务自己调用API实现注册,另一种方式是通过json个是的配置文件实现注册,将需要注册的服务以json格式的配置文件给出。consul官方建议使用第二种方式。

@服务发现

consul支持两种方式实现服务发现,一种是通过http API来查询有哪些服务,另外一种是通过consul agent 自带的DNS(8600端口),域名是以NAME.service.consul的形式给出,NAME即在定义的服务配置文件中,服务的名称。DNS方式可以通过check的方式检查服务。

@服务间的通信协议

Consul使用gossip协议管理成员关系、广播消息到整个集群,他有两个gossip  pool(LAN pool和WAN pool),LAN pool是同一个数据中心内部通信的,WAN pool是多个数据中心通信的,LAN pool有多个,WAN pool只有一个。

二、安装

consul官网:https://www.consul.io/

1)下载

wget https://releases.hashicorp.com/consul/1.3.0/consul_1.3.0_linux_amd64.zip

2)解压

unzip  consul_1.3.0_linux_amd64.zip

3)拷贝到usr目录下

mv consul   /usr

4)查看是否安装成功

./consul

5)启动

./consul agent -dev -ui -node=consul-dev -client=192.168.*.** #虚拟机ip

6) 后在浏览器中输 http://192.168*.**:8500 就可以访问了

原文地址:https://www.cnblogs.com/xiaoyaodijun/p/9797174.html

时间: 2024-08-30 14:18:05

Centos安装Consul微服务的相关文章

centos安装启动telnet服务

安装telnet服务: yum -y install telnet* 安装客户端和服务端: 启动服务: service xinetd restart 检查端口: lsof -i:23 防火墙开放23端口: iptables -A INPUT -p tcp --dport 23 -j ACCEPT iptables-save service iptables restart

【Linux】【Services】【SaaS】Docker+kubernetes(7. 安装consul实现服务注册发现)

1. 简介 1.1. Consul的功能: 服务发现:通过DNS或HTTP接口使得消费者发现服务,应用程序可以轻松找到所依赖的服务. 健康检查:防止将请发转发不健康的主机. 键值存储:可以使用分层键/值存储,比如功能标记.动态配置等. 多数据中心:开箱即用,不需要复杂的配置.这就意味着不用建立抽象的逻辑来扩展多个地区. 1.2. Consul集群介绍: -- Consul agent是Consul核心工作,分为client和server两种工作模式.默认以client模式运行,提供服务注册.健康

JAVA Cloud微服务项目实战 SpringBoot 2.x +SpringCloud

课程目录第1章 课程介绍课程导学和学习建议 1-1 SpringCloud导学1-2 获取源码说明1-3 提问建议1-4 点餐项目演示说明第2章 微服务介绍什么是微服务, 单体架构优缺点, 常见的几种架构模式. 2-1 微服务和其他常见架构2-2 从一个极简的微服务架构开始第3章 服务注册与发现介绍微服务中的服务注册与发现机制,Spring Cloud Eureka组件的使用以及如何保证高可用 3-1 Spring Cloud Eureka3-2 Eureka Server3-3 Eureka

微服务架构学习

微服务架构 1.什么是微服务架构? 微服务框架当下很火,那到底什么是微服务呢?为什么会火呢? 我们传统的应用程序是一个项目,在一个进程里面运行的.这样就会导致各个业务逻辑模块耦合性高,有时代码调整时,牵一发而动全身.传统的项目大部分采用单体式开发,如下图所示: 如上图所示,单体式开发弊端显而易见.我们改动订单模块时,仓储.物流.用户模块也可能会受到影响. 业务推动技术的发展,技术应用于业务.由此,诞生了我们的微服务架构. 微服务架构的定义:是一种程序设计风格,把各种业务分离成单独的服务,在独立进

.NET Core微服务之基于Consul实现服务治理

一.Consul基础介绍 Consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置.与其他分布式服务注册与发现的方案,比如 Airbnb的SmartStack等相比,Consul的方案更"一站式",内置了服务注册与发现框 架.分布一致性协议实现.健康检查.Key/Value存储.多数据中心方案,不再需要依赖其他工具(比如ZooKeeper等),使用起来也较 为简单. Consul用Golang实现,因此具有天然可移植性(支持Linux.windows和Ma

【3分钟就会系列】使用Ocelot+Consul搭建微服务吧!

原文:[3分钟就会系列]使用Ocelot+Consul搭建微服务吧! 一.什么Ocelot? API网关是一个服务器,是系统的唯一入口.API 网关一般放到微服务的最前端,并且要让API 网关变成由应用所发起的每个请求的入口.这样就可以明显的简化客户端实现和微服务应用程序之间的沟通方式.从面向对象设计的角度看,它与外观模式类似.API网关封装了系统内部架构,为每个客户端提供一个定制的API.它可能还具有其它职责,如身份验证.监控.负载均衡.缓存.请求分片与管理.静态响应处理. Ocelot 是一

8分钟学会Consul集群搭建及微服务概念

原文:8分钟学会Consul集群搭建及微服务概念 Consul介绍: Consul 是由 HashiCorp 公司推出的开源软件,用于实现分布式系统的服务发现与配置.与其他分布式服务注册与发现的方案,Consul 的方案更“一站式”,内置了服务注册与发现框 架.分布一致性协议实现.健康检查.Key/Value 存储.多数据中心方案,不再需要依赖其他工具(比如 ZooKeeper 等),使用起来也较为简单. Consul的如何实现的? Consul 用 Golang 实现,因此具有天然可移植性(支

微服务 consul使用

前言 常见的注册中心有zookeeper .eureka.consul.etcd.从生态发展.便利性.语言无关性等角度来综合考量,选择consul,多数据中心支持,支持k-v能力,可扩展为配置中心.github地址:https://github.com/hashicorp/consulconsul官网:https://learn.hashicorp.com/consul consul特性 consul是分布式的.高可用.横向扩展的.consul提供的一些关键特性: service discove

Spring Cloud微服务运维神器之Consul Template?

Spring Cloud微服务架构浅析 这篇文章中要和大家分享下的就是在Spring Cloud微服务架构模式中被运维小哥用的很爽的一个工具Consul Template? 在具体介绍Consul Template是个什么东西之前,我们先来整体看一张微服务模式下的系统架构图,如下图所示: 在上图中,我们看到在基于Spring Cloud的微服务体系中,所有的微服务都会被注册到统一服务注册中心进行服务管理,这里使用的服务注册中心是Consul.假设在正常情况下,我们面向C端用户设计了一套微服务逻辑