- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JAVA WEB高并发解决方案
java处理高并发高负载类网站中数据库的设计方法(java教程,java处理大量数据,java高负载数据)?一:高并发高负载类网站关注点之数据库?没错,首先是数据库,这是大多数应用所面临的首个SPOF。尤其是Web2.0的应用,数据库的响应是首先要解决的。一般来说MySQL是最常用的,可能最初是一个mysql主机,当数据增加到100万以上,那么,MySQL的效能急剧下降。常用的优化措施是M-S(主-从)方式进行同步复制,将查询和操作和分别在不同的服务器上进行操作。我推荐的是M-M-Slaves方式,2个主Mysql,多个Slaves,需要注意的是,虽然有2个Master,但是同时只有1个是Active,我们可以在一定时候切换。之所以用2个M,是保证M不会又成为系统的SPOF。?Slaves可以进一步负载均衡,可以结合LVS,从而将select操作适当的平衡到不同的slaves上。?以上架构可以抗衡到一定量的负载,但是随着用户进一步增加,你的用户表数据超过1千万,这时那个M变成了SPOF。你不能任意扩充Slaves,否则复制同步的开销将直线上升,怎么办?我的方法是表分区,从业务层面上进行分区。最简单的,以用户数据为例。根据一定的切分方式,比如id,切分到不同的数据库集群去。?全局数据库用于meta数据的查询。缺点是每次查询,会增加一次,比如你要查一个用户nightsailer,你首先要到全局数据库群找到nightsailer对应的cluster id,然后再到指定的cluster找到nightsailer的实际数据。?每个cluster可以用m-m方式,或者m-m-slaves方式。这是一个可以扩展的结构,随着负载的增加,你可以简单的增加新的mysql cluster进去。?需要注意的是:?1、禁用全部auto_increment的字段?2、id需要采用通用的算法集中分配?3、要具有比较好的方法来监控mysql主机的负载和服务的运行状态。如果你有30台以上的mysql数据库在跑就明白我的意思了。?4、不要使用持久性链接(不要用pconnect),相反,使用sqlrelay这种第三方的数据库链接池,或者干脆自己做,因为php4中mysql的链接池经常出问题。?二:高并发高负载网站的系统架构之HTML静态化?其实大家都知道,效率最高、消耗最小的就是纯静态化 /shtml/201207/776.shtml的html页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。但是对于大量内容并且频繁更新的网站,我们无法全部手动去挨个实现,于是出现了我们常见的信息发布系统CMS,像我们常访问的各个门户站点的新闻频道,甚至他们的其他频道,都是通过信息发布系统来管理和实现的,信息发布系统可以实现最简单的信息录入自动生成静态页面,还能具备频道管理、权限管理、自动抓取等功能,对于一个大型网站来说,拥有一套高效、可管理的CMS是必不可少的。? ? 除了门户和信息发布类型的网站,对于交互性要求很高的社区类型网站来说,尽可能的静态化也是提高性能的必要手段,将社区内的帖子、文章进行实时的静态化,有更新的时候再重新静态化也是大量使用的策略,像Mop的大杂烩就是使用了这样的策略,网易社区等也是如此。? ? 同时,html静态化也是某些缓存策略使用的手段,对于系统中频繁使用数据库查询但是内容更新很小的应用,可以考虑使用html静态化来实现,比如论坛中论坛的公用设置信息,这些信息目前的主流论坛都可以进行后台管理并且存储再数据库中,这些信息其实大量被前台程序调用,但是更新频率很小,可以考虑将这部分内容进行后台更新的时候进行静态化,这样避免了大量的数据库访问请求高并发。? ?网站HTML静态化解决方案?当一个Servlet资源请求到达WEB服务器之后我们会填充指定的JSP页面来响应请求:?HTTP请求Web服务器Servlet--业务逻辑处理--访问数据--填充JSP--响应请求?HTML静态化之后:?HTTP请求Web服务器Servlet--HTML--响应请求?静态访求如下?Servlet:?public void doGet(HttpServletRequest request, HttpServletResponse response)???????? throws ServletException, IOException {???? if(request.getParameter(chapterId) != null){???????? String chapterFileName = bookChapterRead_+request.getParameter(chapterId)+.html;??????
您可能关注的文档
- FIREBIRD雷帕霉素洗脱支架_省略_结果观察_单中心_大规模注册研究_窦克非.pdf
- GRACE评分评价急性冠脉综合症_省略_者冠状动脉病变特点的临床应用研究_沈杨.pdf
- D3-1_乳腺癌靶区勾画.pdf
- IAP和ACS定义和病理生理.pdf
- IgA肾病牛津病理分型方法与Lee分级方法的比较及其临床病理研究_冼丽英.pdf
- IgA肾病牛津病理分类方法与Lee分级法的临床适用性比较_黄兰.pdf
- IgG4相关病变_一种新的综合征_章士正.pdf
- LivingLibrary对大学图书馆服务创新的启示.pdf
- Living_Library_图书馆读者服务的另一扇窗.pdf
- KDIGO指南解读-成人微小病变和特发性局灶节段性肾小球硬化治疗.pdf
- 开放式创新视角下企业自主创新能力提升路径研究——来自柳工的探索性单案例分析.pdf
- 上市医药企业社会责任信息披露质量评价研究.pdf
- 生态系统向心力与离心力的演变——基于小米生态链的纵向案例研究.pdf
- “专精特新”企业如何突破专业化“锁定”困境?——创新搜寻视角下的多案例研究.pdf
- 哈佛分析框架下凤凰传媒并购绩效分析.pdf
- 股权质押背景下股份回购动机及经济后果研究——以金发科技股份有限公司为例.pdf
- 2025有AI生活节DeepSeek科技市集(热AI无界主题)活动策划方案-50P.pdf
- 2025天使在人间 爱永不止步医院社区512护士节活动策划案-42P.pdf
- 2024广和楼文商旅综合体运营策划方案-53P.pdf
- 2024年某市某职校数字化转型实施方案.pdf
文档评论(0)