0
点赞
收藏
分享

微信扫一扫

spring cloud alibaba

千行 2022-02-05 阅读 176

目录

1.spring cloud alibaba 的出现

2.服务注册到nacos

3.服务注册中心对比

3.nacos做配置中心

3.1 基础配置

    

3.2 分类配置

4.nacos集群和持久化配置


1.spring cloud alibaba 的出现

spring cloud netflix 进入了维护阶段,将不再开发新的组件

2.服务注册到nacos

yml配置:

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

3.服务注册中心对比

框架cap模型控制台管理社区活跃度
eurakaAP支持
zookeeperCP不支持
ConsulCP支持
NacosAP支持

C是所有节点在同一时间看到的数是一致的。而A的定义是所有的请求都会受到响应。

一般来说,如果不需要存储服务级别的信息且服务实例是通过nacos-client注册,并能够保持心跳上报,那么就可以选择AP模式,当前主流的服务如spring cloud和Dubbo服务,都适用于AP模式,AP模式为了服务的可能性而减弱了一致性,因此AP模式下只支持注册临时实例。

如果需要在服务级别编辑或者存储配置信息,那么cp是必须,K8S服务和DNS服务则适用于CP模式。CP模式支持注册持久化实例,此时则是以Raft协议我集群运行模式,该模式下注册实例之前必须先注册服务,如果服务不存在,则返回错误。

nacos支持AP与CP的切换

curl -X PUT '$nacos_server:8848/nacos/v1/ns/operator/switches?entry=serverMode&value=CP

3.nacos做配置中心

3.1 基础配置

pom配置:

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

    

nacos同springcloud-config一样,在项目初始化时,要保证先从配置中心进行配置拉取,拉取配置之后,才能保证项目的正常启动。springboot中配置文件的加载顺序存在优先级顺序的,bootstrap优先级高于application

yml配置:

spring:
    cloud:
        nacos:
            config:
                server-addr: localhost:8848
                file-extension: yaml

3.2 分类配置

namespace+group+dataId

1.nacos之group分组

配置文件yml中,增加group:组名

2.nacos之namespace空间方案

配置文件yml中,增加namespace: id

4.nacos集群和持久化配置

默认nacos使用嵌入式数据库实现数据的存储,所以,如果启动多个默认配置下的nacos节点,数据存储是存在一致性问题的。为了解决这个问题,Nacos采用了集中式存储的方式来支持集群化部署,目前只支持mysql的存储。

nacos默认自带的嵌入式数据库derby

derby到mysql的切换步骤:

nacos-server\nacos\conf目录下找到sql脚本,执行sql;

nacos-server\nacos\conf目录下找到application.properties 配置mysql连接信息

集群配置:

nacos-server/nacos/conf/cluster.conf.example

cp cluster.conf.example cluster.conf

vim cluster.conf:

192.168.111.133:3333

192.168.111.144:4444

192.168.111.155:5555

修改start.sh启动脚本

举报

相关推荐

0 条评论