分布式部署①

news/2024/9/17 7:47:31/ 标签: html, 前端
htmledit_views">

                                                                                         

                                   📑打牌 : da pai ge的个人主页
                                   🌤️个人专栏 : da pai ge的博客专栏
                                   ☁️宝剑锋从磨砺出,梅花香自苦寒来

1. 需要部署的服务


Nacos 理论上,应该是集群的模式
MySQL 理论上,应该是集群的模式
网关服务 单例
订单服务>多例
商品服务>多例

2机器个数


1-N 都可以

3MySQL部署操作

2.1 MySQL安装

1安装MySQL

http://t.csdnimg.cn/lfrgA

 CENTOS7wget https://dev.mysql.com/get/mysql80-community
release-el7-11.noarch.rpm//
安装发布包
yum -y install mysql80-community-release-el7-11.noarch.rpm 
//
安装MySQL, 中间输⼊Y
systemctl start mysqld
systemctl enable mysqld首次安装成功,MySQL把root⽤⼾的默认密码保存在错误⽇志中grep "password" /var/log/mysqld.log&hpkaqO:c4oK  #默认⽣成的密码mysql -uroot -p修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'yyds.666';Query OK, 0 rows affected (0.01 sec)

2. 数据初始化

直接复制

- 订单服务-- 建库
create database if not exists cloud_order charset utf8mb4;use cloud_order;
-- 订单表
DROP TABLE IF EXISTS order_detail;
CREATE TABLE order_detail (`id` INT NOT NULL AUTO_INCREMENT COMMENT '订单id',`user_id` BIGINT ( 20 ) NOT NULL COMMENT '用户ID',`product_id` BIGINT ( 20 ) NULL COMMENT '产品id',`num` INT ( 10 ) NULL DEFAULT 0 COMMENT '下单数量',`price` BIGINT ( 20 ) NOT NULL COMMENT '实付款',`delete_flag` TINYINT ( 4 ) NULL DEFAULT 0,`create_time` DATETIME DEFAULT now(),`update_time` DATETIME DEFAULT now(),
PRIMARY KEY ( id )) ENGINE = INNODB DEFAULT CHARACTER 
SET = utf8mb4 COMMENT = '订单表';-- 数据初始化
insert into order_detail (user_id,product_id,num,price)
values
(2001, 1001,1,99), (2002, 1002,1,30), (2001, 1003,1,40),
(2003, 1004,3,58), (2004, 1005,7,85), (2005, 1006,7,94);-- 产品服务
create database if not exists cloud_product charset utf8mb4;-- 产品表
use cloud_product;
DROP TABLE IF EXISTS product_detail;
CREATE TABLE product_detail (`id` INT NOT NULL AUTO_INCREMENT COMMENT '产品id',`product_name` varchar ( 128 ) NULL COMMENT '产品名称',`product_price` BIGINT ( 20 ) NOT NULL COMMENT '产品价格',`state` TINYINT ( 4 ) NULL DEFAULT 0 COMMENT '产品状态 0-有效 1-下架',`create_time` DATETIME DEFAULT now(),`update_time` DATETIME DEFAULT now(),
PRIMARY KEY ( id )) ENGINE = INNODB DEFAULT CHARACTER 
SET = utf8mb4 COMMENT = '产品表';-- 数据初始化
insert into product_detail (id, product_name,product_price,state)
values
(1001,"T恤", 101, 0), (1002, "短袖",30, 0), (1003, "短裤",44, 0), 
(1004, "卫衣",58, 0), (1005, "马甲",98, 0),(1006,"羽绒服", 101, 0), 
(1007, "冲锋衣",30, 0), (1008, "袜子",44, 0), (1009, "鞋子",58, 0),
(10010, "毛衣",98, 0);

3. 对其他服务器授权

grant 权限 on 数据库对象to ⽤⼾

修改bind-address

修改⽂件路径:/etc/mysql/mysql.conf.d/mysqld.cnf

重启MySQL服务器

systemctl restart mysql

开放3306端⼝号

测试授权结果

使⽤CMD客⼾端,连接服务器MySQL

4nacos部署

下载JDK

下载地址:https://www.oracle.com/java/technologies/downloads/#java17 

centos7  wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpmyum -y install jdk-17_linux-x64_bin.rpm验证  java -version

上传nacos 启动服务 开放对应端⼝号

测试

访问接⼝:http://110.41.51.65:8080

5产品服务,订单服务部署

下载JDK

centos7  wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpmyum -y install jdk-17_linux-x64_bin.rpm验证  java -version

确认配置, 代码, 打包

注意事项

常见问题

一nacos  没找到配置项

解决方法

进入nacos

问题2

安装lrzsz即可

问题三 数据库错误

然后在重新打包上传服务器

打包完会显示相关路径

.把包上传到服务器(注意: 先把老的java进程杀掉)    启动程序  

问题四 内网IP

 运行代码改成这个即可 nohup java -jar order-service-1.0-SNAPSHOT.jar --
spring.cloud.nacos.discovery.ip=162.14.71.227 >logs/order.log &

 接着访问外网IP

登录服务器,上传Jar包 

打包流程 

 ls  
order-service-1.0-SNAPSHOT.jar  product-service-1.0-SNAPSHOT.jar

启动服务

nohup java -jar product-service-1.0-SNAPSHOT.jar --
spring.cloud.nacos.discovery.ip=162.14.71.227 >logs/product.log &nohup java -jar order-service-1.0-SNAPSHOT.jar --
spring.cloud.nacos.discovery.ip=162.14.71.227 >logs/order.log &

开放对应端⼝号   测试

产品服务:http://162.14.71.227:10030/product/1001

订单服务:http://162.14.71.227:10040/order/1

6⽹关服务部署

安装JDK

登录服务器,上传Jar包

启动服务

nohup java -jar gateway-1.0-SNAPSHOT.jar --server.port=8080 >logs/gateway.log &

开放对应端⼝号 测试

产品服务:http://120.78.126.148:8080/product/1001


http://www.ppmy.cn/news/1522742.html

相关文章

仕考网:事业编面试全流程介绍

1.进入考场 工作人员会检查考生的身份证、准考证以及随身携带物品,可以带食物和水 2.进入候考室 进入候考室,工作人员会再次确认考生信息 3.抽签 考生到齐后,工作人员会组织考生抽签,登记抽签序号、信息确认、发放号码牌 4.…

【Android】使用和风天气API获取天气数据吧!(天气预报系列之一)

【Android】使用和风天气API获取天气数据吧!(天气预报系列之一) 古话说得好,要有天气预报,首先需要有天气,和预报。 今天给大家介绍一个好用的天气预报API:和风天气。以及webAPI的使用方法~&a…

React 应用中集成 Ace Editor

安装 React-Ace 首先,你需要安装 react-ace 和 ace-builds(它包含 Ace Editor 的核心文件): pnpm install react-ace ace-builds用法: import React from react; import AceEditor from react-ace;// 引入你需要的 …

从“游戏科学”到玄机科技:《黑神话:悟空》的视角打开动漫宇宙

近日,中国游戏界迎来了一场前所未有的盛事——由游戏科学公司开发的《黑神话:悟空》正式上线,并迅速成为全球玩家热议的焦点。在居高不下的讨论热度中,有人说他的成功在于对《西游记》为背景进行改编,对原著进行了分析…

es安装ik分词器

下载分词器 首先确定es对应的版本(假设版本是7.10.0)根据版本下载指定的分词器 开始安装 在线安装 ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.10.0/elasticsearch-analysis-ik-…

如何在 Java 中实现线程安全的单例模式?

单例模式是一种常用的软件设计模式,它确保一个类只有一个实例,并提供一个全局访问点。 在多线程环境下,确保单例模式的线程安全性是非常重要的,因为多个线程可能会同时尝试创建实例,导致实例不唯一的问题。 单例模式…

[数据集][目标检测]翻越栏杆行为检测数据集VOC+YOLO格式512张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):512 标注数量(xml文件个数):512 标注数量(txt文件个数):512 标注类别…

设计模式-装饰器代理观察者

3.7 装饰器模式(代码见vs) 装饰器又叫做包装模式,允许向一个现有的对象添加新的功能,同时又不改变其结构。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法完整性的前提下,提供了额…

ssm微信小程序的英语学习激励系统论文源码调试讲解

2 关键技术介绍 2.1 SSM框架 开发信息管理系统的主流框架是SSM(Spring Spring MVC MyBatis),SSM框架web层使用Spring MVC框架,使传输前后端数据变得简单;对于业务层使用Spring作为轻量级控制反转和面向切面的容器框…

Java JVM 垃圾回收算法详解

Java 虚拟机(JVM)是运行 Java 应用程序的核心,它的垃圾回收(Garbage Collection, GC)机制是 JVM 中非常重要的一个部分。垃圾回收的主要任务是自动管理内存,回收那些不再被使用的对象,从而释放内…

网吧业务安全对抗(有源码)

网吧业务竞争激烈,网吧都会有以下系统软件。 无盘: 无盘是指没有硬盘。好处是统一维护管理和节约成本。本人研究无盘好几年,后面会专门发帖介绍。 计费: 是指收费系统。 营销软件: 包括销售饮品、‌零食和向客户发送电子邮件营销和短信营销等。产品如…

Redis配置

redis配置管理 可以直接打开配置文件进行查看和修改,也可以通过config命令来进行查看和修改。 配置文件位置 Linux中默认在/etc/redis/redis.conf。Windows 中默认在安装目录下,名为 redis.windows.conf。 查看redis配置 使用redis-cli连接redis后&…

AI绘画SD中如何安装/更新/卸载 Stable Diffusion WebUI 插件?SD新手必看的保姆级教程!

大家好,我是画画的小强 最近有一部分朋友对如何在AI绘画StableDiffusion中 安装管理 WebUI 插件十分陌生,不知道如何下手。 今天就系统地为大家介绍一下 WebUI 插件安装、更新、卸载的相关知识,让初学者能快速掌握插件的使用方法&#xff0c…

MySQL 的关键字

MySQL 中的关键字是数据库中具有特殊含义的保留字,它们用于定义数据库结构、操作数据库数据和控制数据库行为。关键字在 MySQL 查询中扮演着至关重要的角色,因为它们是 SQL 语句的核心组成部分。 1. 数据定义语言 (DDL) 关键字 数据定义语言 (DDL) 关键…

FC 协议概述

FC协议,全称为Fibre Channel(光纤通道)协议,是一种高速网络技术,主要用于连接计算机和存储设备。它最初在1988年开发,目的是提高硬盘协议的传输带宽,侧重于数据的快速、高效、可靠传输。到了上世…

滚雪球学MyBatis-Plus(09):乐观锁与性能优化

前言 在上期内容中,我们详细介绍了 MyBatis Plus 的条件构造器。通过使用 QueryWrapper 和 LambdaQueryWrapper,我们学会了如何构建各种复杂的查询条件,并将这些条件应用于服务层和控制层。条件构造器的灵活性和强大功能,使得查询…

基于django的在线音乐网站设计/基于python的音乐播放系统

Django在线音乐网站设计 摘要:计算机网络如果结合使用信息管理系统,能够提高管理员管理的效率,改善服务质量。优秀的在线音乐网站设计能够更有效管理音乐资讯规范,帮助管理者更加有效管理音乐网站,可以帮助提高克服人工…

JavaScript 实用技巧

1. 使用 const 和 let 替代 var 在 ES6 之前,我们通常使用 var 声明变量。但如今,推荐使用 const 和 let,因为它们具有块级作用域,可以避免很多潜在的问题。 const PI 3.14; // 常量,无法重新赋值 let age 25; // …

misc流量分析

一、wireshark语法 1、wireshark过滤语法 (1)过滤IP地址 ip.srcx.x..x.x 过滤源IP地址 ip.dstx.x.x.x 过滤目的IP ip.addrx.x.x.x 过滤某个IP (2)过滤端口号 tcp.port80tcp.srcport80 显示TCP的源端口80tcp.dstport80 显示…

【高阶数据结构】B树、B+树、B*树

B树、B树、B*树 1. 常见的搜索结构2. B树概念3. B树的插入分析4. B树的插入实现4.1 B树的节点设计4.2 B树的部分插入实现14.3 B树的查找4.4 B树的部分插入实现24.5 插入key的过程4.7 B树的插入完整代码4.8 B树的简单验证4.9 B树的删除4.10 B树的性能分析 5. B树6. B*树7. 总结8…