Java项目-瑞吉外卖项目优化Day2

news2024/9/25 13:15:59

读写分离Linux配置

如果只有一台数据库,会导致数据库压力过大,也可能出现磁盘损坏数据丢失的情况。所以考虑借助mysql数据库的主从复制解决以上两个问题。

mysql主从复制的原理

实现主从复制的操作

注意此处的master_log_file的值和master_log_pos的值要对应之前master status的值。

输入命令后,可以将内容复制到文本文件中以便于查看。

读写分离案例

Sharding-JDBC

配置application.xml文件:

spring:
  shardingsphere:
    datasource:
      names:
        master,slave
      # 主数据源
      master:
        type: com.alibaba.druid.pool.DruidDataSource
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://192.168.181.100:3306/rw?characterEncoding=utf-8
        username: root
        password: abc123
      # 从数据源
      slave:
        type: com.alibaba.druid.pool.DruidDataSource
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://192.168.181.101:3306/rw?characterEncoding=utf-8
        username: root
        password: abc123
    masterslave:
      # 读写分离配置
      load-balance-algorithm-type: round_robin #轮询
      # 最终的数据源名称
      name: dataSource
      # 主库数据源名称
      master-data-source-name: master
      # 从库数据源名称列表,多个逗号分隔
      slave-data-source-names: slave
    props:
      sql:
        show: true #开启SQL显示,默认false
  main:
    allow-bean-definition-overriding: true

项目实现读写分离

在linux中创建数据库,导入sql文件。

项目导入maven坐标

导入application.xml配置:
需要注意缩进。

启动成功,没有报错,可以从控制台看到,更新操作使用的是主数据库,查询使用的是从数据库。

Nginx介绍

Nginx的下载与安装

建议下载稳定版本

想查看目录结构,可以使用tree命令,首次使用需要使用命令yum install tree -y安装。

Nginx的常用命令

配置环境变量到/etc/profile。修改后使用source /etc/profile使配置文件立即生效。

Nginx配置文件结构

Nginx实现反向代理

实现反向代理

实现负载均衡

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1334694.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

渗透测试——1.1初认识kali

一、kali的下载 官方地址:www.kali.org 下载后压缩就可用vmware打开即可(初始账号和密码都是kali) 二、三种网络配置 1、桥接模式:将虚拟机看成局域网中的独立主机 2、NAT模式:将物理机当做路由器(rout…

php一句话木马变形技巧

一、什么是一句话木马? 一句话木马就是只需要一行代码的木马,短短一行代码,就能做到和大马相当的功能。为了绕过waf的检测,一句话木马出现了无数中变形,但本质是不变的:木马的函数执行了我们发送的命令。 …

深度学习 | 基本循环神经网络

1、序列建模 1.1、序列数据 序列数据 —— 时间 不同时间上收集到的数据,描述现象随时间变化的情况。 序列数据 —— 文本 由一串有序的文本组成的序列,需要进行分词。 序列数据 —— 图像 有序图像组成的序列,后一帧图像可能会受前一帧的影响…

开源持续测试平台Linux MeterSphere本地部署与远程访问

文章目录 前言1. 安装MeterSphere2. 本地访问MeterSphere3. 安装 cpolar内网穿透软件4. 配置MeterSphere公网访问地址5. 公网远程访问MeterSphere6. 固定MeterSphere公网地址 前言 MeterSphere 是一站式开源持续测试平台, 涵盖测试跟踪、接口测试、UI 测试和性能测试等功能&am…

C# 读取Word表格到DataSet

目录 功能需求 Office 数据源的一些映射关系 范例运行环境 配置Office DCOM 关键代码 组件库引入 ​核心代码 杀掉进程 总结 功能需求 在应用项目里,多数情况下我们会遇到导入 Excel 文件数据到数据库的功能需求,但某些情况下,也存…

算法中的数学一:判定质数和求约数相关

1.试除法求质数 质数就是大于1的整数中除了1和自身没有其他因数的数 1.1暴力求解 暴力求解的思路就是从2遍历到自身判断是否有被整除的数&#xff0c;时间复杂度为O(n)的 bool is_prime(int x) {if(x<2)return false;for(int i2;i<x;i){if(x%i0){return false;}}return…

LSTM和GRU vs 循环神经网络RNN

1、考虑下列三种情况下&#xff0c;对比一下普通RNN的表现和LSTM和GRU表现&#xff1a; &#xff08;1&#xff09;早期观测值对预测未来观测者具有非常重要的意义。 考虑一个极端情况&#xff0c;其中第一个观测值包含一个校验和&#xff0c; 目标是在序列的末尾辨别校验和是…

Scala安装

Scala安装使用 windows安装,配置环境变量 以下载Scala2.11为例&#xff0c;操作在Windows中安装Scala。 官网下载scala2.11&#xff1a;All Available Versions | The Scala Programming Language下载好后安装。双击msi包安装,记住安装的路径。配置环境变量&#xff08;和配…

精品Nodejs实现的微信小程序的校园跑腿系统-快递收取件

《[含文档PPT源码等]精品Nodejs实现的微信小程序的校园跑腿系统[包运行成功]》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功&#xff01; 软件开发环境及开发工具&#xff1a; 操作系统&#xff1a;Windows 10、Windows 7、Windows 8 …

C++:list增删查改模拟实现

C:list增删查改模拟实现 前言一、list底层双链表验证、节点构造1.1 list底层数据结构1. 2 节点构造 二、迭代器封装实现&#xff08;重点、难点&#xff09;2.1 前置说明2.2 迭代器实现 三、list实现3.1 基本框架3.2 迭代器和const迭代器3.2 构造函数、析构函数、拷贝构造、赋值…

解决FTP传输慢的问题(ftp传输慢为什么)

在企业运营中&#xff0c;使用FTP进行文件或数据传输是相当普遍的做法。尽管FTP是一种传统的文件传输工具&#xff0c;但在实际应用中&#xff0c;我们可能会面临传输速度缓慢的问题&#xff0c;这不仅影响工作效率&#xff0c;还浪费时间。为了解决这一问题&#xff0c;我们可…

Vue中Render函数、_ref属性、_props配置的使用

Render函数 由于导入的vue为vue.runtime.xxx.js是运行版的vue.只包含&#xff1a;核心功能&#xff1a;没有模板解析器 完整版的Vue为vue.js包含&#xff1a;核心功能模板解析器 vue.runtime.esm.js中的esm为ES6的模块化 //导入的vue并非完整的vue&#xff0c;这样做的好处是…

实战:朴素贝叶斯文本分类器搭建与性能评估

&#x1f497;&#x1f497;&#x1f497;欢迎来到我的博客&#xff0c;你将找到有关如何使用技术解决问题的文章&#xff0c;也会找到某个技术的学习路线。无论你是何种职业&#xff0c;我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章&#xff0c;也欢…

Druid源码阅读-DruidStatInterceptor实现

上次我们在druid-spring-boot-starter里面看到有一个DruidSpringAopConfiguration的配置类&#xff0c;然后引入了DruidStatInterceptor这样一个切面逻辑。今天我们就来看一下这个类的实现。 DruidStatInterceptor 这个类的包路径下入com.alibaba.druid.support.spring.stat。…

服务器代码上传到gitlab

服务器代码上传到gitlab 安装Git工具linux&#xff1a;安装Git&#xff0c;使用自带的源安装 yum install git生成密钥文件&#xff1a;使用ssh-keygen生成密钥文件.ssh/id_rsa.pub ssh-keygen 使用cat命令查看密钥&#xff0c;将下面的密钥复制一份 在gitlab上建立一个和…

2023年12月16日~12月22日(自适应反馈机制下基于卷积神经网络的高清晰反射波反演算法:CNN-RWI)

标题&#xff1a;Adaptive Feedback Convolutional-Neural-Network-Based High-Resolution Reflection-Waveform Inversion 全波形反演&#xff08;FWI&#xff09;是一种非线性拟合观测地震记录从而获得高清晰速度模型的最优化算法。FWI能够通过拟合浅层初至波和反射波获得较准…

浅学JWT跨域认证

Json Web令牌简称JWT 由HeaderPayloadSignature组成 Header JWT头是一个描述JWT元数据的JSON对象&#xff0c;alg属性表示签名使用的算法&#xff0c;默认为HMAC SHA256&#xff08;写为HS256&#xff09;&#xff1b;typ属性表示令牌的类型&#xff0c;JWT令牌统一写为JWT。…

湘沪数字产业(上海)协同创新中心正式启动!

前言 随着全球化的加速和市场竞争的日益激烈&#xff0c;产业协作已成为推动科技创新和经济发展的重要手段。在创新驱动战略的推动下&#xff0c;全国形成了在科创核心城市建设科创中心的浪潮&#xff0c;旨在充分利用不同区域的产业优势&#xff0c;加强产业协作&#xff0c;…

BFS解决FloodFill算法相关leetcode算法题

文章目录 1.图像渲染2.岛屿数量3.岛屿的最大面积4.被围绕的区域 1.图像渲染 图像渲染 class Solution {int dx[4] {0,0,1,-1};int dy[4] {1,-1,0,0}; public:vector<vector<int>> floodFill(vector<vector<int>>& image, int sr, int sc, int…