企亿推信息网
专注网络推广服务

大型网站建需要注意哪些?

小型网站,例如个人网站,可以通过使用简单的HTML静态页面来实现。用一些图片来达到美化的效果,所有的页面都存储在一个目录中。这些网站对系统架构和性能有着简单的要求。

但对于大型网站来说,所使用的技术非常广泛,从硬件到软件,编程语言、数据库、web服务器、防火墙等领域都有很高的要求,这是无法与原来简单的HTML静态网站相比的。大型网站面临的高负载、高并发问题是无法解决的。本文从低成本、高性能、高扩展性的角度介绍了一些经验。

一、有一个有效和可管理的CMS

对于内容量大、更新频繁的网站,我们无法全部手工实现一一更新,于是出现了我们共同的信息发布系统CMS。除了门户网站和信息发布类网站,对于交互性要求较高的社区类网站来说,静态也是提高性能的必要手段。这也是大量的策略,使帖子和文章在社区中实时静态,然后在有更新时重新静态。这种策略在mop、网易社区等大杂烩中的运用也是如此。

同时,HTML静态也是使用一些缓存策略的一种手段。对于系统中经常使用数据库查询而很少更新内容的应用,可以考虑采用HTML静态实现。

众所周知,对于web服务器,无论是Apache、IIS还是其他容器,图片都是消耗资源的,因此有必要将图片与页面分开。这基本上是大型网站将采取的策略。它们都有独立的图片服务器,甚至有许多图片服务器。这种架构可以减轻服务器系统提供页面访问请求的压力,提高服务器的稳定性,并确保系统不会因映像问题而崩溃。在应用服务器和镜像服务器上,可以进行不同的配置优化,比如Apache在配置内容类型时可以尽量少支持,加载模块尽量少,以保证更高的系统消耗和执行效率。

大型网站有复杂的应用程序。这些应用程序必须使用数据库。面对大量的访问,数据库的瓶颈将很快出现。此时,一个数据库将无法快速满足应用程序的需求,因此需要使用数据库集群或数据库表散列。在数据库集群方面,许多数据库都有自己的解决方案,如Oracle和Sybase。MySQL提供的master/slave也是一个类似的解决方案。具体使用哪种数据库,请参考相应的实现方案。

上述数据库集群在体系结构、成本和可扩展性等方面会受到数据库类型的限制,需要从应用程序的角度考虑对系统体系结构进行改进。数据库表哈希是常用和有效的解决方案。我们在应用程序中安装业务和应用程序或功能模块来分离数据库

不同的模块对应不同的数据库或表,然后根据用户ID,按照一定的策略,如用户表,以较小的方式散列一个页面或函数,从而以较低的成本提高系统的性能,具有良好的扩展性。搜狐论坛采用这种结构,将论坛的用户、设置、帖子等信息从数据库中分离出来,然后根据板块和ID对数据库和帖子、用户表进行哈希处理。在配置文件中简单的配置可以使系统增加一个低成本的数据库来补充系统性能。

两种基本的缓存类型。对于体系结构的缓存,熟悉Apache的人可以知道Apache提供了自己的缓存模块,也可以使用附加的squid模块进行缓存,这两个模块都可以有效地提高Apache的访问响应能力。

大型网站建需要注意哪些?
(图1)

对于网站程序开发的缓存,Linux上提供的memorycache是一个通用的缓存接口,可以用于web开发。例如,在Java中开发时,可以调用memorycache来缓存和共享一些数据。一些大型社区使用这种架构。另外,在使用web语言进行开发时,各种语言基本上都有自己的缓存模块和方法。PHP有pear的缓存模块,而Java则更多。网络不是很熟悉,我相信是的。

图像是提高大型网站性能和数据安全性的一种手段。图像技术可以解决不同网络接入商和地区带来的用户接入速度差异。例如,Chinanet和EduNet的差异促使许多网站在教育网络中建立形象网站,数据可以定期或实时更新。关于图像技术的细节,我在这里就不多说了。有许多现成的专业解决方案体系结构和产品可供选择。还有一种廉价的方法可以通过软件来实现,比如Linux上的Rsync。

负载均衡将是大型网站解决高负载访问和大量并发请求的终解决方案

随着负载均衡技术多年的发展,有许多专业的服务提供商和产品可供选择。我个人遇到了一些解决方案,包括两个架构供您参考。

硬件层4交换机层4交换机利用层3和层4分组的报头信息,根据应用间隔识别业务流,并将整个间隔段的业务流分配给相应的应用服务器进行处理。第四层交换功能类似于虚拟IP,指向物理服务器。它传输的服务受制于各种协议,包括HTTP、FTP、NFS、telnet或其他协议。这些服务需要基于物理服务器的复杂负载平衡算法。在IP**中,服务类型由终端TCP或UDP端口地址决定,第四层交换中的应用范围由源和终端IP地址、TCP和UDP端口决定。

未经允许不得转载:启新网站SEO优化 » 大型网站建需要注意哪些?
分享到: 更多 (0)
加载中~