当前位置: 首页 > news >正文

spring cloud 微服务部署(2025年)第一章:Nacos、LoadBalancer、GateWay、Ribbon集成之Nacos部署

【spring cloud 3.0微服务部署】第一章:Nacos、LoadBalancer、GateWay、Ribbon集成之Nacos部署

  • 链接
    • 第一章:Nacos、LoadBalancer、GateWay、Ribbon集成之Nacos部署
    • 第二章:Nacos、LoadBalancer、GateWay、Ribbon集成之负载均衡LoadBalancer部署
    • 第三章:Nacos、LoadBalancer、GateWay、Ribbon集成之网关Gateway部署
    • 第四章:Nacos、LoadBalancer、GateWay、Ribbon集成之跨服务调用ribbon
    • 查看源码
  • 正文
  • 微服务选型
    • Nacos安装
    • 配置
    • 效果如图

链接

第一章:Nacos、LoadBalancer、GateWay、Ribbon集成之Nacos部署

第二章:Nacos、LoadBalancer、GateWay、Ribbon集成之负载均衡LoadBalancer部署

第三章:Nacos、LoadBalancer、GateWay、Ribbon集成之网关Gateway部署

第四章:Nacos、LoadBalancer、GateWay、Ribbon集成之跨服务调用ribbon

查看源码

正文

微服务选型

犹记得,spring boot2.0的时代,微服务架构还是eureka+ feign+zuul ,而今脚步匆匆,不知不觉已经换了架构,来看已知图:
在这里插入图片描述
接下来,从0开始构建新的微服务架构,服务注册中心选择Nacos,负载均衡选择loadbalancer,服务调用选择Nacos自带的ribbon,网关选择GateWay。

  • Nacos是阿里巴巴开源的一个服务发现和配置管理平台,其由来主要是因为在阿里巴巴内部存在大量的微服务架构,需要一个统一的服务发现和配置管理工具来管理这些服务。在这种情况下,Nacos应运而生,为微服务架构提供了可靠稳定的服务注册、配置管理、服务发现和动态路由等功能。通过使用Nacos,开发人员可以更方便地管理和调用各个微服务,提高了微服务架构的效率和可靠性。

  • Spring Cloud LoadBalancer 是 Spring Cloud 提供的一个客户端负载均衡器,它替换了传统的 Ribbon。LoadBalancer 的主要职责是根据配置的负载均衡策略,从服务注册中心获取的服务实例列表中选择一个实例来处理请求。

  • Ribbon是一个客户端负载均衡器,它是Netflix开源的一个组件,常与Spring Cloud一起使用。主要功能:

    ‌- 服务调用‌:Ribbon可以在客户端实现服务调用,即在服务消费者端根据一定的算法从多个服务提供者实例中选择一个进行调用。
    ‌- 负载均衡‌:Ribbon提供了多种负载均衡策略,如轮询(RoundRobin)、随机(Random)、加权响应时间(WeightedResponseTime)等。

  • Spring Cloud Gateway是Spring Cloud的一个子项目,基于WebFlux框架实现的API网关,旨在为微服务架构提供一种简单而有效的方式来路由和过滤请求。主要功能:
    ‌ - 动态路由‌:Spring Cloud Gateway可以根据不同的请求路径、请求参数、请求头等条件,将请求路由到不同的微服务实例上。这种动态路由的能力使得微服务架构更加灵活和可扩展。
    ‌- 过滤和拦截‌:Gateway提供了丰富的过滤器机制,可以对请求进行预处理和后处理。例如,可以在请求发送到微服务之前进行身份验证、限流、日志记录等操作,也可以在响应返回给客户端之前进行格式转换、数据加密等操作。
    -‌ 监控和度量‌:Gateway内置了监控和度量功能,可以实时统计请求的访问量、响应时间、错误率等指标,帮助开发人员了解系统的运行状态并进行性能调优。

Nacos安装

官网Nacos.io

  1. 下载nacos :下载链接;
  2. 官方安装文档 文档链接;
  3. 宝塔面板安装
    首页-软件商店-官方应用,搜索nacos,如图:
    在这里插入图片描述

配置

  1. 开放端口
    8848:这是Nacos服务的主端口,用于客户端、控制台以及OpenAPI的HTTP通信。
    9848:客户端gRPC请求服务端的端口,客户端通过此端口向Nacos服务端发起连接和请求。
  2. 设置账号密码登录
    默认是不需要权限的,开启权限校验确保安全。
  • 修改默认配置文件
    • 原始密钥长度不得低于32字符
### 用于生成JWT令牌的密钥(Base64 String):
nacos.core.auth.default.token.secret.key=$custom_base64_token_secret_key
  • 身份识别信息
### 配置自定义身份识别的key(不可为空)和value(不可为空)
nacos.core.auth.server.identity.key=$custom_server_identity_key
nacos.core.auth.server.identity.value=$custom_server_identity_value
  • 打开鉴权开关
### If turn on auth system:
nacos.core.auth.system.type=nacos
nacos.core.auth.enabled=true
  • 修改密码,打开终端,执行命令行,$nacos_server_port:8848
curl -X POST 'http://$nacos_server_host:$nacos_server_port/nacos/v1/auth/users/admin' -d 'password=$your_password'

效果如图

在这里插入图片描述
在这里插入图片描述

Nacos结语: 不像eureke那样需要本地启动服务

相关文章:

  • 鼠标悬浮到某个 <li> 元素时,将 hoverLiData 更新为当前 item 的 id
  • mac 本地安装deepseek
  • Flutter:动态表单(在不确定字段的情况下,生成动态表单)
  • Linux 进程控制(进程创建,进程等待)
  • 手机功耗BugReport字段含义介绍
  • 软件考研,选择华科还是科软?
  • Java与C语言中取模运算符%的区别对比
  • 如何使用 Ollama 和 Docker 设置 DeepSeek
  • Query String 传递 json 对象参数、map参数
  • 【设计模式】【结构型模式】组合模式(Composite)
  • 根据deepseek模型微调训练自动驾驶模型及数据集的思路
  • 智能猫眼实现流程图
  • matlab数据处理:创建网络数据
  • 接口测试工具:Postman
  • 【记忆化搜索】最长递增子序列
  • Nginx内存池源代码剖析----ngx_create_pool函数
  • AI 新动态:技术突破与应用拓展
  • 【万字详细教程】Linux to go——装在移动硬盘里的Linux系统(Ubuntu22.04)制作流程;一口气解决系统安装引导文件迁移显卡驱动安装等问题
  • 机器学习实战(4):逻辑回归——分类问题的基础
  • 【git-hub项目:YOLOs-CPP】本地实现03:跑自己的实例分割模型
  • 体坛联播|水晶宫队史首夺足总杯,CBA总决赛爆发赛后冲突
  • 浙江美术馆馆长人民日报撰文:打开更辽阔的审美场域
  • 当“诈骗诱饵”盯上短剧
  • 经济日报金观平:促进信贷资金畅达小微企业
  • 中国驻美大使:远离故土的子弹库帛书正随民族复兴踏上归途
  • 菲律宾中期选举结果揭晓,马科斯与杜特尔特家族重回“权力的游戏”