博客
关于我
大话微服务:(四)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/

    你可能感兴趣的文章
    NIFI1.21.0_java.net.SocketException:_Too many open files 打开的文件太多_实际操作---大数据之Nifi工作笔记0051
    查看>>
    NIFI1.21.0_Mysql到Mysql增量CDC同步中_日期类型_以及null数据同步处理补充---大数据之Nifi工作笔记0057
    查看>>
    NIFI1.21.0_Mysql到Mysql增量CDC同步中_补充_插入时如果目标表中已存在该数据则自动改为更新数据_Postgresql_Hbase也适用---大数据之Nifi工作笔记0058
    查看>>
    NIFI1.21.0_Mysql到Mysql增量CDC同步中_补充_更新时如果目标表中不存在记录就改为插入数据_Postgresql_Hbase也适用---大数据之Nifi工作笔记0059
    查看>>
    NIFI1.21.0_NIFI和hadoop蹦了_200G集群磁盘又满了_Jps看不到进程了_Unable to write in /tmp. Aborting----大数据之Nifi工作笔记0052
    查看>>
    NIFI1.21.0_Postgresql和Mysql同时指定库_指定多表_全量同步到Mysql数据库以及Hbase数据库中---大数据之Nifi工作笔记0060
    查看>>
    NIFI1.21.0最新版本安装_连接phoenix_单机版_Https登录_什么都没改换了最新版本的NIFI可以连接了_气人_实现插入数据到Hbase_实际操作---大数据之Nifi工作笔记0050
    查看>>
    NIFI1.21.0最新版本安装_配置使用HTTP登录_默认是用HTTPS登录的_Https登录需要输入用户名密码_HTTP不需要---大数据之Nifi工作笔记0051
    查看>>
    NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增删改数据分发及删除数据实时同步_通过分页解决变更记录过大问题_02----大数据之Nifi工作笔记0054
    查看>>
    NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增加修改实时同步_使用JsonPath及自定义Python脚本_03---大数据之Nifi工作笔记0055
    查看>>
    NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_插入修改删除增量数据实时同步_通过分页解决变更记录过大问题_01----大数据之Nifi工作笔记0053
    查看>>
    NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表或全表增量同步_实现指定整库同步_或指定数据表同步配置_04---大数据之Nifi工作笔记0056
    查看>>
    NIFI1.23.2_最新版_性能优化通用_技巧积累_使用NIFI表达式过滤表_随时更新---大数据之Nifi工作笔记0063
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现update数据实时同步_实际操作05---大数据之Nifi工作笔记0044
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现数据实时delete同步_实际操作04---大数据之Nifi工作笔记0043
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置binlog_使用处理器抓取binlog数据_实际操作01---大数据之Nifi工作笔记0040
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_实现数据插入数据到目标数据库_实际操作03---大数据之Nifi工作笔记0042
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_生成插入Sql语句_实际操作02---大数据之Nifi工作笔记0041
    查看>>
    NIFI从MySql中离线读取数据再导入到MySql中_03_来吧用NIFI实现_数据分页获取功能---大数据之Nifi工作笔记0038
    查看>>
    NIFI从MySql中离线读取数据再导入到MySql中_不带分页处理_01_QueryDatabaseTable获取数据_原0036---大数据之Nifi工作笔记0064
    查看>>