SpringCloud Alibaba Nacos(三)

官网说明

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

Nacos支持三种部署模式

  • 单机模式:用于测试和单机使用
  • 集群模式:用于生产环境,确保高可用
  • 多集群模式:用于多数据中心场景

单机模式支持mysql

在0.7版本之前,在单机模式下nacos使用嵌入式数据库实现数据的存储,不方便观察数据存储的基本情况。0.7版本增加了支持mysql数据源能力,具体的操作流程:

  • 安装数据库,版本要求:5.6.5 +
  • 初始化数据库,数据库初始化文件:nacos-mysql.sql
  • 修改conf/application.properties文件,增加mysql数据源配置,目前仅支持mysql,添加mysql数据源的url,用户名和密码

在这里插入图片描述
再次以单机模式启动nacos,nacos所有写嵌入式数据库的数据都写到了mysql中。

Nacos持久化配置解释

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

因此我们需要完成derby到mysql切换配置步骤

在nacos\conf目录下,找到SQL脚本
在这里插入图片描述
然后执行SQL脚本,同时修改application.properties目录

官网地址


spring.datasource.platform=mysql



db.num=1

db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_devtest?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true

db.user=root

db.password=root

修改完成后,启动nacos,可以看到是一个全新的空记录页面,以前是记录进derby

Linux版Nacos + Mysql生产环境配置

配置

预计需要:1个Nginx + 3个nacos注册中心 + 1个mysql

所有的请求过来,首先先打到nginx上

Nacos下载Linux版本

在nacos github下载:https://github.com/alibaba/nacos/releases

选择Linux版本下载
在这里插入图片描述

集群配置

如果是一个nacos:启动 8848即可

如果是多个nacos:3333,4444,5555

那么就需要修改startup.sh里面的,传入端口号

步骤:

Linux服务器上mysql数据库配置

application.properties配置

Linux服务器上nacos的集群配置cluster.conf

梳理出3台nacos集群的不同服务端口号

复制出cluster.conf(备份)

修改
在这里插入图片描述
编辑Nacos的启动脚本startup.sh,使它能够接受不同的启动端口

/nacos/bin 目录下有startup.sh

平时单机版的启动,直接./startup.sh

但是集群启动时,我们希望可以类似其它软件的shell命令,传递不同的端口号启动不同的nacos实例,命令:./startup.sh -p 3333表示启动端口号为3333的nacos服务器实例,和上一步的cluster.conf配置一样。修改启动脚本,添加P,这样能够明确nacos启动的什么脚本
在这里插入图片描述
在这里插入图片描述
修改完成后,就能够使用下列命令启动集群了


./startup.sh -p 3333

./startup.sh -p 4444

./startup.sh -p 5555

Nginx的配置,由它作为负载均衡器

修改nginx的配置文件
在这里插入图片描述
作为负载均衡分流,同时upstream 支持weight

通过nginx访问nacos节点:http://192.168.111.144:1111/nacos/#/login

微服务注册进集群中


server:

  port: 9002

spring:

  application:

    name: nacos-payment-provider

  cloud:

    nacos:

      discovery:

        server-addr: 192.168.111.144:1111 # 换成nginx的1111端口,做负债均衡

management:

  endpoints:

    web:

      exposure:

        include: '*'

总结

Nginx + 3个Nacos + mysql的集群化配置
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Cloud和Spring Cloud Alibaba都是基于Spring Framework的开源框架,用于构建分布式系统和微服务架构。它们都提供了一系列的组件和工具来简化微服务开发和管理。 Spring Cloud是一个由Pivotal团队维护的项目,它集成了Netflix开源的一些组件,如Eureka作为注册中心、Ribbon作为负载均衡器、Feign作为服务调用工具等。同时,Spring Cloud还提供了其他功能,如Config Server用于动态管理配置、Gateway用于构建API网关等。 而Spring Cloud Alibaba则是阿里巴巴开源的项目,它在Spring Cloud的基础上进行了扩展和定制,增加了一些阿里巴巴自己的组件和工具。比如,它使用Nacos作为注册中心和配置中心,使用Sentinel作为熔断降级工具。 总的来说,Spring Cloud和Spring Cloud Alibaba都是用于构建微服务架构的框架,它们的区别在于Spring Cloud集成了Netflix组件,而Spring Cloud Alibaba集成了阿里巴巴的一些组件。根据具体的需求和技术栈选择使用哪个框架可以更好地满足开发和管理微服务的需求。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Spring Cloud Alibaba和Spring Cloud的区别](https://blog.csdn.net/weixin_43888891/article/details/126653270)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值