首页 > 其他分享 >2024.8.21(高并发eleme项目登录模块)

2024.8.21(高并发eleme项目登录模块)

时间:2024-08-22 08:58:14浏览次数:8  
标签:java 21 lvs 2024.8 dr 192.168 8.18 eleme root

1、配置一主二从mysql

        1. mycat对mysql8不完全支持

        2. mysql8主从问题不大get_pub_key=1 

        3. gtids事务复制 

        4. 删除/etc/my.cnf

        5. 同步data文件需要先停用mysql服务,删除data目录中的auto.cnf

        6. gtid模式以及经典模式都需要锁表

   flush tables with read lock;
   unlock tables;
   set @@glopal.read_only=ON;
   set @@global.read_only=OFF';

         7. 开放mysql服务端

   firewall-cmd -- zone=public -- add-
   port=3306/tcp -- permanent
   firewall-cmd -- reload
   firewall-cmd -- list-ports
   firewall-cmd -- list-servciel

2、 添加数据库和数据表

        1. 不能修改从服务器

        2. 创建库和表

   #!/bin/bash
        /usr/local/mysql/bin/msyql -proot << EOF

        create database if not exists eleme charset utf8mb4;
        use eleme;

        create table user(
        id int primary key auto_increment,
        name varchar(45) not null,
        username varchar(45) not null,
        password varchar(45) not null,

        remark varchar(45)

        insert into eleme. t_user(name, username, password, remark)values("超级管理员”,"admin","admin",”管理员”);insert into eleme. t_user(name, username, password, remark)va
Lues("访客","guest","guest","最低权限”);

        quit
        EOF

3、 添加登录数据,可以输入sql语句,也可以在图形化界面

4、添加mycat读写分离负载均衡

        1. nginx,haproxy,lvs负载均衡技术 分不清什么数据库能读,什么数据库能写

        2. master mysql可读可写,slave mysql只能读取数据

        3. mycat是阿里开源项目,所以必须安装java环境

        4.步骤

                1. 开放8066端口

                2. 上传软件包mycat和jdk1.8

                3. 解压

                4. 配置部署java环境

                        1. 复制到 /usr/local目录下

                        2. 配置/etc/profile   source /etc/profile

                        3. server.xml

                        4.schema.xml

                        5. /usr/local/mycat/bin/mycat start|stop

                        6. 查看日志文件wrapper.log

5、 部署2台java后端服务器,jdk版本17

[root@java ~]# tar -xf jdk-17_linux-x64_bin.tar.gz 
[root@java ~]# ls
anaconda-ks.cfg  jdk-17.0.12  jdk-17_linux-x64_bin.tar.gz
[root@java ~]# cp -r jdk-17.0.12/ /usr/local/jdk
[root@java ~]# vim /etc/profile


[root@java ~]# source /etc/profile
[root@java ~]# java -version

6、部署饿了么后端项目 登录模块

[root@java ~]# ls
anaconda-ks.cfg                  jdk-17.0.12
application.yml                  jdk-17_linux-x64_bin.tar.gz
eleme_server-0.0.1-SNAPSHOT.jar

1.修改application.yml文件,端口默认8080,url,username,password

[root@java ~]# vim application.yml 

2. 先打开java服务器的端口

[root@java ~]# firewall-cmd -- add-port=8080/tcp -- permanent
[root@java ~]# firewall-cmd -- reload

3. 启动后端服务器

[root@java ~]# java -jar eleme_server-0.0.1-SNAPSHOT.jar

4. 远程浏览器测试

7、 使用Ivs代理java服务

1. 设置dr主机

[root@lvs_dr ~]# yum -y install ipvsadm.x86_64
[root@lvs_dr ~]# ipvsadm -L   //查看以往的
[root@lvs_dr ~]# ipvsadm -C   //清空

[root@lvs_dr ~]# ifconfig ens33:1 192.168.8.18 broadcast 192.168.8.18 netmask 255.255.255.255 up       //挂载vip        vip对外   

[root@lvs_dr ~]# route add -host 192.168.8.18 dev ens33:1   //加入路由

[root@lvs_dr ~]# ipvsadm -A -t 192.168.8.18:8080 -s rr     //设置负载均衡规则  -s 轮询策略
[root@lvs_dr ~]# ipvsadm -a -t 192.168.8.18:8080 -r 192.168.8.161 -g   // java
[root@lvs_dr ~]# ipvsadm -a -t 192.168.8.18:8080 -r 192.168.8.166 -g    //java02

2. 设置rs主机

2.1 在lo接口上绑定vip

[root@java ~]# ifconfig lo:0 192.168.8.18 broadcast 192.168.8.18 netmask 255.255.255.255 up     //挂载vip

[root@java02 ~]# ifconfig lo:0 192.168.8.18 broadcast 192.168.8.18 netmask 255.255.255.255 up

2.2 添加路由

[root@java ~]# route add -host 192.168.8.18 dev lo:0 

[root@java02 ~]# route add -host 192.168.8.18 dev lo:0

2.3 抑制rs接受请求

[root@java ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@java ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
[root@java ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@java ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

[root@java02 ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@java02 ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
[root@java02 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@java02 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

2.4 浏览器

8、nginx代理端口

[root@lvs_dr ~]# yum -y install nginx

[root@lvs_dr ~]# vim /etc/nginx/nginx.conf
upstream javagroup{
               server localhost:8080 weight=95;
               server 192.168.8.161:8080 weight=3;                  //java
               server 192.168.8.166:8080 weight=2;                  //java02
          }


                location =/ {
                        proxy_pass      http://javagroup;
                }

[root@lvs_dr ~]# nginx

[root@lvs_dr ~]# vim /var/log/nginx/error.log       //错误日志

9、 测试登录

浏览器访问vip

标签:java,21,lvs,2024.8,dr,192.168,8.18,eleme,root
From: https://blog.csdn.net/weixin_70751278/article/details/141380495

相关文章

  • COMP5216 Mobile Computing
    COMP5216MobileComputing2024S2SchoolofComputerSciencePage1of2Assignment1AcademicPlannerAppTotal:5marksDuedate:5pm21stAugust2024(Week04)Submissionrequirements:Submitallprojectfilesasonezippedfile.Youwilldemo......
  • 2024年8月21日(高并发eleme项目登录模块)
    ​一、配置一主二从mysql1.mycat对mysql8不完全支持2.mysql8主从问题不大get_pub_key=13.gtids事务复制4.删除/etc/my.cnf5.同步data文件需要先停用mysql服务,删除data目录中的auto.cnf6.gtid模式以及经典模式都需要锁表flushtableswithreadlock;unlocktab......
  • 2024.8.21 总结(集训 考试)
    上午感觉不错,下午改不出题,晚上破防。简略思路:T1本质应该是DP维护一次函数。不会正解。晚上看了好久、好多篇题解还是不会。有点静不下心来看比较长的题解。放点别人的题解,有空再来研究:https://www.cnblogs.com/flywatre/p/17236732.htmlhttps://blog.51cto.com/u_1530083......
  • 2024.8.21
    DATE#:20240821ITEM#:DOCWEEK#:WEDNESDAYDAIL#:捌月拾捌TAGS <BGM="琴师--要不要买菜"><theme=oi-contest><[NULL]><[空]><[空]>```此情可待成追忆,只是当时已惘然--《锦瑟》李商隐```T1试卷答案(exam)时间限制:1s 内存限制:512......
  • 2024/8/21 模拟赛
    T1试卷答案试卷由若干道不定项选择题构成,只有ABCD四个选项。每道题的答案是一个按字典序排列的非空字符串。例如,A、CD是合法的答案,而BB、DC不是合法的答案。一张合法的试卷由k道题目组成。给定一个长度为\(n\)的由ABCD组成的字符串,进行\(Q\)次操作。支持区间加(将区间内......
  • 2024.8.21 鲜花
    NeverGonnaGiveYouUpWe'renostrangerstoloveYouknowtherulesandsodoIAfullcommitment'swhatI'mthinkingofYouwouldn'tgetthisfromanyotherguyIjustwannatellyouhowI'mfeelingGottamakeyouunderstandNe......
  • 国内外ChatGPT镜像网站集合【2024-08-21最新】~
     一、GPT4o& &4.0turbo&GPT4omini介绍总有人问我,GPT4o、GPT4.0和GPT3.5有什么区别?国内怎么才能用上,听说很复杂以一张表来表达他们的区别吧GPT3.5、GPT3.5Turbo、GPT4.0均已经被官方放弃维护,也就是说我们其实已经使用不到这几个模型了。目前官方主流开放的模型有GP......
  • Blocked aria-hidden on a <input> element because the element that just received fo
    bug查资料找到三种解决方案1.第一种在main.js中加入,然后在报错的组件上加,但我没有解决Vue.directive('removeAriaHidden',{bind(el,binding){letariaEls=el.querySelectorAll('.el-radio__original');ariaEls.forEach((item)=>{item.removeA......
  • Selenium + Python 自动化测试21(PO+HTML+Mail)
            我们的目标是:按照这一套资料学习下来,大家可以独立完成自动化测试的任务。上一篇我们讨论了PO模式并举例说明了基本的思路,今天我们继续学习。        本篇文章我们综合一下之前学习的内容,如先将PO模式和我们生成HTML报告融合起来,综合的灵活的使用之......
  • 高级java每日一道面试题-2024年8月21日-框架篇[Spring篇]-使用IOC容器应该注意哪些?
    如果有遗漏,评论区告诉我进行补充面试官:使用IOC容器应该注意哪些?我回答:1.理解IOC的基本概念控制反转:在传统的编程模式中,程序会主动控制依赖关系的创建和管理。而在IoC容器中,这种控制权被反转给了容器本身。程序员只需要声明依赖关系,而由容器负责实例化和注入这些依......