Consul介绍:什么是Consul & 与其他软件的比较
Consul介绍
什么是consul
Consul是一个服务网格解决方案,提供了一个功能齐全的控制台、具有服务注册发现、配置中心和分段功能。Consul的每一个特性既可以根据需要单独使用,又可以一起使用来构建完成的服务网格。Consul拥有一个数据层且支持代理和本地集成模型。Consul提供了一个简易的内置代理以方便开箱即用,同事也支持第三方代理集成例如[Envoy](https://www.envoyproxy.io)。
关键特性:
1. 服务发现:客户端可以通过Consul注册一个服务,例如 api 或 mysql,并且其他客户端可以通过Consul发现服务提供者。通过DNS或HTTP,应用程序可以方便的找到她们依赖的其他服务。 2. 健康检查:Consul客户端可以提供任意数量的健康状况检查,这些检查要么与给定的服务相关(“web服务器是否返回200 OK”),要么与本地节点相关(“内存利用率是否低于90%”)。管理员可以使用这些信息监视群集运行状况,服务发现组件也可以使用此信息将请求路由到远离不健康的主机。 3. KV存储:应用程序可以将Consul的KV存储用于任何目的,包括动态配置、功能标记、协调、leader选举等。并提供了简易的HTTP API使其易于使用。 4. 安全机制:Consul可以生成和颁发服务的TLS证书,以建立TLS连接。原型(Intentions)是定义允许哪些服务进行通信。使用可以随时变更的Intentions,而不是使用复杂的网络拓扑和静态防火墙规则,可以轻松地管理服务分段。 5. 多数据中心:Consul提供开箱即用的多数据中心支持。这意味着Consul的用户不必担心构建额外的抽象层来应对多区域中心扩展。 Consul的设计对DevOps社区和应用开发人员都非常友好,非常适合现代的、弹性的基础设施。
基础架构:
Consul是一个分布式,高可用系统。本节只覆盖Consul的基本概念,更多的细节请[点击](https://www.consul.io/docs/connect/intentions.html)
Consul提供服务的每个节点都运行着一个consul代理。发现其他服务或获取/设置密钥/值数据不需要运行代理。代理负责检查节点上的服务以及节点本身的运行状况。 代理与一到多个Consul服务对话。Consul服务负责数据存储和复制,这些服务选举出一个leader(raft)。虽然Consul可以在一台服务器上运行,但建议使用3到5台服务器避免鼓掌导致数据丢失。每个数据中心建议搭建一套Consul集群。 基础设施中的组件通过任何Consul服务器或其代理可以访问到其他服务或检点。代理会将请求路由到Consul服务器。 每一个数据中心运行着一个Consul集群。当发起一个跨数据中心服务发现或配置变更,本地Consul服务器会转发请求到远程数据中心并返回结果。
vs. 其他软件
类型 | CAP | 集成 | KV存储 | 健康检查 | 安全 | 多数据中心支持 | 一致性 |
zookeeper | CP | SDK | 支持 | 长连接,keepalive | ACL | NO | Paxos |
doozerd | CP | sdk | 支持 | -- | -- | NO | Paxos |
etcd | CP | http/grpc | 支持 | 连接心跳 | https支持(弱) | NO | raft |
consul | CP | http/dns | 支持 | 服务状态,内存,硬盘等 | https/acl | 支持 | raft |
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
升级Spring Boot 2.2.0、Spring Cloud Hoxton 问题总结
项目推荐: Spring Cloud 、Spring Security OAuth2的RBAC权限管理系统 欢迎关注最近升级项目的依赖 到最新版本 版本变化 依赖 项目版本 目标版本 Spring Boot 2.1.9.RELEASE 2.2.0.RELEASE Spring Cloud Greenwich.SR3 Hoxton.RC1 Spring Boot Admin 2.1.6 2.2.0 Hoxton 版本依赖厂库 目前 Spring Cloud Hoxton 未发布 RELEASE 版本,官方计划 本月发布 使用 Hoxton.RC1 版本需要配置 spring 仓库 <repository> <id>spring-milestones</id> <name>Spring Milestones</name> <url>https://repo.spring.io/milestone</url> <snapshots> <enabled>false</enabled...
- 下一篇
微服务架构案例(06):通过业务、应用、技术、存储方面,聊聊架构
更新进度(共6节): 章节 文章标题 01 项目技术选型简介,架构图解说明 02 业务架构设计,系统分层管理 03 数据库选型,业务数据设计规划 04 中间件集成,公共服务管理 05 SpringCloud 基础组件应用设计 06 通过业务、应用、技术、存储方面,聊聊架构 一、架构的概念 架构分类可细化的分为业务架构、应用架构、技术选型、代码规划、部署环境架构等。业务架构是核心的驱动力,应用架构是实现的思路,技术选型落地是结果。根据用户需求,设计合理的业务架构,做出相应的应用架构流程,最后落地实施,完成项目。如何在架构的初期,预判业务发展的速度,保证架构可以稳定快速的扩展,支撑起业务发展,这个是软件开发者,特别是架构师,需要长期积累和修炼的核心能力。 二、业务架构 业务架构中包括业务规划、功能模块、流程设计,微服务架构模式中对整个系统的业务进行服务化拆分设计,把实际的业务抽象化,进而进行封装,优化服务结构。不需要最好的架构,只选则合适的架构,系统架构的原则都要以解决业务问题为核心目标,任何不基于业务做天马行空的架构都是对公司的不负责任。 三、应用架构 应用架构流程是基于业务架构来设计的...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS8安装Docker,最新的服务器搭配容器使用
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Windows10,CentOS7,CentOS8安装Nodejs环境
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS7安装Docker,走上虚拟化容器引擎之路