java处理高并发的几种方法,java高并发解决方案

  java处理高并发的几种方法,java高并发解决方案

  如何解决写爬虫IP受阻的问题?立即使用。

  java解决高并发的方法:

  1、HTML静态化

  其实大家都知道,最高效最便宜的html页面就是静态HTML页面,所以我们尽量让自己网站上的页面都采用静态页面。这个最简单的方法其实是最有效的。

  而对于内容量大、更新频繁的网站,我们无法全部手动实现,于是我们常见的信息发布系统CMS就出现了。比如我们经常访问的各种门户网站的新闻频道,甚至他们的其他频道,都是通过信息发布系统来管理和实现的。该信息发布系统可以实现最简单的信息输入,自动生成静态页面,还具有频道管理、权限管理、自动抓取等功能。对于一个大型网站来说,它有一套高效快捷的。

  除了门户网站和信息发布网站之外,对于交互性要求较高的社区网站,也要尽量做到静态,以提高性能。将社区中的帖子和文章实时静态化,然后在有更新时再次静态化,这也是一种广泛使用的策略。像猫扑这样的大杂烩用的就是这样的策略,网易社区也是如此。

  同时,html静态化也是一些缓存策略使用的手段。对于系统中频繁使用数据库查询,但内容很少更新的应用,可以考虑使用html statization。比如论坛中论坛的公共设置信息,在目前主流的论坛中,都可以进行后台管理,存储在数据库中。其实这些信息有大量是被前台程序调用的,但是更新频率很小,可以考虑在后台静态更新这部分内容,从而避免大量的数据库访问请求。

  2、图片服务器分离

  众所周知,对于Web服务器来说,无论是Apache、IIS还是其他容器,图片都是最消耗资源的,所以我们有必要将图片和页面分开,这基本上是大型网站采用的策略。都有独立的镜像服务器,甚至很多镜像服务器。

  这种架构可以减轻提供页面访问请求的服务器系统的压力,保证系统不会因为镜像问题而崩溃。可以在应用服务器和映像服务器上进行不同的配置优化。比如apache在配置ContentType时可以尽量少支持,LoadModule尽量少支持,以保证更高的系统消耗和执行效率。

  3、数据库集群和库表散列

  大型网站有复杂的应用,这些应用必须使用数据库。那么,面对大量的访问,数据库的瓶颈很快就会显露出来,然后一个数据库很快就会无法满足应用,所以我们需要使用数据库集群或者数据库表哈希。

  在数据库集群方面,很多数据库都有自己的解决方案,比如Oracle、Sybase等。而常用的MySQL提供的主/从也是类似的解决方案。你用什么样的DB,参照对应的方案实现就行了。

  4、缓存

  “缓存”这个词,所有技术人都用过,很多地方都在用。网站架构和网站开发中的缓存也很重要。这里是两个基本的缓存。和高级分布式缓存将在后面描述。

  架构缓存。熟悉Apache的人都知道,Apache提供了自己的缓存模块,也可以使用额外的Squid模块进行缓存。这两种方法都可以有效提高Apache的访问响应能力。

  网站开发中的缓存。Linux上提供的MemoryCache是一个通用的缓存接口,可以用在web开发中。比如用Java开发的时候,可以调用内存缓存来缓存和共享一些数据,一些大型社区就使用这种架构。

  另外,使用web语言开发时,基本上所有语言都有自己的缓存模块和方法。PHP有Pear的缓存模块,Java就更多了。net不是很熟悉,所以我相信一定是。

  5、镜像

  镜像是提高大型网站性能和数据安全性的常用方法。镜像技术可以解决不同网络接入提供商和地区造成的用户访问速度的差异。比如ChinaNet和EduNet的区别,促使很多网站在教育网建立镜像站点,数据可以定期更新,也可以实时更新。至于镜像技术的细节,这里就不做太深入的阐述了。有很多专业的现成解决方案架构和产品可供选择。还有软件实现的廉价想法,比如Linux上的rsync之类的工具。

  6、负载均衡

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

  负载均衡技术已经发展了很多年,有很多专业的服务提供商和产品可供选择。我个人接触过一些解决方案,其中有两个架构可以供你参考。

  1)硬件四层交换

  第四层交换使用第三层和第四层数据包的报头信息,根据应用间隔识别业务流,并将整个间隔的业务流分发到适当的应用服务器进行处理。第四层交换功能就像虚拟IP,指向物理服务器。它传输的服务服从各种协议,例如HTTP、FTP、NFS、Telnet或其他协议。这些服务基于物理服务器,需要复杂的负载平衡算法。在IP世界中,业务类型由终端的TCP或UDP端口地址决定,而第四层交换中的应用间隔由源和终端的IP地址、TCP和UDP端口决定。

  在硬件四层交换产品领域,有一些知名的产品可供选择,如Alteon、F5等。这些产品非常昂贵,但它们物有所值,可以提供出色的性能和灵活的管理能力。雅虎在中国的近2000台服务器用了三四台Alteon。

  2)软件四层交换

  在大家了解了硬件四层交换机的原理之后,基于OSI模型的软件四层交换机应运而生。这种方案的原理是一样的,只是性能稍差。但是,很容易遇到一定的压力。有人说软件实现其实更灵活,处理能力完全取决于你对配置的熟悉程度。

  我们可以用Linux上常用的LVS来解决软件四层交换。LVS是Linux虚拟服务器。它提供了基于心跳的实时灾难响应解决方案,提高了系统的健壮性,同时提供了灵活的虚拟VIP配置和管理功能,可以同时满足多种应用需求,这对于分布式系统来说是必不可少的。

  即java解决高并发的几种方法是什么?更多详情请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: