Nacos是阿里巴巴开源的服务发现与配置管理平台,简化微服务架构的开发与运维。
1.推荐一个大数据vue-easy-tree树组件2.推荐一个开源Web思维导图mind-map3.推荐四套开箱即用的 Vue3 中后台管理系统框架4.TinyMCE: 您的全方位富文本编辑解决方案5.推荐Java 杠把子技能库【Advanced Java】6.推荐一个文件文档在线预览项目解决方案【kkFileView】
7.Nacos是阿里巴巴开源的服务发现与配置管理平台,简化微服务架构的开发与运维。
Nacos简介
Nacos(Namely, Config and Service)是一个易于构建服务发现与配置管理平台的中间件,它主要解决了企业在微服务架构中的以下痛点需求:
-
服务发现与注册:
- 自动发现和注册服务实例。
- 动态获取服务实例的位置信息。
-
服务配置管理:
- 集中化配置管理,统一管理不同环境下的配置。
- 支持配置的动态推送和变更。
-
服务健康监测:
- 实时监控服务的健康状况。
- 快速识别并隔离不健康的服务实例。
-
服务元数据管理:
- 管理服务相关的元数据,如版本、标签等。
-
流量管理:
- 支持基于路由规则的服务调用。
- 负载均衡策略的灵活配置。
-
平滑迁移与同步:
- 支持注册中心之间的双向同步和平滑迁移。
- 确保服务信息的一致性。
-
易用性和可扩展性:
- 提供友好的用户界面和API接口。
- 支持插件化和扩展性设计,便于集成和二次开发。
通过这些功能,Nacos帮助企业简化了微服务架构的复杂度,提高了服务治理的效率和灵活性,降低了运维成本,增强了系统的可靠性和可维护性。
Nacos下载和安装
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
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
启动后,自动出现在服务列表中
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了