2、SpringcloudAlibaba Nacos的基本的介绍

Nacos可以实现分布式服务注册与发现/分布式配置中心框架。

官网的介绍: https://nacos.io/zh-cn/docs/what-is-nacos.html

Nacos的环境的准备

Nacos可以在linux/windows/Mac版本上都可以安装
具体安装教程地址:https://nacos.io/zh-cn/docs/quick-start.html

手动实现服务注册与发现

1.实现服务注册
发送post请求:
‘http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080’
2.实现服务发现
http://127.0.0.1:8848/nacos/v1/ns/instance/list?serviceName=nacos.naming.serviceName
详细步骤操作:https://nacos.io/zh-cn/docs/quick-start.html

Nacos整合SpringCloud

Maven依赖信息

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <modules>
        <module>springcloud-alibaba-api</module>
        <module>springcloud-alibaba-impl</module>
    </modules>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.5.RELEASE</version>
    </parent>

    <groupId>SpringCloudAlibaba</groupId>
    <artifactId>SpringCloudAlibaba</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <!--  springboot 整合web组件-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            <version>0.9.0.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
            <version>0.9.0.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
            <version>2.2.2.RELEASE</version>
        </dependency>

    </dependencies>

</project>

本地负载均衡器与Nginx 的区别

Nginx是客户端所有的请求统一都交给我们的Nginx处理,让后在由Nginx实现负载均衡转发,属于服务器端负载均衡器。
本地负载均衡器是从注册中心获取到集群地址列表,本地实现负载均衡算法,既本地负载均衡器。
应用场景的:
Nginx属于服务器负载均衡,应用于Tomcat/Jetty服务器等,而我们的本地负载均衡器,应用于在微服务架构中rpc框架中,rest、openfeign、dubbo。

OpenFeign客户端

OpenFeign是一个Web声明式的Http客户端调用工具,提供接口和注解形式调用。

分布式配置中心

分布式配置中心的作用

分布式配置中心可以实现不需要重启我们的服务器,动态的修改我们的配置文件内容,常见的配置中心有携程的阿波罗、SpringCloud Config、Nacos轻量级的配置中心等。

基于Nacos实现分布式配置中心

在这里插入图片描述

客户端

 <dependency>
     <groupId>org.springframework.cloud</groupId>
     <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
     <version>0.2.2.RELEASE</version>
</dependency>
创建一个bootstrap.yml
spring:
  application:
    ###application的名称
    name: springcloud-alibaba-impl-member
  cloud:
    nacos:
      discovery:
        ###注册中心
        server-addr: 127.0.0.1:8848
      config:
        server-addr: 127.0.0.1:8848
        ###分组
        group: DEFAULT_GROUP
        ###类型
        file-extension: yaml
  profiles:
    active: dev

可以实现动态实现@RefreshScope

注意:连接nacos分布式配置中心一定采用bootstrap形式优先加载 否则可能会报错。
bootstrap.yml 用于应用程序上下文的引导阶段。application.yml 由父Spring ApplicationContext加载。

分布式配置中心的多版本应用

多版本控制

在这里插入图片描述
在这里插入图片描述

数据持久化

默认的情况下,分布式配置中心的数据存放到本地data目录下,但是这种情况如果nacos集群的话无法保证数据的同步性。
在0.7版本之前,在单机模式时nacos使用嵌入式数据库实现数据的存储,不方便观察数据存储的基本情况。0.7版本增加了支持mysql数据源能力,具体的操作步骤:
1.安装数据库,版本要求:5.6.5+
2.初始化mysql数据库,数据库初始化文件:nacos-mysql.sql
3.修改conf/application.properties文件,增加支持mysql数据源配置(目前只支持mysql),添加mysql数据源的url、用户名和密码。
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root
###摘自官网: https://nacos.io/zh-cn/docs/deployment.html

基于Nacos集群部署方案

相关集群配置

1、创建cluster文件夹
---nacos-server-8848
---nacos-server-8849
---nacos-server-8850
2、更改cluster.conf
cluster.conf
###ip和端口号
127.0.0.1:8848
127.0.0.1:8849
127.0.0.1:8850

注意:

1.nacos在windows版本下运行默认是单机版本 需要指定startup.cmd -m cluster

2.nacos在linux版本下运行默认是集群版本 如果想连接单机版本 startup.sh –m standalone

在这里插入图片描述

注意:在nacos集群中,配置cluster.conf里的ip不能是127.0.0.1,而是本机的真正的ip。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章