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

    你可能感兴趣的文章
    Mqtt搭建代理服务器进行通信-浅析
    查看>>
    MS Edge浏览器“STATUS_INVALID_IMAGE_HASH“兼容性问题
    查看>>
    ms sql server 2008 sp2更新异常
    查看>>
    MS UC 2013-0-Prepare Tool
    查看>>
    MSBuild 教程(2)
    查看>>
    msbuild发布web应用程序
    查看>>
    MSB与LSB
    查看>>
    MSCRM调用外部JS文件
    查看>>
    MSCRM调用外部JS文件
    查看>>
    MSEdgeDriver (Chromium) 不适用于版本 >= 79.0.313 (Canary)
    查看>>
    MsEdgeTTS开源项目使用教程
    查看>>
    msf
    查看>>
    MSSQL数据库查询优化(一)
    查看>>
    MSSQL数据库迁移到Oracle(二)
    查看>>
    MSSQL日期格式转换函数(使用CONVERT)
    查看>>
    MSTP多生成树协议(第二课)
    查看>>
    MSTP是什么?有哪些专有名词?
    查看>>
    Mstsc 远程桌面链接 And 网络映射
    查看>>
    Myeclipse常用快捷键
    查看>>
    MyEclipse更改项目名web发布名字不改问题
    查看>>