zoukankan      html  css  js  c++  java
  • Spring Cloud 从入门到精通(一)Nacos 服务中心初探

     什么是Nacos?

    Nacos是阿里巴巴开源的项目,是一个更易于帮助构建云原生应用的动态服务发现、配置管理和服务管理平台。英文全称 Dynamic Naming and Configuration Service,Na为naming/nameServer即注册中心,co为configuration即注册中心,service是指该注册/配置中心都是以服务为核心。

    Nacos功能介绍

    1、动态配置服务:动态配置服务让您能够以中心化、外部化和动态化的方式管理所有环境的配置。动态配置消除了配置变更时重新部署应用和服务的需要。配置中心化管理让实现无状态服务更简单,也让按需弹性扩展服务更容易。2、服务发现及管理:动态服务发现对以服务为中心的(例如微服务和云原生)应用架构方式非常关键。Nacos支持DNS-Based和RPC-Based(Dubbo、gRPC)模式的服务发现。Nacos也提供实时健康检查,以防止将请求发往不健康的主机或服务实例。借助Nacos,您可以更容易地为您的服务实现断路器。3、动态DNS服务:通过支持权重路由,动态DNS服务能让您轻松实现中间层负载均衡、更灵活的路由策略、流量控制以及简单数据中心内网的简单DNS解析服务。动态DNS服务还能让您更容易地实现以DNS协议为基础的服务发现,以消除耦合到厂商私有服务发现API上的风险。

    为什么选择Nacos?

    1、易于使用:动态配置管理、服务发现和动态的一站式解决方案;20多种开箱即用的以服务为中心的架构特性;基本符合生产要求的轻量级易用控制台。2、更适应云架构:无缝支持Kubernetes和Spring Cloud;在主流公共云上更容易部署和运行(例如阿里云和AWS);多租户和多环境支持。3、生产等级:脱胎于历经阿里巴巴10年生产验证的内部产品;支持具有数百万服务的大规模场景;具备企业级SLA的开源产品。

    4、丰富的应用场景:支持限流、大促销预案和异地多活;直接支持或稍作扩展即可支持大量有用的互联网应用场景;流量调度和服务治理。

    准备环境

    在开始之前,请安装以下组件(官方推荐):

    64位操作系统:支持Linux/Unix/Mac/Windows,建议使用Linux/Unix/Mac(本次演示在Windows系统)。
    64位JDK 1.8版本及以上。
    Maven 3.2.x版本及以上。

    下载源码或者安装包

    Nacos可以通过源码或者发行包两种方式下载。

    1)从Github下载源代码

    git clone https://github.com/alibaba/nacos.git
    cd nacos/
    mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U  
    ls -al distribution/target/
     
    // change the $version to your actual path
    cd distribution/target/nacos-server-$version/nacos/bin

    2)下载编译后压缩包方式

    https://github.com/alibaba/nacos/releases

    建议选择稳定版本(将$version替换成版本号):

    unzip nacos-server-$version.zip  OR tar -xvf nacos-server-$version.tar.gz
    cd nacos/bin

    Windows版本直接使用解压工具即可。

    启动Nacos Server服务

    Linux/Unix/Mac操作系统,执行命令如下:

    sh startup.sh -m standalone

    如果使用的是ubuntu系统,或遇到此错误消息(找不到符号),请尝试方式运行:

    bash startup.sh -m standalone

    Windows 操作系统,执行命令如下:

    cmd startup.cmd

     

     服务与配置管理nacos server访问地址:http://127.0.0.1:8848/nacos/nacos默认账户密码:nacos/nacos

    1、服务注册在控制台中手动添加配置信息如下:

    curl -X POST "http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=blog.yoodb.com&ip=123.57.47.154&port=443"

    参考如图所示:

    参数含义

    服务名:blog.yoodb.com
    保护阈值:0
    分组(默认):DEFAULT_GROUP

    2、服务发现参考服务注册此步跳过

    curl -X GET "http://127.0.0.1:8848/nacos/v1/ns/instance/list?serviceName=blog.yoodb.com"

    3、发布配置

    在命令行执行如下命令,向Nacos Server中添加一条配置,也可在控制台中手动添加。

    curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=blog.yoodb.com&group=TEXT_GROUP&content=helloWorld"

    参考如图所示:

    参数含义

    dataId:blog.yoodb.com
    group:TEXT_GROUP
    配置内容:helloWorld

    4、获取配置参考发布配置此步跳过。

    curl -X GET "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=blog.yoodb.com&group=TEXT_GROUP"

    欢迎扫码关注公众号:“Java精选”(w_z90110),回复关键字领取资料:如Mysql,Hadoop,Dubbo,CAS源码等等,免费领取视频教程、资料文档和项目源码。

    欢迎扫码小程序:“Java精选面试题”,内涵3000+道面试题及6000+道选择题,免费在线刷题,选择题带有答案解析,支持随时随地刷题!

    公众号涵盖:各大流行框架(Mybatis、Spring、Spring Boot等)、大数据技术(Storm、Hadoop、MapReduce、Spark等)、数据库(Mysql、Oracle、NoSQL等)、职业规划、算法与数据结构、面试专题、面试技巧经验、职业规划以及优质开源项目等。

  • 相关阅读:
    HTML&CSS学习总结(一)
    PHP学习总结(一)
    二、python基础1 基本语法、流程控制
    MySQL练习题
    python自动化学习目录大全
    简单练习:Python三级菜单优化
    一、python语言简介
    网络编程与并发—批量主机管理开发
    windows安装nginx并存放静态资源
    集成xxl-job分布式任务调度平台
  • 原文地址:https://www.cnblogs.com/MrYoodb/p/15073639.html
Copyright © 2011-2022 走看看