博客
关于我
大话微服务:(四)spring cloud alibaba -nacos深入研究
阅读量:576 次
发布时间:2019-03-09

本文共 1581 字,大约阅读时间需要 5 分钟。

Nacos官网手册

什么是Nacos?

Nacos 是一款开源的微服务注册、发现及配置中心平台,被誉为“微服务的大脑”。它主要包含以下关键功能:

一句总结:帮助开发者轻松发现、配置和管理分布式系统中的微服务。

Nacos的核心功能

Nacos主要分为以下几个部分:

1. 微服务注册

注册中心(Nacos-Server)是整个Nacos系统的核心。服务提供者(Nacos-Provider)和服务消费者(Nacos-Consumer)都需要注册到注册中心。Nacos-Consumer可以通过主动轮询或监听的方式获取订阅的服务信息列表,进而进行服务调用。

服务提供者:

  • 名称:Nacos-Provider
  • 作用:暴露其服务接口供消费者访问

服务消费者:

  • 名称:Nacos-Consumer
  • 作用:通过轮询获取服务信息,智能地选择最佳服务实例进行调用

注册中心:

  • 名称:Nacos-Server
  • 作用:管理服务注册与发现

2. 微服务发现

Nacos 提供灵活的服务发现方式,支持DNS和基于RPD的服务发现机制。开发者可以根据实际需求选择最适合的发现方式。

3. 微服务健康检测

Nacos 提供健康检测功能,允许消费者动态监控服务状态,确保服务的高可用性。

Nacos的安装与使用

安装方法

如果你想从源代码开始安装,可以按照以下步骤操作:

  • 将项目克隆到本地开发环境:
  • git clone https://github.com/alibaba/nacos.gitcd nacos
    1. 构建项目并安装:
    2. mvn clean install
      1. 启动服务:
      2. mvn spring-boot:run

        这个命令会启动Nacos的默认配置,启动后可以访问控制台页面:http://localhost:8848/nacos/index.html,默认账号和密码都是nacos。

        项目部署

        单机部署(推荐)

        • 内存模式:适合测试和小规模部署。
        • Mysql模式:适合需要持久化存储的环境。

        集群部署

        • 如果需求复杂,可以选择多机部署,通常采用Kubernetes进行集群管理,确保系统的高可用性和性能。

        Nacos的基础概念

        Nacos 提供了多种概念,帮助用户管理和组织配置,但请注意这些概念之间存在关联,错误使用可能导致配置问题。

        1. Endpoint

        Endpoint可以将实质性的资源与逻辑资源分隔开。例如,一个服务同时运行在两个不同的环境(如生产环境和开发环境)时,每个环境的Endpoint都对应不同的实例,这样做可以实现蓝绿分叉或者灰度发布。

        2. Namespace

        Namespace类似于文件夹,用于区分不同的项目。同一个程序中,通过Namespace可以隔离不同的环境配置。

        3. Group

        Group通常用于将配置分组,这样可以更好地管理和组织配置文件,防止配置文件名重复的问题。

        4. DataId

        DataId是配置文件的唯一标识符,同一个Namespace下的不同Groups可以有不同的DataId,确保配置文件的独立性和隔离性。

        开发指南

        在IDEA中开启一个新的项目,选择Nacos的开发模式:

      3. 新建Spring Boot项目:

        • 选择项目组名称,设置项目模块,这里选择nacos-provier或nacos-consumer。
      4. 添加Nacos相关依赖:

        • pom.xml中添加Nacos的相关jar包,确保依赖管理系统可以找到你需要的库。
      5. 编写配置文件:

        • 配置文件在src/main/resources下,修改app.properties或相关配置文件,确保服务注册、发现等功能正常运行。
      6. 启动服务:

        • 热部署测试服务,确保注册中心和各服务都能正常运行。
      7. 希望这些内容能帮助你快速入门Nacos开发!如果有问题,可以参考官方文档或参加相关技术社区讨论。

    转载地址:http://zyrpz.baihongyu.com/

    你可能感兴趣的文章
    Nginx配置实例-动静分离实例:搭建静态资源服务器
    查看>>
    Nginx配置实例-反向代理实例:根据访问的路径跳转到不同端口的服务中
    查看>>
    Nginx配置实例-反向代理实现浏览器请求Nginx跳转到服务器某页面
    查看>>
    Nginx配置实例-负载均衡实例:平均访问多台服务器
    查看>>
    Nginx配置文件nginx.conf中文详解(总结)
    查看>>
    Nginx配置自带的stub状态实现活动监控指标
    查看>>
    nginx配置详解、端口重定向和504
    查看>>
    Nginx配置负载均衡到后台网关集群
    查看>>
    Nginx配置限流,技能拉满!
    查看>>
    Nginx配置静态代理/静态资源映射时root与alias的区别,带前缀映射用alias
    查看>>
    Nginx面试三连问:Nginx如何工作?负载均衡策略有哪些?如何限流?
    查看>>
    nginx:/usr/src/fastdfs-nginx-module/src/common.c:21:25:致命错误:fdfs_define.h:没有那个文件或目录 #include
    查看>>
    Nginx:NginxConfig可视化配置工具安装
    查看>>
    ngModelController
    查看>>
    ngrok | 内网穿透,支持 HTTPS、国内访问、静态域名
    查看>>
    ngrok内网穿透可以实现资源共享吗?快解析更加简洁
    查看>>
    NHibernate学习[1]
    查看>>
    NHibernate异常:No persister for的解决办法
    查看>>
    NIFI1.21.0_java.net.SocketException:_Too many open files 打开的文件太多_实际操作---大数据之Nifi工作笔记0051
    查看>>
    NIFI1.21.0_Mysql到Mysql增量CDC同步中_日期类型_以及null数据同步处理补充---大数据之Nifi工作笔记0057
    查看>>