- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
论当前一种先进实用的IT系统架构设计修改版
论当前一种先进实用的IT系统架构设计修改版
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?李万鸿
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
??? ???
0 引言
对用JAVA开发的项目来说,根据“成熟稳定、先进科学、实用可靠“的原则,设计使用这样一种架构,采用多个分布式集群来保证系统的高性能、高可靠性、伸缩性、可维护性和安全的需要,服务器可以线性扩展,使用开源免费软件和廉价服务器,提供极高的性价比。这个架构对java及其他语言如PHP、c#等开发的各类网站具有指导意义。
1系统架构图
?
?
?
系统应用架构采用门户、应用系统、业务逻辑和基础资源4层。服务器架构通过7个集群和4个负载均衡完成项目的功能。
2架构设计
2.1项目开发环境
1.??开发语言、工具:JAVA 、eclipse。
2.??技术架构采用jquery+SPRING3+mybatis。
3.??采用测试工具进行严格测试,保证代码质量,如:junit、QTP、qc、ROBERT、LOADRUNNER等。
4.??软件环境:maven、SVN(git)、tomcat,JDK7。
5.??硬件环境:cpu:P3 3GHZ以上 Memory:5G以上。
2.2运行环境要求:
硬件环境:
服务器端: 推荐配置为16G内存以上,CPU为2.8GHZ以上配置,硬盘容量为500G以上的服务器。
通信网络: 网络协议为HTTP、TCP/IP。
软件环境:
服务器端:
??????数据库服务器:mysql5.6。
??????Web服务器:tomcat7
??????服务器采用华硕服务器。
??????服务器操作系统: linux centos6.5.
??????浏览器:Internet Explore8.0、firefox17,360浏览器6及以上版本。
??????san存储,32T,RAID5,用于存储数据。
屏幕分辨率推荐为:1024*768或以上。
2.3服务器架构平台:
1) Lvs+keepalived-1.2.8,2台集群做互联网访问的入口,或用array做入口,对HAPROXY进行负载均衡,中小型网站不需要这一层。
?2)HAPROXY1.4+keepalived-1.2.8+Squid对squid服务器进行负载均衡,haproxy通过主备工作,万一主haproxy有故障,可以自动切换到备用机,提高可用性。
3)?squid+tomcat缓存集群进行负载均衡,Squid对tomcat服务器进行静态页面缓存,应用服务器主要提供静态资源,也可提供动态页面,但不缓存。
4)?Tomcat7服务器进行5台集群。
5) mysql数据库用2主多从,用haproxy对从数据库进行负载均衡。大型项目可用oracle rac 集群。
6) 用3台redis3集群进行数据缓存。
7) 用3台mongodb2.8集群存储图片、文档、视频、音乐等文件。
8) 用1台solr5做搜索服务器。
9) 用4台rocketMQ3集群传递消息,提供消息总线,确保消息不会丢失,可以简化为2台。
10)用1台ngios3.5监控服务器,发生异常时可发邮件和短信。
11)系统采用队列异步处理峰值高的请求,可以有效地处理高并发情况。对于秒杀、摇红包等高并发情况,用有损服务、保证关键任务的思路,可以分步奏处理请求,先简单分析处理,然后把请求放入队列,异步完成队列的任务。对请求数进行判断,如果超过峰值就拒绝请求,防止服务器崩溃。应用功能加以分解并模块化,保证请求的完成,互相不影响。腾讯就是用的这个办法削峰完成摇红包的每秒千万次访问的。
这个架构先进实用,实现了分布式集群,消除了数据库I/O瓶颈,大大提升了性能,而且支持服务器线性扩展,具有极强的伸缩性,适当扩展可以支持7X24每天数百万至数千万的访问量。具体配置可以根据需要灵活处理。在开发程序时要考虑分布式特点。采用淘宝的dubbo可以实现服务的分布式,把具体的服务放在不同的服务器集群上,为web服务器提供服务,效率高,实用性极强。
2.4.架构逻辑设计
2.4.1 KEEPLIVED+HAPROXY+squid集群
用LVS+KEEPLIVED双机通过一个VIP(vitual? IP)对haproxy+keeplived双机进行负载均衡,haproxy对应用服务器集群进行负载均衡调度。请求首先在squid中查询,如果有数
文档评论(0)