首页 > 其他分享 >springCloud之Consul简介

springCloud之Consul简介

时间:2023-04-08 10:44:40浏览次数:33  
标签:服务 更改 springCloud Consul 网络 流量 简介 consul

Consul是什么

Consul是HashiCorp公司推出的开源工具。HashiCorp Consul是一种服务网络解决方案,使团队能够管理服务之间以及跨预处理和多云环境和运行时的安全网络连接。Consul为网络基础设施设备提供服务发现、服务网格、流量管理和自动更新。您可以单独使用这些功能,也可以在单个Consul部署中一起使用。

Consul的特点

1、服务注册和发现:在云基础设施上采用微服务架构是实现大规模价值的关键一步,但实时了解健康服务在网络上的运行位置将成为一项挑战。Consul通过将通常由负载均衡器处理的服务连接替换为基于身份的服务目录来自动化服务发现。服务目录是一个集中的真相来源,您可以通过Consul的DNS服务器或API进行查询。目录总是知道哪些服务是可用的,哪些已经被删除,哪些服务是健康的。
2、跨运行时和云提供商连接服务:Consul将网络流量路由到您的服务需要到达的任何运行时或基础设施环境。您还可以使用Consul API网关来路由流量进出网络。Consul服务网格提供了额外的功能,例如确保服务之间的通信安全、流量管理和可观察性,而无需更改应用程序代码。Consul还与Kubernetes进行了许多集成,使您能够在容器化环境中利用Consul功能。例如,Consul可以自动将sidecar代理注入Kubernetes Pods,并将Kubernete服务和非Kubernets服务同步到Consul服务注册表中,而无需手动更改应用程序或更改Pod定义。
3、启用零信任网络安全:微服务体系结构很复杂,很难保护其免受恶意行为者的意外泄露。Consul提供了几种机制,可以在不更改应用程序代码的情况下增强网络安全性,包括对服务和Consul意图之间的所有流量进行相互传输层安全性(mTLS)加密,您可以通过Consul UI、API和CLI管理服务的权限。
4、保护您的服务免受网络故障的影响:停电是不可避免的,但对于分布式系统来说,一个数据中心的电源故障不会中断下游服务操作至关重要。您可以启用自动备份、冗余区域、读取副本和其他功能,以防止灾难性事件后的数据丢失和停机。L7可观察性特性还在Consul UI中提供服务流量度量,这有助于您了解服务的状态及其在网格中的连接。
5、动态更新网络基础设施设备:更改网络,包括更新网络设备端点和防火墙或负载均衡器规则等日常操作任务,可能会导致在关键时刻中断操作的问题。您可以部署Consul Terraform Sync(CTS)插件,以便在服务更改时动态更新网络基础设施设备。CTS监控Consul中存储的服务信息,并在Consul注册更改时自动启动HashiCorp Terraform实例,以驱动网络基础设施的相关更改,从而减少配置网络基础设施时的手动工作量。
6、优化部署和测试场景的流量路线:推出更改可能有风险,尤其是在复杂的网络环境中。更新后的服务在连接到其他服务时可能无法正常运行,从而导致上游或下游问题。Consul服务网格支持第7层(L7)流量管理,可以将L7流量划分为不同的服务实例子集。这使您能够将服务池划分为金丝雀测试、A/B测试、蓝/绿部署和软多租户(prod/qa/stating共享计算资源)部署。
7、分布式配置:通过key/value存储配置。

Consul架构图

 

建议在Consul集群内部署5个节点,分布在三个可用性区域之间,因为此体系结构可以承受集群内两个节点的损失或整个可用性区域的损失。这些服务器一起运行Raft驱动的一致状态存储,用于更新目录、会话、准备好的查询、ACL和KV状态。

安装

Consul的下载地址是https://developer.hashicorp.com/consul/downloads。下载并解压后运行./consul 查看支持命令:

 

运行命令启动Consul: ./consul agent -server -node=consul -data-dir=./consul_data -ui -bootstrap-expect=1,-server 表示是server模式,-bootstrap-expect=1 表示是集群中有1台服务器 bootstrap该模式node可以指定自己作为leader ,如果是非leader可不加该参数; -data-dir指定数据目录,-node表示该服务器节点名,-ui 非必须 ,用web来管理consul。

 

启动成功后,访问http://127.0.0.1:8500/,可看到

 

通过Services菜单可以查看注册到Consul的服务。

标签:服务,更改,springCloud,Consul,网络,流量,简介,consul
From: https://www.cnblogs.com/shigongp/p/17298023.html

相关文章

  • day05-SpringCloud Eureka-服务注册与发现02
    SpringCloudEureka-服务注册与发现023.搭建EurekaServer集群-实现负载均衡&故障容错3.1为什么需要集群EurekaServer?微服务RPC远程服务调用最核心的是高可用如果注册中心只有1个,如果出现故障,会导致整个服务环境不可用解决办法就是搭建Eureka注册中心集群,实现负载均衡和故障......
  • .Net6注入Consul服务
    .Net6注入Consul服务直接上代码了(参考了一下其他博客进行总结一下),我这边项目工程是模拟微服务模式,新建类库把服务打包成了nuget方便调用现在先大致介绍一下,结尾放demo案例代码consul心跳心跳的地址要于下面配置文件的地址一样这里先定义一会配置文件也要相同///<summary>......
  • 未来数字世界的主角:数字人简介
    数字人是一个由计算机程序生成的虚拟人物,它们可以像真实人物一样思考、交流和决策。未来的数字世界将会有许多数字人,他们将成为数字世界的主角。让我们来看看数字人的一些特点和应用。数字人的特点数字人具有以下几个特点:1、可以像真实人物一样思考、交流和决策。2、数字人可以根据......
  • STL 容器简介
    STL常用容器string字符串常用成员方法vector向量常用成员方法deque队列常用成员方法stack栈常用成员方法queue队列常用成员方法list链表常用成员方法set/multiset集合常用成员方法map/multimap映射常用成员方法......
  • Day 23 23.1 Scrapy框架之简介&安装
    Scrapy框架简介(1)基本介绍Scrapy一个开源和协作的框架,其最初是为了页面抓取(更确切来说,网络抓取)所设计的,使用它可以以快速、简单、可扩展的方式从网站中提取所需的数据。但目前Scrapy的用途十分广泛,可用于如数据挖掘、监测和自动化测试等领域,也可以应用在获取API所返回......
  • SpringCloud 多个服务启动放在一个窗口下的设置
    进入.idea文件夹,在workspace.xml文件中加入如下配置即可<componentname="RunDashboard"><optionname="configurationTypes"><set><optionvalue="SpringBootApplicationConfigurationType"/></set&......
  • docker-compose 部署 consul v1.15.2
    server1配置文件{"node_name":"consul-server1","datacenter":"zhongtai","domain":"consul","server":true,"log_level":"INFO","ui_conf......
  • Rancher简介
    Rancher简介介绍用于管理Kubernetes的Rancher工具课程英文名:IntroductiontoRancher此视频教程共0.98GB,中英双语字幕,画质清晰无水印,源码附件全课程地址:https://xueshu.fun/1460演示地址:https://acloudguru.com/course/introduction-to-rancher课程内容关于课程你好,......
  • WPF MVVM模式简介
    WPF是WindowsPresentationFoundation的缩写,它是一种用于创建桌面应用程序的用户界面框架。WPF支持多种开发模式,其中一种叫做MVVM(Model-View-ViewModel)。什么是MVVM?MVVM是一种软件架构模式,它将应用程序分为三个层次:Model(模型),View(视图)和ViewModel(视图模型)。Model表示应用程序的......
  • 计算机的一些操作及简介
    什么是计算机Computer:全称电子计算机,俗称电脑。能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。由硬件和软件所组成常见的形式有台式计算机、笔记本计算机、大型计算机等。广泛应用在:科学计算,数据处理,自动控制,计算机辅助设计,人工智能,网络等领域 硬件及冯......