365商城架构设计介绍:
采用lvs+nginx+tomcat+mysql
如图所示:
简单介绍一下:
1.LVS
现在所有网站都会采用一个双机热备方案,现在我们采用服务器centos5,具体安装请参考我的博客
2.Nginx
现在最流行web服务器,相对于apache来说性能和速度都优于它
我们实现是用nginx+tomcat+nginx-module-jk来完成app应用整合,类似于apache-mod-jk方案
3.Mysql采用Master-Master主主复制方案
主要实现目标数据库负载分流,达到高并发时缓解对于数据库压力,具体安装请参考如下:
二台Mysql服务器,他们的IP地址分别为:
A:192.168.0.20
B:192.168.0.21
数据库都是 test_3306
首先我给两台服务器的my.ini 贴出来
A:my.ini
server-id=2
master-host=192.168.0.20
master-user=mydb
master-password=123
master-port=3306
replicate-do-db=tbqu
log-bin=
log-slave-updates
binlog-ignore-db=mysql
slave-skip-errors=all
B:my.ini
server-id=1
master-host=192.168.0.21
master-user=mydb
master-password=123
master-port=3306
replicate-do-db=tbqu
log-bin=
log-slave-updates
binlog-ignore-db=mysql
slave-skip-errors=all
多主互备和主从复制有一些区别,因为多主中 都可以对服务器有写权限,所以设计到自增长重复问题
出现的问题(多主自增长ID重复)
1:首先我们通过A,B的test表结构
2:掉A,在B上对数据表test(存在自增长ID)执行插入操作,返回插入ID为1
3:后停掉B,在A上对数据表test(存在自增长ID)执行插入操作,返回的插入ID也是1
4:然后 我们同时启动A,B,就会出现主键ID重复
解决方法:
我们只要保证两台服务器上插入的自增长数据不同就可以了
如:A查奇数ID,B插偶数ID,当然如果服务器多的话,你可以定义算法,只要不同就可以了
在这里我们在A,B上加入参数,以实现奇偶插入
A:my.ini上加入参数
auto_increment_offset = 1
auto_increment_increment = 2
这样A的auto_increment字段产生的数值是:1, 3, 5, 7, …等奇数ID了
B:my.ini上加入参数
auto_increment_offset = 2
auto_increment_increment = 2
这样B的auto_increment字段产生的数值是:2, 4, 6, 8, …等偶数ID了
可以看出,你的auto_increment字段在不同的服务器之间绝对不会重复,所以Master-Master结构就没有任何问题了。当然,你还可以使用3台,4台,或者N台服务器,只要保证auto_increment_increment = N 再设置一下auto_increment_offset为适当的初始值就可以了,那样,我们的MySQL可以同时有几十台主服务器,而不会出现自增长ID 重复。
在这里我们说的是2台MYSQL服务器,你也可以扩展到多台,实现方法类似
A > B -> C> D ->A,这里时间关系先不讲多个中master-master复制。
- 大小: 92.5 KB
分享到:
相关推荐
【软考】架构设计师论文案例分享【软考】架构设计师论文案例分享【软考】架构设计师论文案例分享【软考】架构设计师论文案例分享【软考】架构设计师论文案例分享【软考】架构设计师论文案例分享【软考】架构设计师...
《守望先锋》架构设计与网络同步 -- GDC2017 精品分享实录.rar
系统架构设计师考试的相关资料(贴吧分享) 系统架构设计师考试的相关资料
MySQL+MyCAT架构设计分享,主要以实际例子为基础,介绍了数据库架构设计、存储设计等。
web架构设计经验分享
大数据分析技术知识分享 商业智能架构设计 BI数据架构设计 共36页.pdf
前段时间整理的数据仓库方面模型设计预计架构、元数据的分享
互金公司关于架构设计的内部分享文档,详细描述了架构设计要点、spring cloud、dubbod等架构设计技术
在GDC2017【Overwatch Gameplay Architecture andNetcode 】的分享会上,来自暴雪的Tim Ford介绍了《守望先锋》游戏架构和网络同步的设计。一起来看看吧。
web架构设计经验分享.pdf
FPGA架构设计人员需要对FPGA开发本身足够熟悉外,对FPGA的优劣势、等都要心中有数。接下来就是对FPGA的架构流程、注意点有足够的知识和经验。本文就对FPGA架构设计进行系统讲解。 分享给大家,做FPGA必读。
分享一个自己做的商城设计架构图的思维导图,希望可以给其他需要做商城架构设计的小伙伴们一些灵感,如果有什么意见和建议欢迎与我沟通。
好的东西需要分享,2009-2016年的系统架构设计师真题及答案,2017年真题、以及复习教材、资料。
在技术架构上,微信是如何做到的?日前,在腾讯大讲堂在中山大学校园宣讲活动上,腾讯广研助理总经理、微信技术总监周颢在两小时的演讲中揭开了微信背后的秘密。
之前分享了系统架构设计师的范文,今天把相关的真题和复习资料分享给大家,资料中包括系统架构设计师的教程,全套真题及答案,当然还有一些答案解析的分类等等,这些是希赛机构分享的,老师们讲解 的很详细,资料...
58同城的跨平台高性能,高可用的中间层服务架构设计分享
知名网站架构分析-互联网高弹性架构设计分享 - 刘晓飞
在技术架构上,微信是如何做到的?日前,在腾讯大讲堂在中山大学校园宣讲活动上,腾讯广研助理总经理、微信技术总监周颢在两小时的演讲中揭开了微信背后的秘密。
在技术架构上,微信是如何做到的?日前,在腾讯大讲堂在中山大学校园宣讲活动上,腾讯广研助理总经理、微信技术总监周颢在两小时的演讲中揭开了微信背后的秘密。分享开发设计理念,架构设计的盛宴。