- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在前面的几篇文章中,主要谈到了在 Discuz!NT 中的跨站缓存数据,数据库负载均衡。但假设要实现将产品分布式布置到假设干机器,组成集群来共同支撑起整个业务的话,还是有 肯定问题的〔后面会有所介绍〕。下面先介绍一下如何使用 Discuz!NT 负载均衡方案搭建分布式应用。
Discuz!NT 前端负载均衡可以是nginx,lvs,haproxy 等,固然配置最简洁的基于 nginx 实现的,下面是它的一些简介:
Nginx(“engine x“)是俄罗斯人编写的格外轻量级的 效劳器。它不但是一个高性能的 和反向代理效劳器,也是一个 IMAP/POP3/SMTP 代理效劳器。 Nginx 由 Igor Sysoev 为俄罗斯访问量其次的 Rambler.ru 站点开发,已经在该站点运行超过两年半了。Igor 将源代码以类 BSD 许可证的形式公布。
Google 在线安全博客中统计 nginx 效劳或代理了大约全部 Internet 虚拟主机的 4%。而 netcraft 的统计显示,nginx 效劳的主机在过去的一年里以四倍的速度增长。短短的几年里,它的排名已跃进第 9。
Nginx 专为性能优化而开发,性能是其最重要的考量,实现上格外留意效率 。它支持内核 Poll 模型,能经受高负载的考验,有报告说明能支持高达 50,000 个并发连接数。
Nginx 具有很高的稳定性。其它 效劳器,当遇到访问的峰值,或者有人恶意发起慢速连接时,也很可能会导致效劳器物理内存耗尽频繁交换,失去响应,只能重启效劳器。例如当前 Apache 一旦上到 200 个以上进程, web 响应速度就明显格外缓慢了。而 Nginx 实行了分阶段资源安排技术,使得它的 CPU 与内存占用率格外低。 Nginx 官方表示保持10,000 个没有活动的连接,它只占 2.5M 内存,所以类似 DOS 这样的攻击对 nginx 来说根本上是毫无用处的。就稳定性而言, nginx 比
light d 更胜一筹。
Nginx 超越 Apache 的高性能和稳定性,使得国内使用 Nginx 作为 Web 效劳器的网站也越来越多,其中包括浪博客、浪播客、网易闻等门户网站频道,六间房、56 等视频共享网站,水木社区等知名论坛,豆瓣、YUPOO 相册、海内SNS、迅雷在线等兴Web 2.0 网站。
下面这张图简要说明在我们产品中 nginx 的作用:
图中的 就是我们布署的相应 iis 站点应用,信任做过负载均衡的朋友会觉察, 在大型网站架构中,IIS 或其它应用效劳器会有很多〔节点〕,而 nginx 会动态的依据相应权重给不同的节点上安排相应恳求〔有关 nginx 在 window 和 linux 下的配置可参见这篇文章〕
也就是下面这张图所说明的:
这里先抛开对静态文件缓存〔通常使用 squid,以后会进展介绍〕,图中 web 效劳器〔IIS〕会有几个集群,这就需要将产品分布布署到假设干机器上,这样假设某台机器〔节点〕上的文 件发生变化,就需要有一种同步机制来保证不同站点之间的文件全都且是最的。在 discuz!nt 产品中,有一些名目下的文件会频繁发生变化,比方:
在 Discuz!NT 的后台有模板生成机制, 它会将前台的 htm 模板文件〔 位于discuz.web\templates 名目下〕翻译并生成为“aspx”文件,而有关翻译转换这局部内容请参见这篇文章。
前台 discuz.web\config 下的配置文件,该名目下文件存储的是整个论坛的相应配置信息,全部功能的开关都需要进展记录,格外重要,当治理员在后台通过相关页面修改了这些配置文件后,需要第一时间将这些信息同步到其它分布节点上。
这确实是一个挑战,但好在已有相应的软件能帮助我们实现这个根底功能,就是cwRsync,它最早是在 linux 下的一个同步工具,后来有了 Windows 版本,就是 cwRsync, 利用它同时再借助 windows 中的“任务打算”来创立定时任务,就可以实现定时同步功能了,之间在 windows2023 上可以设置分钟级别的同步方式,如下:
而有关如何设置它,可以参考这篇文章。
除了文件同步,还有附件的问题,比方用户在一个节点上发了主题并上传了相关附件,那就会造成只有该节点的名目下有相应附件〔如图片等〕,而别的节点上没有。虽然可以通过上面的同步机制来实现多个节点上同步四周,但这势必会造成存储空间和效劳器性能上的降低,好在我们的产品中供给了远程附件功能,它允许通过 FTP 方式将上传到指定节点上的附件上传到远程的 ftp 效劳器上,同时修改数据库中的附件路径为 FTP 上远程附件的路径,有关这方面的内容,可以参见这篇文章。
除了
文档评论(0)