微服务 - 搭建Consul集群服务,Consul配置中心

2023-10-27

传统配置文件的弊端

  • 静态化配置,例如env文件
  • 配置文件无法区分环境
  • 配置文件过于分散
  • 历史版本无法查看

配置中心如何解决的呢?配置中心的思路是把项目中的配置参数全部放在一个集中的地方来管理,并提供一套标准的接口,当各个服务需要获取配置的时候就来拉取信息,当配置中心有更新的时候,也能通知其他服务,实时同步最新消息。

微服务配置中心

  • 配置信息的管理
  • 配置信息的查看、读取、更新等,完善的Api管理界面
  • 高可用、权限管理等功能

主流的配置中心

  • Apollo是由携程开源的分布式配置中心
  • Spring Cloud Config
  • Consul

Consul 配置操作

1.添加配置信息

3.png

2.获取配置信息

GET http://192.168.88.144:8500/v1/kv/mic/pro/pro
[
    {
        "LockIndex":0,
        "Key":"mic/pro/pro",
        "Flags":0,
        "Value":"ewoJImhvc3QiOiIxMjcuMC4wLjEiLAogICJwcm90IjogMzMwNiwKICAidXNlciI6InRlc3QiLAogICJwd2QiOiIxMjcuMC4wLjEiCn0=",
        "CreateIndex":473,
        "ModifyIndex":473
    }
]

单点服务器Consul集群

补充一下单点服务器Consul集群的步骤,我的虚拟机ip 192.168.88.144,配置3个节点, Consul v1.12.1

server01@server01-virtual-machine:~$ consul version
Consul v1.12.1
wget https://releases.hashicorp.com/consul/1.12.1/consul_1.12.1_darwin_arm64.zip
unzip consul_1.12.1_darwin_arm64.zip
mv consul /usr/local/bin/consul

目录:

├── client1
├── client2
├── condifg
├── data
├── server1
│   ├── basic.json
│   ├── data
│   ├── log
│   └── nohup.out
├── server2
│   ├── basic.json
│   ├── data
│   ├── log
│   └── nohup.out
└── server3
    ├── basic.json
    ├── data
    ├── log
    └── nohup.out

server1 basic.json详细参数,执行命令consul agent -config-dir=/home/server01/soft/consul/server1/basic.json

{
    "bind_addr":"127.0.0.1",
    "client_addr":"0.0.0.0",
    "ports":{
        "http":8500,
        "dns":8600,
        "serf_lan":8011,
        "serf_wan":8002,
        "server":8700
    },
    "datacenter":"dc1",
    "data_dir":"/home/server01/soft/consul/server1/data",
    "log_level":"INFO",
    "log_file":"/home/server01/soft/consul/server1/log/consul.log",
    "node_name":"consul-server-1",
    "disable_host_node_id":true,
    "server":true,
    "ui":true,
    "bootstrap_expect":3,
    "rejoin_after_leave":true,
    "retry_join":[
        "127.0.0.1:8011",
        "127.0.0.1:8101",
        "127.0.0.1:8201"
    ]
}

server2 basic.json详细参数,执行命令consul agent -config-dir=/home/server01/soft/consul/server2/basic.json

{
    "bind_addr":"127.0.0.1",
    "client_addr":"0.0.0.0",
    "ports":{
        "http":8501,
        "dns":8601,
        "serf_lan":8111,
        "serf_wan":8102,
        "server":8701
    },
    "datacenter":"dc1",
    "data_dir":"/home/server01/soft/consul/server2/data",
    "log_level":"INFO",
    "log_file":"/home/server01/soft/consul/server2/log/consul.log",
    "node_name":"consul-server-2",
    "disable_host_node_id":true,
    "server":true,
    "ui":true,
    "bootstrap_expect":3,
    "rejoin_after_leave":true,
    "retry_join":[
        "127.0.0.1:8011",
        "127.0.0.1:8111",
        "127.0.0.1:8211"
    ]
}

server3 basic.json详细参数,执行命令consul agent -config-dir=/home/server01/soft/consul/server3/basic.json

{
    "bind_addr":"127.0.0.1",
    "client_addr":"0.0.0.0",
    "ports":{
        "http":8502,
        "dns":8602,
        "serf_lan":8211,
        "serf_wan":8202,
        "server":8702
    },
    "datacenter":"dc1",
    "data_dir":"/home/server01/soft/consul/server3/data",
    "log_level":"INFO",
    "log_file":"/home/server01/soft/consul/server3/log/consul.log",
    "node_name":"consul-server-3",
    "disable_host_node_id":true,
    "server":true,
    "ui":true,
    "bootstrap_expect":3,
    "rejoin_after_leave":true,
    "retry_join":[
        "127.0.0.1:8011",
        "127.0.0.1:8111",
        "127.0.0.1:8211"
    ]
}

2.png

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

微服务 - 搭建Consul集群服务,Consul配置中心 的相关文章

  • Dubbo和Spring Cloud微服务架构对比

    Dubbo和Spring Cloud微服务架构对比 微服务架构是互联网很热门的话题 是互联网技术发展的必然结果 它提倡将单一应用程序划分成一组小的服务 服务之间互相协调 互相配合 为用户提供最终价值 虽然微服务架构没有公认的技术标准和规范或
  • 微服务网关 —— SpringCloud Gateway

    Gateway 简介 Spring Cloud Gateway 基于 Spring 5 Spring Boot 2 和 Project Reactor 等技术 是在 Spring 生态系统之上构建的 API 网关服务 Gateway 旨在提
  • 开源微服务如何选型?Spring Cloud、Dubbo、gRPC、Istio 详细对比

    不论您是一名开发者 架构师 CTO 如果您曾深度参与在微服务开发中 那么相信您一定有过开源微服务框架或体系选型的疑问 Apache Dubbo Spring Cloud gRPC 以及 Service Mesh 体系产品如 Istio 到底
  • 云原生微服务应用的平台工程实践

    作者 纳海 01 微服务应用云原生化 微服务是一个广泛使用的应用架构 而如何使得微服务应用云原生化却是近些年一直在演进的课题 国内外云厂商对云原生概念的诠释大同小异 基本都会遵循 CNCF 基金会的定义 云原生技术有利于各组织在公有云 私有
  • 【业务功能篇78】微服务-前端后端校验- 统一异常处理-JSR-303-validation注解

    5 前端校验 我们在前端提交的表单数据 我们也是需要对提交的数据做相关的校验的 Form 组件提供了表单验证的功能 只需要通过 rules 属性传入约定的验证规则 并将 Form Item 的 prop 属性设置为需校验的字段名即可 校验的
  • 领域驱动设计:DDD重构中台业务模型

    文章目录 如何避免重复造轮子 如何构建中台业务模型 如何避免重复造轮子 要避免重复建设 就要理解中台的理念和思想 中台是企业级能力复用平台 复用 用白话说就是重复使用 就是要避免重复造轮子的事情 中台的设计思想与 高内聚 低耦合 的设计原则
  • 4.Docker--Consul

    Docker Consul 引言 Consul是HashiCorp公司推出的开源工具 Consul由Go语言开发 部署起来非常容易 只需要极少的可执行程序和配置文件 具有绿色 轻量级的特点 Consul是分布式的 高可用的 可横向扩展的用于
  • springboot注册到consul中报错:Spring MVC found on classpath, which is incompatible with Spring Cloud

    今天在做springboot整合成springCloud并注册到consul中时 发现若注册到consule中成功 则不能启动swagger 且不能提供任何API服务 要是能提供API服务则不能注册到consule中 并报错 Spring
  • 浅谈微服务异步解决方案

    导言 异步是一种设计思想 不是设计目的 因此不要为了异步而异步 要有所为 有所不为 异步不是 银弹 避免试图套用一个 异步框架 解决所有问题 需要根据不同的业务特点或要求 选择合适的设计实现方式 同步和异步问题是大型分布式系统中需要慎重等待
  • 为分布式做准备吧——分布式服务架构设计概述

    文章目录 分布式服务框架设计架构原理 通信框架 长连接还是短链接 BIO还是NIO 序列化与反序列化 协议栈 服务路由 基于服务注册中心的订阅发布 集群容错 服务降级 分布式消息跟踪 分布式服务框架设计架构原理 通常 分布式服务框架的架构可
  • SpringCloud Gateway:status: 503 error: Service Unavailable

    使用SpringCloud Gateway路由请求时 出现如下错误 yml配置如下 可能的一种原因是 yml配置了gateway discovery locator enabled true 此时gateway会使用负载均衡模式路由请求 但
  • 【业务功能篇104】 补充【业务功能篇99】微服务-springcloud-springboot-电商订单模块--整合支付

    在前面我们业务功能篇98 99中 我们介绍了电商项目中的订单模块服务 那么最后就是需要进行支付动作 那么我们这里就通过订阅第三方平台支付宝的支付调用接口功能 来进一步完成订单提交后的支付动作 支付宝的接口使用可以登录官网开发指南详情去了解
  • 世界两万英尺范围内,均分布有运维体系架构

    几年前 Microsoft 与技术领先的社区专家合作发布了一本受欢迎的指导书 标题为 适用于容器化 NET 应用程序的 NET 微服务 深入探讨了构建分散式应用程序的原则 模式和最佳做法 其中包括一个功能齐全的微服务参考应用程序 展示了体系
  • 客户机操作系统已禁用 CPU。请关闭或重置虚拟机。解决方法

    今天在用VMware安装CentOS7报了这个错误 在网上找半天都没解决 最后换一个地址下的镜像就能正常安装了 Index of centos 7 9 2009 isos x86 64
  • Ribbon负载均衡策略DynamicServerListLoadBalancer的ServerListFilter解读

    一 DynamicServerListLoadBalancer在类图中的位置 二 DynamicServerListLoadBalancer源码解读 1 关键代码请见注释 2 源码位置 ribbon master ribbon loadba
  • SpringCloud概述

    SpringCloud概述 1 SpringCloud是什么 2 SpringCloud和SpringBoot关系 3 Dubbo和SpringCloud技术选型 4 SpringCloud作用 1 SpringCloud是什么 现代化的J
  • GoLong的学习之路,进阶,微服务之使用,RPC包(包括源码分析)

    今天这篇是接上上篇RPC原理之后这篇是讲如何使用go本身自带的标准库RPC 这篇篇幅会比较短 重点在于上一章对的补充 文章目录 RPC包的概念 使用RPC包 服务器代码分析 如何实现的 总结 Server还提供了两个注册服务的方法
  • Python 微服务架构指南

    概要 微服务架构作为一种设计风格 它将应用程序构建为一套小服务的集合 每个服务实现特定的业务功能 这些服务可以独立部署 扩展并围绕特定业务能力构建 Python 凭借其简洁易读的语法和强大的库生态系统成为实现微服务的受欢迎选择 本文将详细介
  • DockerCompose - 微服务项目部署全过程(最佳实践)

    目录 一 微服务项目部署 1 1 项目介绍 1 2 准备 MySQL 初始化文件 1 3 pom xml 插件 1 4 测试工作 1 5 编写 Dockerflie 文件 1 6 编写 DockerCompose yml 文件 1 7 修改
  • docker引擎swarm模式需要服务发现

    我对 docker swarm 感到困惑 据我所知 在 docker 引擎为 swarm 模式提供本机支持之前 运行 swarm 的旧方法是在容器中运行管理器和工作人员 旧的容器化 Swarm 的文档解释了如何使用 consul etcd

随机推荐

  • Failed to launch emulator 和 Failed to install the app解决方法

    1 按照react native官网配置好android开发环境 创建一个新项目 然后在vscode使用npm start和npm run android 运行打包的时候 报了上面两个错误 这是在创建好Device Manager中模拟手机
  • 互联网摸鱼日报(2023-03-06)

    互联网摸鱼日报 2023 03 06 InfoQ 热门话题 Snap首席信息安全官 我给软件供应链风险打 9 9 分 满分 10 分 技术深度解析 H 266 VVC 标准之量化技术 字节新一代解码器 BVC 帮助 H 266 VVC 标准
  • CMake编译opencv4.6

    openCV系列文章目录 文章目录 openCV系列文章目录 前言 一 准备工作 二 使用步骤 1 使用CMake编译openCV 总结 前言 最近在项目中遇到图片处理 一拍脑袋就想到大名鼎鼎的opencv 一 准备工作 1 openCV官
  • STM32中实现OLED多级菜单(支持修改参数)

    STM32中实现OLED多级菜单 目录 STM32中实现OLED多级菜单 一 完整工程源码下载 二 硬件连接 1 OLED12864 2 按键 3 蜂鸣器 三 效果展示 1 图片效果 2 视频效果 四 核心代码 1 gui h文件 2 gu
  • Redis(三)持久化

    RDB Redis DataBase Redis使用操作系统的多进程 COW Copy On Write 机制来实现快照持久化 Redis在持久化时会调用 glibc 的函数fork产生一个子进程 快照持久化完全交给子进程来处理 父进程继续
  • Zotero查看文献条目所属的分类

    Zotero是一个开源的文献管理软件 不光功能强大还支持插件扩展 但是很多Zotero用户可能会经常面临一个困境 就是不能很方便的确定某个文献条目具体属于哪些文件夹 如通过关键字在整个文献库搜索到某篇文献时 如果想看与该文献很相关的文献 定
  • OpenCV 验证码图像增强处理 一、滤波增强

    前言 图像增强是对图像进行处理 使其比原始图像更适合于特定的应用 它需要与实际应用相结合 对于图像的某些特征如边缘 轮廓 对比度等 图像增强是进行强调或锐化 以便于显示 观察或进一步分析与处理 图像增强的方法是因应用不同而不同的 有的小伙伴
  • WSL2默认DNS配置导致无法访问网络

    问题分析 1 进入wsl ping www baidu com 不通 2 本机cmd ping www baidu com 正常 3 把本机ping 百度的ip拿出来 用wsl直接ping 百度的ip正常 通过此步骤基本可以判断是WSL2默
  • 【GitHub.io/Github Pages使用教程】从头开始搭建自己的Github Pages,打造个人博客网站,展示个人简历、项目、文档或想要与世界共享的任何其他内容

    巨人半边莲 如果你曾征服乞力马扎罗山 留意过海拔 3 657 4 267 米处的尖顶植物 这种植物有时形似绿色大柱子 或 花序 从中间长出花序 那么你就可能看到许多巨人半边莲 这些植物生长在非洲最高山上 事实上 巨人半边莲是乞力马扎罗山上发
  • 基于Matlab的2ASK、2PSK性能仿真

    这里我们将简单的在Matlab中进行2ASK与2PSK的仿真 比较实际误码率与理论误码率 最终做出相应的曲线 2ASK的仿真 我们首先来2ASK的看一下程序框图 产生 0 1 随机数序列这里我们使用的是Matlab中randi imin i
  • Thinkphp5 联表(联合、关联、join)查询

    Db table think artist gt alias a gt join think work w a id w artist id gt join think card c a card id c id gt select joi
  • ps2020闪退_Adobe Photoshop 2020总是打不开,闪退,怎么回事,解决方法

    尽管还没有到2020年 但adobe公司更新软件的步伐没有停止 adobe 2020全家桶系列软件已经发布 其中就包括大家最喜欢的图像设计大师Photoshop 2020 我在第一时间也给大家分享了Photoshop2020简体中文版 许多
  • 微分动态规划的基本思想

    吴恩达cs229第19课 微分动态规划这一部分 看了两遍才看明白 赶紧记下来 微分动态规划是基于LQR 线性二次型 的 后者能够比较简洁地计算最优策略 但要基于一个前提 就是 t 1 时刻的状态 是 t 时刻的状态和 t 时刻采取行为的线性
  • LaTeX常用语法查询(自用)

    文章目录 LaTex文档结构 添加作者 标题 日期 章节和段落 插入目录 插入数学公式 两种插入模式 上下标和空格 根式与分式 符号 括号 省略号 矩阵 插入图片 插入表格 编辑器 离线编辑 在线编辑 分点 itemize 参考文献插入链接
  • 使用golang的pprof包对程序进行性能分析

    golang提供pprof包 可以监控golang程序的堆栈 cpu的耗时等性能信息 下边就说一下这个pprof包的使用 1 首先是引入 在两个地方可以引入 net http pprof runtime prof 其中 net http p
  • 尺寸汇总

    尺寸汇总 获取视口的宽高 含滚动条 window innerWidth window innerHeight 不含滚动条 document documentElement clientWidth document documentEleme
  • python使用matplotlib实现折线图的绘制

    一 意义 数据可视化可以以简洁的方式呈现出数据 发现众多数据中隐藏的规律和意义 Matplotlib是一个数学绘图库 利用它可以制作简单的图表 散点图 折线图 然后 将基于漫步概念生成一个更有趣的数据集 根据一系列随机决策生成的图表 本文我
  • 数据结构(9)之带权图

    1 带权图中 边带有一个数字 叫做权 它可能代表距离 耗费 时间或其他意义 2 带权图用来最常解决的问题是最短路径问题 pps 3 带权图的最小生成树中有所有的顶点和连接它们的必要的边 且这些边的权值最小 4 优先级队列的算法可用于寻找带权
  • Andriod中如何新建lunch项

    Andriod编译过程一般为 1 source build envsetup sh 加载命令 在项目根目录下 purple code a A code20211126 sdm660 目录 备注 在envsetup sh里将执行vendor和
  • 微服务 - 搭建Consul集群服务,Consul配置中心

    传统配置文件的弊端 静态化配置 例如env文件 配置文件无法区分环境 配置文件过于分散 历史版本无法查看 配置中心如何解决的呢 配置中心的思路是把项目中的配置参数全部放在一个集中的地方来管理 并提供一套标准的接口 当各个服务需要获取配置的时