企业级集群部署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           
&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值