分布式部署

目录

部署准备

环境要求

部署操作

[MySQL - 服务器1](#MySQL - 服务器1)

[Nacos 安装 - 服务器 1](#Nacos 安装 - 服务器 1)

[产品服务,订单服务部署 - 服务器 2,3](#产品服务,订单服务部署 - 服务器 2,3)

常见问题:

网关服务部署

完!


部署准备

前面的文章中,我们的微服务都是在单机上进行部署的,接下来要使用多台服务器,演示分布式服务部署。

我们的部署内容有:

  1. MySQL 2. Nacos 3. 网关服务 4. 产品服务 5. 订单服务

我们暂且把 MySQL 和 Nacos 网关服务部署为单例,产品服务和订单服务部署为多例。

环境要求

机器个数: 1 --------- N 台。 1 台机器,就是我们前面的单机部署,将所有服务部署在一台服务器上,如果多台,就可以将上面的 5 个服务,根据机器性能分摊,分开部署即可~

本文部署情况:使用 4 台机器

部署操作

MySQL - 服务器1

  1. MySQL 安装,在前文中已有叙述。

  2. 数据初始化,前文已有叙述。

  3. 对其他服务器授权

MySQL 默认情况下,只允许本地连接,即 localhost,如果其他服务器需要连接到 MySQL,需要 MySQL 对这个服务器进行授权:

语法格式:

  1. 使用 SQL 语句,创建用户并授权
  1. 修改 bind-address

执行命令行:

在 vim 中找到并修改 bind-address

  1. 重启 MySQL 服务器
  1. 开放 3306 端口号

  2. 测试授权结果

在 CMD 客户端,使用如下命令行,连接 MySQL,如果可以正确连接,则授权成功

Nacos 安装 - 服务器 1

参考前文 注册中心实现 - Nacos 中的 Nacos 安装过程。

需要注意的是 Nacos 安装前需要先安装 JDK

产品服务,订单服务部署 - 服务器 2,3

两台服务器操作步骤相同

  1. 安装 JDK

  2. 确认配置,代码,打包,上传 jar 包 --> 这里主要需要配置的就是 Mysql 地址,账号名,密码,nacos 配置!

  3. 启动服务

  4. 测试,观察日志

常见问题:

  1. 在操作过程中,可能会出现如下提示:

Ubuntu 22.04 版本之后,安装包的过程中,可能会出发 needstart 命令,与用户交互。如果不需要重启,按 Esc 即可~

  1. 将 jar 包拖入 Linux 服务器时候,如果进度条一直没有变化,则需要先执行命令行:

apt install lrzsz

3.当启动服务,可能有如下报错:

即,未检测到 nacos 配置,注意,nacos 配置需提前配置

  1. Nacos 默认注册地址为内部局域网 IP,如果各个服务器不在一个局域网时,根据内网 IP 去访问,会出现内网不通,接口调用失败

需要通过 spring.cloud.nacos.discovery.ip 来注册 ip

网关服务部署

  1. 安装 JDK

  2. 登录服务器,上传 jar 包

  3. 启动服务

  1. 开放对应端口号

  2. 进行测试

完!

相关推荐
初次攀爬者4 天前
ZooKeeper 实现分布式锁的两种方式
分布式·后端·zookeeper
断手当码农6 天前
Redis 实现分布式锁的三种方式
数据库·redis·分布式
初次攀爬者6 天前
Redis分布式锁实现的三种方式-基于setnx,lua脚本和Redisson
redis·分布式·后端
业精于勤_荒于稀6 天前
物流订单系统99.99%可用性全链路容灾体系落地操作手册
分布式
Asher05096 天前
Hadoop核心技术与实战指南
大数据·hadoop·分布式
凉凉的知识库6 天前
Go中的零值与空值,你搞懂了么?
分布式·面试·go
?Anita Zhang6 天前
联邦学习实战:如何在分布式场景下构建隐私保护机器学习模型
人工智能·分布式·机器学习
tony3656 天前
pytorch分布式训练解释
人工智能·pytorch·分布式
2501_933329556 天前
技术深度拆解:Infoseek媒体发布系统的分布式架构与自动化实现
分布式·架构·媒体
星辰_mya6 天前
消息队列遇到Producer发送慢
分布式·kafka