`

高并发web框架基本设计思路

阅读更多
高并发web框架基本设计思路 1、提供HTML静态访问


      web界面上最快的访问速度是什么?当然是最原始的HTML文件访问,对于其他语言 比如 jsp ,asp,php等等,他们首先要通过服务器解析成html之后在返回给访问者,如果我们能提供全部是htm来的页面,那么就能大大的降低服务器和数据库资源的利用和提高网站的并发,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。当然实现这种方式大家比较了解的就是信息发布系统CMS,信息发布系统可以实现最简单的信息录入自动生成静态页面,还能具备频道管理、权限管理、自动抓取等功能,对于一个大型网站来说,拥有一套高效、可管理的CMS是必不可少的。
在后续的文章中我们会单独的使用jsp + servlet实现一个简单的信息发布系统.
2、使用独立的图片服务器


为什么要把图片单独设置一个服务器?对于Web服务器来说,图片消耗的服务器资源是最多的,如果能把所有的图片资源放到一个单独的图片服务器中进行处理的话,可以降低提供页面访问请求的服务器系统压力,从而能进一步的提高web程序的并发.所以在有条件的情况下最好能把图片放置到一个单独的服务器中.
3、配置多台数据库服务器,多个数据库集群

       集群(Cluster)技术是使用特定的连接方式,将价格相对较低的硬件设备结合起来,同时也能提供高性能相当的任务处理能力。
越是大型高并发的应用,数据库的压力就会越大,如果数据库操作很频繁,数据库的瓶颈很快就能显现出来,这时一台数据库将很快无法满足应用,于是我们需要使用数据库集群。
数据库集群就是使用多个数据库服务器分担请求的压力,达到快速响应的目的.

4、使用缓存

        所谓的缓存就是把数据咱是放置到内存中,前台在请求的时候直接从内存中读取数据,而不需要去查询数据库或者读取文件等,这样就能做到最快的响应。网站架构和网站开发中的缓存是非常重要的。

目前有很多开源的缓冲实现方案,APC,File,SQLite,Memcache等等各种类库实现着不同的缓存方式,只有通过了解他们的实现方式,根据具体应用具体选择,才会使缓存系统发挥出最大的性能。

对于java开发来说,大名顶顶的 分布式缓存系统Memcache 可能是最好的选择,他提供一个基于Socket的访问方式,使得该缓存系统支持远程读写访问。尽管这个缓存的内容可能是存在内存中,也可能是存在文件内。

在后续的文章中,我们会专门对memChche分布式缓存系统进行讲解

注:文章系本人原创:发布于  java进阶网http://www.javady.com/index.php/11.html

分享到:
评论

相关推荐

    高并发Web架构实现思路——java版

    ### 高并发Web架构实现思路——Java版 #### 一、引言 随着互联网的快速发展,Web应用系统面临着巨大的挑战,尤其是如何处理高并发、海量数据的情况。传统的Web架构已经无法满足当前的需求,这就需要我们探索新的...

    java 高并发解决 思路

    本文将基于"java 高并发解决思路"这一主题,深入探讨相关知识点,并结合"高并发web架构.pdf"文档中的实例进行阐述。 1. **线程与并发基础** - **线程**:Java中的并发是通过线程实现的,每个线程代表程序的一个...

    Go-Faygo使用全新架构是最合适开发API接口的GoWeb框架

    首先,Faygo采用全新的架构设计,这种设计思路使得它在处理API接口时具有很高的效率。传统的Web框架可能需要开发者手动处理HTTP请求和响应,而Faygo通过自动绑定和验证请求参数,大大简化了这一过程。它允许开发者...

    本科毕业设计,基于netty 的web服务器以及基本开发框架.zip

    Netty是一个高性能、异步事件驱动的网络应用框架,常用于开发高效的服务器端应用,尤其在处理高并发I/O操作时表现出色。 一、Netty简介 Netty是由JBOSS组织开发的Java开源框架,它简化了网络编程,特别是TCP和UDP...

    asp.net通过消息队列处理高并发请求(以抢小米手机为例)

    因此,在设计高并发处理方案时,需要在性能和用户体验之间做出平衡。 10. 面向对象编程的概念:在示例代码中使用了面向对象编程的概念,比如对象锁(object_lock)来同步访问共享资源。这是保证在多线程环境下数据...

    web课程设计

    课程设计报告可能包含项目的具体实现和设计思路,项目评分细则会列出评估标准,成绩评定表用于记录和评估学生的表现,参考资料可能包括学习资料、示例代码等,帮助学生深入理解和实践这些Web开发技术。

    基于SpringBoot高并发商城秒杀系统项目.zip

    【SpringBoot高并发商城秒杀系统项目】是一个基于SpringBoot框架构建的电子商务系统,它特别设计用于处理高并发场景下的秒杀活动。SpringBoot以其快速开发、内置服务器和自动配置的特点,使得构建这样的系统变得更加...

    类似于163邮箱框架

    163邮箱框架作为业界知名的案例,其设计思路和实现细节对其他大型Web应用的开发有着重要的参考价值。通过理解和学习这样的框架,开发者可以借鉴其优秀实践,构建出更高效、安全、稳定的互联网产品。

    Seven Web Frameworks in Seven Weeks

    - **一个Erlang框架**:Erlang以其高并发性和容错性而闻名,通过这个框架,读者可以了解到Erlang如何被用于构建可伸缩且健壮的Web服务。 #### 四、核心知识点详解 - **设计哲学**:每个框架的设计哲学是其灵魂所在...

    基于SSM框架实现的高并发商品秒杀系统, c3p0作为连接池,Redis为缓存实现高并发 +源代码+文档说明

    ## 项目设计思路### 1. 数据库设计* product: 存放商品信息,包含商品ID,库存,秒杀相关的时间* order: 存放订单信息,由于没有做登录模块,所以从cookie中读取用户手机,手机+商品ID为订单的主键### 2. DAO层设计* 整合...

    网易游戏高性能、分布式服务器开发框架 Pomelo.zip

    高并发、高实时的游戏服务器的开发是很复杂的工作。跟web应用一样, 一个好的开源容器或开发框架可以大大减少游戏开发的复杂性,让开发变得更加容易。遗憾的是目前在游戏服务器开发领域一直没有太好的开源解决方案。...

    PHP秒杀系统 高并发高性能的极致挑战 从万次到亿万次的性能优化,从单机到分布式的架构升级

    本课由360架构师亲授,以360真实秒杀系统为切入点, 从秒杀的功能入手,分层递进讲解,逐步让大家掌握系统的设计、架构以及优化,从容应对百万级、过亿级的秒杀活动及其它海量访问的互联网系统。1. Linux / Nginx / ...

    基于Java Web的智慧医疗问诊系统设计与实现.pdf

    这些特点使得B/S架构非常适合用于部署需要高并发访问的智慧医疗系统。 系统的主要功能模块包括用户登录、业务管理、系统设置等。用户登录模块允许医院工作人员通过输入用户名和密码访问系统,保护了系统安全。业务...

    Bukdu.jl:Bukdu:milky_way:是Julia的Web开发框架

    它的设计思路清晰,易于学习,且功能强大。无论你是初涉Web开发还是寻求一个新的高性能框架,Bukdu.jl都值得你深入研究。通过Bukdu.jl,你可以利用Julia的强大性能和易用性,创造出令人印象深刻的Web应用程序。

    基于SSM框架的游戏论坛系统

    【SSM框架详解】 SSM框架是Java Web开发中常用的一种整合框架,由Spring、Spring MVC和MyBatis三个开源框架组成。...其内部结构和设计思路,对于学习Java Web开发以及理解SSM框架的实践应用具有很高的参考价值。

    pworks框架

    Pworks框架虽然可能不那么为人所知,但它提供的高效开发工具和灵活的设计思路,对于那些寻求独特解决方案的开发者来说,无疑是一片未被充分挖掘的宝藏。通过深入理解和熟练运用Pworks,开发者不仅可以提升开发效率,...

    新闻发布系统设计思路(Action)

    【新闻发布系统设计思路】主要涉及的是使用Action框架来构建一个高效、可扩展的新闻发布平台。在Web开发领域,Action通常指的是MVC(Model-View-Controller)架构中的Controller层,如Struts2或Spring MVC中的Action...

    Kraken第一个也是唯一一个容错分布式应用的PHP框架

    **Kraken PHP框架:构建容错分布式应用的创新解决方案** Kraken PHP框架是业界首个...其独特的设计思路和强大的功能集使得开发过程更加高效,同时也保障了应用的稳定性和可靠性,是构建大型、复杂Web应用的理想选择。

    LAMP人基于nodejs的云端一体实时基础设施设计思路.pptx

    在现代的IT行业中,...综上所述,LAMP人基于Node.js的实时基础设施设计思路是一个综合了实时性、云与端融合、高效连接和数据驱动的现代Web开发模式,旨在提供更灵活、高性能的解决方案,以满足快速变化的市场需求。

Global site tag (gtag.js) - Google Analytics