Nacos是阿里巴巴开源的服务发现与配置管理平台,简化微服务架构的开发与运维。

Nacos简介

Nacos(Namely, Config and Service)是一个易于构建服务发现与配置管理平台的中间件,它主要解决了企业在微服务架构中的以下痛点需求:

  1. 服务发现与注册

    • 自动发现和注册服务实例。
    • 动态获取服务实例的位置信息。
  2. 服务配置管理

    • 集中化配置管理,统一管理不同环境下的配置。
    • 支持配置的动态推送和变更。
  3. 服务健康监测

    • 实时监控服务的健康状况。
    • 快速识别并隔离不健康的服务实例。
  4. 服务元数据管理

    • 管理服务相关的元数据,如版本、标签等。
  5. 流量管理

    • 支持基于路由规则的服务调用。
    • 负载均衡策略的灵活配置。
  6. 平滑迁移与同步

    • 支持注册中心之间的双向同步和平滑迁移。
    • 确保服务信息的一致性。
  7. 易用性和可扩展性

    • 提供友好的用户界面和API接口。
    • 支持插件化和扩展性设计,便于集成和二次开发。

通过这些功能,Nacos帮助企业简化了微服务架构的复杂度,提高了服务治理的效率和灵活性,降低了运维成本,增强了系统的可靠性和可维护性。

Nacos下载和安装

image.png

Nacos安装

docker run --env MODE=standalone \
    -v /dockerdata/nacos/config/application.properties:/home/nacos/conf/application.properties \
    --name nacos -d -p 8848:8848 nacos/nacos-server:2.0.4

image.png

Nacos使用手册(中文)

https://nacos.io/docs/latest/what-is-nacos/

Spring cloud项目中的应用

总网关

mall-gateway
server:
  port: 8201
spring:
  mvc:
    pathmatch:
      matching-strategy: ant_path_matcher
  cloud:
    gateway:
      discovery:
        locator:
          enabled: true
          lower-case-service-id: true #使用小写service-id
      routes: #配置路由路径
        - id: mall-auth
          uri: lb://mall-auth
          predicates:
            - Path=/mall-auth/**
          filters:
            - StripPrefix=1

各子微服务关键配置

经常根据业务需要会划分不同的微服务:例如鉴权服务、系统管理服务、手机服务、搜索服务等。

bootstrap.yml
spring:
  profiles:
    active: dev
  application:
    name: mall-auth
bootstrap-dev.yml
spring:
  cloud:
    nacos:
      discovery:
        server-addr: http://192.168.0.100:8848
      config:
        server-addr: http://192.168.0.100:8848
        file-extension: yaml
logging:
  level:
    root: debug

Nacos管理端导入配置

例如:

  • 将项目config目录下的配置文件添加到Nacos中,只要添加包含dev的配置即可,配置文件的文件名称需要和Nacos中的Data Id一一对应;
    例如:
mall-gateway-dev.yaml
spring:
  redis:
    host: 192.168.0.100 # Redis服务器地址
    database: 0 # Redis数据库索引(默认为0)
    port: 6379 # Redis服务器连接端口
    password:  # Redis服务器连接密码(默认为空)
    timeout: 3000ms # 连接超时时间(毫秒)
  security:
    oauth2:
      resourceserver:
        jwt:
          jwk-set-uri: 'http://localhost:8201/mall-auth/rsa/publicKey'
logging:
  level:
    root: info
    com.macro.mall: debug
logstash:
  host: localhost

启动后,自动出现在服务列表中

image.png

posted @   TechLearn  阅读(25)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
写代码、聊产品、懂设计、热爱阅读和分享
http://www.budaos.com
点击右上角即可分享
微信分享提示