当前位置: 首页 > news >正文

企业级集群部署gpmall商城:MyCat+ZooKeeper+Kafka 环境部署与商城应用上线流程

简介

本次围绕企业级分布式系统搭建与应用落地展开,详细记录了从基础中间件集群部署到商城应用上线的全流程操作。内容涵盖四大核心模块,通过 MyCat 构建 MySQL 读写分离集群,配置不同负载均衡策略实现数据库读写压力拆分,提升数据处理效率;其次部署 ZooKeeper 三节点集群,完成分布式协调服务搭建,保障系统高可用;再基于 ZooKeeper 集群部署 Kafka 消息队列,实现分布式消息传递与解耦;最后整合 MyCat、Redis、ZK、Kafka 等中间件,配置 Nginx 反向代理与负载均衡,完成商城应用的环境搭建与系统上线。

1.数据库构建读写分离集群

 [root@node1 conf]# yum install java java-devel -y
 [root@node1 conf]# tar -zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz -C /usr/local/
  chmod -R 777 /usr/local/mycat/
  在/etc/profile系统变量文件中添加mycat服务的系统变量,并生效变量。
 [root@mycat ~]# echo export MYCAT_HOME=/usr/local/mycat/ >> /etc/profile
 [root@mycat ~]# source /etc/profile
 ​
  修改配置文件权限
 修改schema.xml的用户权限,命令如下
 [root@node1 conf]# cd /usr/local/mycat/conf/
 [root@mycat ~]# chown root:root schema.xml
 [root@node1 conf]# vi schema.xml
 <?xml version="1.0"?>
 <!DOCTYPE mycat:schema SYSTEM "schema.dtd">
 <mycat:schema xmlns:mycat="http://io.mycat/">
 <schema name="USERDB" checkSQLschema="true" sqlMaxLimit="100" dataNode="dn1"></schema>
 <dataNode name="dn1" dataHost="localhost1" database="test" />
 <dataHost name="localhost1" maxCon="1000" minCon="10" balance="3" dbType="mysql" dbDriver="native" writeType="0" switchType="1"  slaveThreshold="100">
     <heartbeat>select user()</heartbeat>
     <writeHost host="hostM1" url="192.168.30.5:3306" user="root" password="000000">
         <readHost host="hostS1" url="192.168.30.5:3306" user="root" password="000000" />
     </writeHost>
 </dataHost>
 </mycat:schema>
 ---------------------------解释
 sqlMaxLimit:配置默认查询数量
 database:为真实数据库名
 balance="0",不开启读写分离机制,所有读操作都发送到当前可用的writeHost上。
 balance="1",全部的readHost与stand by writeHost参与select语句的负载均衡,简单的说,当双主双从模式(M1->S1,M2->S2,并且M1与M2互为主备),正常情况下,M2,S1,S2都参与select语句的负载均衡。
 balance="2",所有读操作都随机的在writeHost、readhost上分发。
 balance="3",所有读请求随机的分发到wiriterHost对应的readhost执行,writerHost不负担读压力,注意balance=3只在1.4及其以后版本有,1.3没有。
 writeType="0",所有写操作发送到配置的第一个 writeHost,第一个挂了切到还生存的第二个writeHost,重新启动后已切换后的为准,切换记录在配置文件中:dnindex.properties .
 ----------------------------------------
 [root@node1 conf]# vi server.xml
 #改
 <property name="password">000000</property>
 <property name="schemas">USERDB</property>
 删除95-99
 [root@node1 conf]# /bin/bash /usr/local/mycat/bin/mycat start  或 ./mycat start
 [root@node1 conf]# netstat -ntpl 
 Active Internet connections (only servers)
 Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
 tcp        0      0 127.0.0.1:32000         0.0.0.0:*               LISTEN      13232/java          
 tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      522/rpcbind         
 tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1194/sshd           
&
http://www.dtcms.com/a/351189.html

相关文章:

  • VxWorks 核心数据结构详解 【消息队列、环形缓冲区、管道、FIFO、双缓冲区、共享内存】
  • Debian Buster 软件源失效问题
  • 在分布式环境下正确使用MyBatis二级缓存
  • 虚拟滚动优化——js技能提升
  • zookeeper-保姆级配置说明
  • http与https配置
  • 使用分流电阻器时的注意事项--PCB 设计对电阻温度系数的影响
  • Ubuntu 虚拟机配置 Git 并推送到Gitee
  • 低代码如何颠覆企业系统集成传统模式?快来一探究竟!
  • 两数之和,leetCode热题100,C++实现
  • 2025年视觉、先进成像和计算机技术论坛(VAICT 2025)
  • LeetCode热题100--108. 将有序数组转换为二叉搜索树--简单
  • 【Lua】题目小练11
  • Ansible 自动化运维工具:介绍与完整部署(RHEL 9)
  • 【软考论文】论领域驱动开发方法(DDD)的应用
  • CentOS 7服务器初始化全攻略:从基础配置到安全加固
  • AI应用--接口测试篇
  • Maya绑定基础:驱动关键帧的使用
  • C# .NET支持多线程并发的压缩组件
  • 视频创作者如何用高级数据分析功能精准优化视频策略
  • 红色文化与前沿科技的融合:VR呈现飞夺泸定桥的震撼历史场景​
  • LWIP协议栈
  • Java项目-苍穹外卖_Day3-Day4
  • MyBatis-Flex:一个支持关联查询的MyBatis
  • android vehicle
  • SOME/IP-SD协议含配置选项键值信息的报文示例解析
  • 贝叶斯优化提升化学合成反应效率(附源码)
  • 如何将数据从vivo手机传输到另一部vivo手机
  • 《高并发场景下数据一致性隐疾的实战复盘》
  • Coze Studio开源版:AI Agent开发平台的深度技术解析- 入门篇