阿里巴巴NACOS(3)- 部署Nacos的生产集群环境

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 上一篇文章介绍了如何在Spring Cloud中使用Nacos,让我感觉是无缝支持Spring Cloud,可惜的是阿里云的MSE暂时只支持Nacos的服务注册和发现,配置中心还是需要用阿里云的ACM来完成,本文将介绍如何部署Nacos的生产集群环境。

作者:阿里云 MVP郦强

1、集群部署

相比较 Nacos 的单机部署方式(第一篇文章中有介绍),集群部署方式稍显麻烦一些,当然为了用于生产环境,必须确保 Nacos 的高可用性,所以还是有必要使用集群部署。

准备环境跟第一篇文章中说的相同,额外的要求就是 Nacos 需要 3个或3个以上Nacos节点才能构成集群,而且要使用 MySQL 作为数据源,主要用于服务配置的数据持久化。

下图是官方推荐的集群方案,通过域名 + VIP模式的方式来实现,我的理解VIP模式就用 Nginx 就行,用它来负载多个 Nacos 节点 IP,外部客户端直接通过域名访问就可,不仅可读性好,而且更换 IP 方便,最为推荐采用。
郦3-1.png

官方集群方案图

2、添加集群配置文件

nacos的conf目录下有配置文件cluster.conf,请每行配置成ip:port

如果您只有一台机器,可以创建3个或3个以上的Nacos文件夹,改一下端口号,也可以实现2.png

cluster.conf配置

3、配置MySQL数据库

Nacos 推荐生产环境中数据库使用建议至少主备模式,或者采用高可用数据库。

这里为了简化只采用了一个数据库,首先创建一个名为 nacos_config 的数据库,然后找到nacos/conf下的 nacos-mysql.sql 文件执行即可。

3.png

nacos_config数据库

在nacos的conf目录下的application.properties,添加以下配置4.png

application.properties配置

4、启动Nacos集群模式

在没有参数模式,是集群模式

sh startup.sh

输出信息看start.out,如果最后提示: INFO Nacos started successfully in cluster mode.这样就表示集群模式启动成功,然后打开任何一个Nacos控制台都能看到节点列表
列表.png

集群节点列表

可以从上面看到,集群下的 Nacos 节点状态分为LEADER 和 FOLLOWER 两种,跟我们熟悉的主从架构相似。如果您想简单的话,推荐使用阿里云的MSE,3分钟帮您搞定Nacos集群模式
MSE的Nacos集群模式.png

MSE的Nacos集群模式

5、Nginx配置

我是Mac电脑,所以使用brew的方式安装Nginx,然后在Nginx中进行配置
Nginx中的配置.png

Nginx中的配置

注意:server_name 就是 直接改成域名就行。

然后Nginx -s reload 重新加载配置后即可,我把nacos官方Spring Cloud Nacos Example的示例打开,Provider和Consumer两个项目中的application.properties文件的nacos server地址都改成了 Nginx中配置的server_name。

指定nacos的server地址.png

指定nacos的server地址

启动项目,就可以在nacos集群的任何一个节点的服务管理列表中看到里面已经有服务注册成功了
服务列表页.png

服务列表页

然后在浏览器中输入 http://localhost:8080/echo/强哥 ,看到返回 Hello Nacos Discovery 强哥,这样就表示成功了,其实这个Example就是微服务和微服务之间的调用,所有nacos示例代码下载
执行Consumer服务,成功请求到Provider服务.png

执行Consumer服务,成功请求到Provider服务

6、总结

如果是开发环境建议单节点就行了,测试和生产环境用集群模式,而且MySQL数据库也建议使用阿里云的RDS服务,主从架构。下一篇我们将介绍 几个主流微服务框架配置中心产品比较 Spring Cloud Config、阿里云ACM、Nacos等。

首发简书。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
Kubernetes Nacos 数据库
k8s快速部署nacos单机版
k8s快速部署nacos单机版
|
12月前
|
弹性计算 数据库连接 Nacos
阿里云ECS服务器在docker中部署nacos
docker pull nacos 失败,docker部署nacos遇到的问题,nacos数据库连接,nacos端口映射
612 1
|
Kubernetes 关系型数据库 MySQL
k8s部署nacos集群
k8s部署nacos集群
1179 1
|
应用服务中间件 Nacos 数据库
Nacos 1.2.1 集群搭建(三) Nginx 配置 集群
Nacos 1.2.1 集群搭建(三) Nginx 配置 集群
151 1
|
SQL 关系型数据库 MySQL
Nacos 1.2.1 集群搭建(二)MySQL、cluster 配置
Nacos 1.2.1 集群搭建(二)MySQL、cluster 配置
314 1
|
Java Nacos Docker
"揭秘!Docker部署Seata遇上Nacos,注册成功却报错?这些坑你不得不防!一网打尽解决秘籍,让你的分布式事务稳如老狗!"
【8月更文挑战第15天】在微服务架构中,Nacos搭配Seata确保数据一致性时,Docker部署Seata后可能出现客户端连接错误,如“can not connect to services-server”。此问题多由网络配置不当、配置文件错误或版本不兼容引起。解决策略包括:调整Docker网络设置确保可达性;检查并修正`file.conf`和`registry.conf`中的Nacos地址和端口;验证Seata与Nacos版本兼容性;修改配置后重启服务;参考官方文档和最佳实践进行配置。通过这些步骤,能有效排除故障,保障服务稳定运行。
1155 0
|
Kubernetes Nacos 数据安全/隐私保护
疯了!Nacos 用 Helm 部署开启授权认证频频出错?别急,秘籍在此!
【8月更文挑战第15天】本文指导您通过Helm部署Nacos并开启授权认证,解决途中遇到的问题。首先确认已安装Helm并了解Kubernetes基础。示例`values.yaml`文件启用认证并设置凭据。运行Helm命令完成部署。若认证失败,请复查用户名及密码准确性。面对权限不足错误,可配置权限策略,示例代码展示基于请求头的简单验证逻辑。Nacos启动异常时,利用`kubectl logs`命令分析Pod日志定位问题。遵循本文步骤与示例,助您成功部署并配置Nacos。
382 0
|
关系型数据库 MySQL Nacos
Nacos 1.2.1 集群搭建(一)环境准备
Nacos 1.2.1 集群搭建(一)环境准备
195 0
|
负载均衡 Java Linux
黑马头条01,环境搭建,今日头条的介绍,今日头条的功能架构图,技术栈的说明,服务层,nacos(奶靠丝)安装,安装在Linux服务器上环境准备,
黑马头条01,环境搭建,今日头条的介绍,今日头条的功能架构图,技术栈的说明,服务层,nacos(奶靠丝)安装,安装在Linux服务器上环境准备,
|
6月前
|
存储 Kubernetes 安全
Nacos-Controller 2.0:使用 Nacos 高效管理你的 K8s 配置
无论是使用 Nacos-Controller 实现配置的双向同步,还是直接在应用中接入 Nacos SDK 以获得更高级的配置管理特性,都能显著提升配置管理的灵活性、安全性和可维护性。使用 Nacos,您能够更好地管理和优化您的应用配置,从而提高系统的稳定性和可靠性。
511 49

热门文章

最新文章