Spring Cloud Alibaba 微服务----------Nacos

本文详细介绍了Nacos作为服务注册中心和配置中心的使用,包括安装启动、服务提供者和消费者配置,以及为何使用注册中心。此外,还阐述了Nacos配置中心的创建、配置文件的动态更新和隔离模型。最后,详细讲解了Nacos集群的规划、搭建和配置持久化,以及如何通过Nginx进行代理服务。
摘要由CSDN通过智能技术生成

目录

1、Nacos注册中心

1.1、nacos的安装和启动

1.1.1、解压

1.2.2、启动和关闭

1.2、Nacos注册中心

1.2.1、服务提供者: nacos_provide

1.2.2、服务消费者:nacos_consumer

1.3、为什么要使用注册中心 

2、Nacos配置中心    

2.1、nacos——config

2.1.1、pom.xml

2.1.2、 bootstrap.yml

2.1.3、在nacos中创建配置文件                

2.2、为什么要使用配置中心

2.3、隔离模型

2.3.1、Namespace Group DataId介绍:

2.3.2、获取配置集需要指定:

3、持久化

 3.1、修改conf/application.properties文件

 3.2、建库建表     

4、集群

4.1、节点规划

4.2、集群搭建

4.2.1、找到conf/cluster.conf.example ,将其改名为 conf/cluster.conf

4.2.2、复制三份Nacos

4.2.3、将 conf/application.properties 中的端口号分别改为:

4.3、配置代理服务


1、Nacos注册中心


1.1、nacos的安装和启动

1.1.1、解压

[root@localhost ~]# cd /usr/upload
[root@localhost upload]# tar -zxvf nacos-server-1.4.1.tar.gz -C /usr/local    

1.2.2、启动和关闭

     启动:

 [root@localhost local]# cd nacos/bin/
 [root@localhost bin]# ./startup.sh -m standalone #非集群模式启动

     关闭:

[root@localhost bin]# ./shutdown.sh

1.2、Nacos注册中心

注册中心主要有三部分组成:

Ø Nacos-Server:注册中心

提供服务的注册和发现。

Ø Nacos-Provider:服务提供方

把自身的服务实例注册到 Nacos Server 中

Ø Nacos-Consumer:服务调用方

通过 Nacos Server 获取服务列表,消费服务。

1.2.1、服务提供者: nacos_provide

1、 pom.xml文件

 <!--nacos客户端-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

2、 application.yml

spring:
  cloud:
    nacos:
      discovery:
        server-addr: 192.168.216.133:8848 #nacos服务的地址
  application:
    name: nacos-provider #向注册中心注册的名字

3App(启动类)

@SpringBootApplication
@EnableDiscoveryClient//向注册中心注册该服务,并可以获取其他服务的调用地址
public class ProviderApp {

    public static void main(String[] args) {
        SpringApplication.run(ProviderApp.class,args);
    }
}

1.2.2、服务消费者:nacos_consumer

1、pom.xml

 <!--nacos客户端-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

2、application.yml

spring:
  cloud:
    nacos:
      discovery:
        server-addr: 192.168.216.133:8848 #nacos服务的地址
  application:
    name: nacos-consumer #向注册中心注册的名字

3.App

@SpringBootApplication
@EnableDiscoveryClient//向注册中心注册该服务,并可以获取其他服务的调用地址
public class ConsumerApp {

    public static void main(String[] args) {
        SpringApplication.run(ConsumerApp.class,args);
    }
}

1.3、为什么要使用注册中心 

           地址硬编码    不能负载均衡              


2、Nacos配置中心    

2.1、nacos——config

2.1.1、pom.xml

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--nacos注册中心的启动器-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <!--nacos配置中心的启动器-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
        <dependency>
            <groupId>ccom.zzcsy</groupId>
            <artifactId>springcloud_common</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

2.1.2、 bootstrap.yml

spring:
  cloud:
    nacos:
      config:
        server-addr: 192.168.216.133:8848
        file-extension: yaml #后缀名,只支持 properties 和 yaml 类型
        prefix: nacos-config #文件名,如果没有配置则默认为 ${spring.appliction.name}

2.1.3、在nacos中创建配置文件                

 Data ID:

${spring.cloud.nacos.config.prefix}.${spring.cloud.nacos.config.file-extension}

配置格式:yaml或properties

  • spring.cloud.nacos.config.prefix:默认是当前服务的服务名称

  • spring.cloud.nacos.config.file-extension:配置文件的格式(后缀),目前只支持yaml和properties

例如:

spring:
  cloud:
    nacos:
      config:
        server-addr: 192.168.216.133:8848 #配置中心的地址
        file-extension: yaml #配置文件扩展名只支持properties和yaml
        prefix: nacos-config #文件名,默认是spring.application.name

2.2、为什么要使用配置中心


  • 集中管理配置文件
  • 动态更新配置文件

2.3、隔离模型


2.3.1、Namespace Group DataId介绍:

  •  Namespace: 代表不同的环境的配置隔离 ,如:开发、测试、生产等
  •  Group: 可以代表某个项目,如health、JD 
  •  DataId: 每个项目下的工程名     

2.3.2、获取配置集需要指定:

  • nacos服务地址,必须指定

  • namespace,如不指定默认public

  • group,如不指定默认 DEFAULT_GROUP

  • dataId,必须指定


    3、持久化

    3.1、修改conf/application.properties文件

### If use MySQL as datasource:
spring.datasource.platform=mysql

### Count of DB:
db.num=1

### Connect URL of DB:
db.url.0=jdbc:mysql://192.168.216.130:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=1111

    3.2、建库建表     

          创建nacos库   注意:库名和application.properties中的库名保持一致

          建表:找到conf/nacos-mysql.sql文件并执行

           测试
              1、重启nacos
              2、新建配置文件
              3、观察配置文件是否持久化到mysql中 


4、集群


4.1、节点规划

节点端口
192.168.204.1568848
192.168.204.1568849
192.168.204.1568850

4.2、集群搭建

4.2.1、找到conf/cluster.conf.example ,将其改名为 conf/cluster.conf

# ip:port
192.168.216.133:8848
192.168.216.133:8849
192.168.216.133:8850

4.2.2、复制三份Nacos

[root@localhost bin]# cd /usr/local
[root@localhost java]# mkdir nacos_cluster
[root@localhost java]# cp -r nacos nacos_cluster/nacos_8848
[root@localhost java]# cp -r nacos nacos_cluster/nacos_8849
[root@localhost java]# cp -r nacos nacos_cluster/nacos_8850

4.2.3、将 conf/application.properties 中的端口号分别改为:

server.port=8848
server.port=8849
server.port=8850

4.3、配置代理服务

  1. 安装ngnix
  2. 配置ngnix代理nacos
  3. 测试
    1. 启动nacos集群
    2. 启动ngnix
    3. 将微服务注册到nacos集群
    4. 访问nacos集群
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值