zoukankan      html  css  js  c++  java
  • SpringCloud入门实战(8)-Nacos使用

    Nacos是阿里发布的注册中心及配置中心组件,提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。本文主要介绍Nacos结合Spring Cloud的使用,文中使用到的软件版本:Nacos 1.3.2、Spring Boot 2.2.5.RELEASE、Spring Cloud Hoxton.SR3、Java 1.8.0_191。

    1、简介

    官网地址为:https://nacos.io/zh-cn/docs/what-is-nacos.html,可以查看详细介绍。

    1.1、特性

    a、服务发现和服务健康监测
    b、动态配置服务
    c、动态DNS服务
    d、服务及其元数据管理

    1.2、架构

    2、安装

    2.1、单机模式

    2.1.1、使用嵌入式数据库

    下载nacos的安装包(https://github.com/alibaba/nacos/releases),解压,运行

    startup.sh -m standalone

    2.1.2、使用mysql

    单机模式默认使用嵌入式数据库实现数据的存储,不方便观察数据存储的基本情况;可以使用mysql来保存数据:

    a、创建nacos的数据库,并执行nacos-mysql.sql脚本

    b、修改conf/application.properties文件,增加支持mysql数据源配置

    spring.datasource.platform=mysql
    
    db.num=1
    db.url.0=jdbc:mysql://localhost:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
    db.user=admin
    db.password=Root_123!

    再以单机模式启动nacos,nacos所有写嵌入式数据库的数据都写到了mysql

    2.2、集群模式

    2.2.1、部署架构图

    http://ip1:port/openAPI 直连ip模式,机器挂则需要修改ip才可以使用。
    http://VIP:port/openAPI 挂载VIP模式,直连vip即可,下面挂server真实ip,可读性不好。
    http://nacos.com:port/openAPI 域名 + VIP模式,可读性好,而且换ip方便,推荐模式。

    2.2.2、配置集群地址

    复制conf/cluster.conf.example为conf/cluster.conf,修改其内容为:

    10.49.196.10:8848
    10.49.196.11:8848
    10.49.196.12:8848

    2.2.3、配置数据源

    2.2.3.1、使用内置数据源

    无需进行任何配置

    2.2.3.2、使用外置数据源

    修改conf/application.properties文件,增加MySQL配置:

    spring.datasource.platform=mysql
    
    db.num=1
    db.url.0=jdbc:mysql://10.49.196.10:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
    db.user=admin
    db.password=Root_123!

    2.2.4、启动

    2.2.4.1、使用内置数据源
    ./startup.sh -p embedded
    2.2.4.2、使用外置数据源
    ./startup.sh

    2.3、控制台

    http://localhost:8848/nacos

    用户名/密码默认为:nacos/nacos

    3、SpringCloud中使用Nacos

    3.1、作为注册中心

    3.1.1、引入依赖

    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        <version>2.2.3.RELEASE</version>
    </dependency>

    3.1.2、增加配置

    spring:
      cloud:
        nacos:
          discovery:
            server-addr: 10.49.196.10:8848

    如果是集群的话可以用nginx来负载,这边配置代理地址。

    3.1.3、启动类增加@EnableDiscoveryClient

    启动服务后就可以进行服务的注册和发现,在控制台可以看到已注册的服务:

    3.2、作为注册中心

    3.2.1、引入依赖

    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        <version>2.2.3.RELEASE</version>
    </dependency>

    3.2.2、增加配置

    在resources目录下新建bootstrap.yml文件:

    spring:
      cloud:
        nacos:
          config:
            server-addr: 10.49.196.10:8848
            prefix: scdemo-server
            file-extension: yaml
            #group: DEFAULT_GROUP
            #namespace: public

    3.2.3、在控制台新建配置

     scdemo-server内容如下:

    3.2.4、启动服务

    在服务可以获取到在nacos中定义的配置项。

  • 相关阅读:
    常用的几个vagrant命令
    window下sh文件在linux转码
    centos 7 免密登录
    centos7系列-给普通用户sudo权限
    Hadoop hdfs完全分布式搭建教程
    ribbon的注解使用报错--No instances available for [IP]
    修改VirtualBox虚拟机默认存储路径及虚拟机迁移方法
    【SpringMVC】文件上传Expected MultipartHttpServletRequest: is a MultipartResolver错误解决
    发现不错待研究的技术
    android的开发 华为手机上不显示menu键
  • 原文地址:https://www.cnblogs.com/wuyongyin/p/13677564.html
Copyright © 2011-2022 走看看