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
分享到:
相关推荐
【软考】架构设计师论文案例分享【软考】架构设计师论文案例分享【软考】架构设计师论文案例分享【软考】架构设计师论文案例分享【软考】架构设计师论文案例分享【软考】架构设计师论文案例分享【软考】架构设计师...
### 微信技术总监分享架构设计的核心知识点 #### 一、微信之道——至简 - **背景介绍**:微信作为一款现象级应用,其成功离不开其背后强大的技术支撑与先进的设计理念。微信技术总监周颢在腾讯大讲堂的演讲中分享...
1. 成功案例:分享成功系统架构设计的案例,分析其设计理念和实施过程。 2. 教训总结:从失败的案例中汲取教训,理解系统架构设计中的常见陷阱和风险。 通过对这个压缩包的学习,考生不仅可以全面掌握系统架构设计...
《软考系统架构设计师教程...这三本书的组合,为考生提供了系统性的学习资源,既有理论知识的讲解,又有实战经验的分享,有助于考生顺利通过系统架构设计师的考试,并在未来的工作中成为一名优秀的系统架构设计师。
从给定的文件信息来看,标题为“web架构设计经验分享”,这暗示了文档内容将围绕Web架构的设计原则、最佳实践以及可能遇到的挑战展开。虽然描述部分为空,但通过部分展示的内容,我们可以推断出这是一份深入探讨Web...
9. 架构设计的最佳实践:书中分享了架构设计的最佳实践,为读者提供了一系列实用的设计模式、工具和方法。 10. 架构设计的评估与优化:书中还可能涉及如何评估架构设计的有效性以及如何进行持续优化,确保系统能够...
"web架构设计经验分享" 本文将分享web架构设计的经验,总结了五个重要的心得,分别是不要过度设计、web架构生命周期、缓存、核心模块一定要自己开发、合理选择数据存储方式。 首先,不要过度设计是web架构设计的...
在GDC(Game Developers Conference)2017年会上,开发者分享了这款游戏背后的架构设计和网络同步技术,这些都是确保游戏稳定运行和良好用户体验的关键。 首先,架构设计是任何复杂系统的基础。在《守望先锋》中,...
6. **最佳实践与案例研究**:可能包含来自实际项目的经验分享,提供了一些成功的架构设计案例,以帮助读者更好地理解和应用理论知识。 7. **架构师的角色与职责**:探讨了系统架构师在团队中的角色,如何与其他团队...
标题和描述中的“百度林仕鼎:架构设计与架构师(演讲稿)”明确指出了本次分享的主题聚焦于架构设计及其对于架构师角色的意义。在IT领域,尤其是软件开发和系统构建过程中,架构设计扮演着至关重要的角色,它不仅...
系统架构设计师是一个高级IT职位,主要负责设计和优化复杂的信息系统,确保其高效、稳定、安全地运行。这个角色在企业信息化建设中扮演着至关重要的角色。本压缩包"2009-至今 系统架构设计师历年真题.zip"包含了自...
6. **最佳实践**:分享业界的最佳实践,如持续集成、敏捷开发和DevOps在架构设计中的应用。 这两个资源对于任何希望深入软件架构设计或者寻求架构师角色转变的个人来说,都是非常宝贵的学习材料。通过深入学习和...
本文档为2021年下半年系统架构设计师下午真题及答案解析,内容主要围绕着一个机器学习应用开发平台的设计与实施展开,提出了一个具体的项目需求和架构设计方案,并针对这些设计要求了进行了评估。文档中提及的需求...
《架构实战:软件架构设计的过程》是一本深入探讨软件架构设计的专业书籍,旨在提供实际操作中的指导和经验分享。在软件开发中,架构设计是至关重要的一步,它决定了系统的整体结构、组件之间的关系以及系统如何应对...
关于618经验,京东分享了其在大型促销活动中的架构设计经验,这些经验对于电商行业的应用架构设计具有重要的参考价值。 在文章的最后部分,京东还提出了架构愿景,明确了架构设计的质量要求,如完整性、可维护性、...
《系统架构设计师考试真题详解》 在信息技术领域,系统架构设计师是一个至关重要的角色,他们负责设计、规划和实施复杂的计算机系统,确保系统的高效、稳定和可扩展性。为了培养和选拔这一领域的专业人才,我国自...
这257页的完整版PDF电子书,提供了丰富的知识和经验分享,是IT行业中,尤其是软件开发和架构设计领域的宝贵资源。在本书中,作者深入探讨了软件架构设计的关键步骤、原则和技巧,以帮助读者提升在项目规划和实施中的...
### 系统架构设计师精讲班视频教程知识点总结 #### 一、课程概述与目标 - **课程背景**:随着互联网技术的飞速发展,系统架构设计已成为IT领域中的核心竞争力之一。为了满足市场对高级系统架构师的需求,本课程...
微信作为全球用户量庞大的社交平台,其背后的技术架构设计无疑是一个引人入胜的话题。微信技术总监周颢在中山大学的演讲中揭示了微信在架构设计上的独特之处,让我们一起深入探讨这些关键技术点。 首先,微信的核心...
《软件平台架构设计与技术管理之道》是一本深入探讨软件平台构建与管理的权威之作,由知名专家李中华撰写。本书以清晰的思维导图、详细的摘要和丰富的实践案例,全面解析了软件平台架构设计的核心理念和技术管理的...