构建高性能J2EE应用的5种策略

原创 2004年09月19日 20:48:00
 好的开始是成功的一半。对于J2EE同样如此,我们知道当开发应用时,在架构设计阶段的决定将对应用的性能和可扩展性产生深远的影响。

现在当开发一个应用项目时,我们越来越多地注意到了性能和可扩展性的问题。应用性能的问题比应用功能的不丰富问题往往更为严重,前者会影响到所有用户,而后者只会影响到碰巧使用该功能的那些用户。

作为应用系统的负责人,一直被要求"要少花钱多办事"----用更少的硬件,更少的网络带宽,以及更短的时间完成更多的任务。J2EE通过提供组件方式和通用的中间件服务是目前首选的最优方式。而要能够构建一个具有高性能和可扩展性的J2EE应用,需要遵循一些基本的架构策略。

缓存(Caching):

简单地说,缓存中存放着频繁访问的数据,在应用的整个生命周期中,这些数据存放在持久性存储器或存放在内存中。在实际环境中,典型的现象是在分布式系统中每个JVM中有一个缓存的实例或者在多个JVM中有一个缓存的实例。

缓存数据是通过避免访问持久性存储器来提高性能的,否则会导致过多的磁盘访问和过于频繁网络数据传输。

复制:

复制是通过在多台物理机器上创建指定应用服务的多个拷贝来获得整体更大吞吐效率。理论上看,如果一个服务被复制成两个服务,那么系统将可处理两倍的请求。

复制是通过单一服务的多个实例的方式从而减少每个服务的负载来提高性能的。

并行处理

并行处理将一个任务分解为更为简单的子任务,并能够同时在不同的线程中执行。

并行处理是通过利用J2EE层执行模式的多线程和多CPU特点来提高性能。与使用一个线程或CPU处理任务相比,以并行方式处理多个子任务可以使操作系统在多个线程或处理器中进行分配这些子任务。

异步处理

应用功能通常被设计为同步或串行方式。异步处理只处理那些非常重要的任务部分,然后将控制立即返回给调用者,其他任务部分将在稍后执行。

异步处理是通过缩短那些在将控制返回给用户之前必须处理的时间来提高性能的。虽然都做同样多的事情,但是用户不必等到整个过程完成就可以继续发出请求了。

资源池

资源池技术使用的是一套准备好的资源。与在请求和资源之间维持1:1的关系的不同,这些资源可被所有请求所共享。

资源池的使用是有条件的,需要衡量下面两种方式的代价:
A,维持一套可被所有请求共享资源的代价
B,为每个请求都重新创建一个资源的代价

当前者小于后者时,使用资源池才是有效率的。 

构建高性能J2EE应用的五种核心策略

在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,更多Java学习,请登陆疯狂java培训官网。   对于J2EE,我们知道当开发应...
  • u010619705
  • u010619705
  • 2013年07月13日 17:40
  • 363

Mysql之高性能的索引策略

聚簇索引(Clustered Indexes) 聚簇索引保证关键字的值相近的元组存储的物理位置也相同(所以字符串类型不宜建立聚簇索引,特别是随机字符串,会使得系统进行大量的移动操作),且一个表只能有...
  • lmy_1
  • lmy_1
  • 2016年11月02日 09:19
  • 505

Nginx负载均衡策略

网上相关的资料千千万,谨以此来记录自己曾经负责过的项目。Nginx负载均衡主要有5种策略来选择,都有各自的优缺点。1. 轮询upstream web_server { server local...
  • luzhyi
  • luzhyi
  • 2017年12月09日 16:12
  • 40

j2ee项目自动化构建工具_maven(一)

java项目管理工具,个人经历的技术发展三个阶段。ant+ivy、maven、gradle。目前项目中一直在使用第一种技术来实现,作为技术人员要善于学习新技术,技术没有好坏,只有适合最佳。maven目...
  • geyouchao
  • geyouchao
  • 2016年04月02日 15:11
  • 1404

构建高性能J2EE应用的10个技巧

构建高性能的J2EE应用不但需要了解常用的实施技巧。下面介绍最常用的10种有效方法,可帮助架构设计师们快速成为这方面的专家。     Java性能的基础----内存管理     任何Java应用...
  • husheng8891
  • husheng8891
  • 2013年10月11日 16:53
  • 646

去哪儿的用户画像构建策略及应用实践

我们做用户画像的目的有两个: 必须从业务场景出发,解决实际的业务问题,之所以进行用户画像要么是获取新用户,或者是提升用户体验,或者是挽回流失用户等有明确的业务目标 。 根据用户画像的信息做产品设计,必...
  • NIeson2012
  • NIeson2012
  • 2017年05月05日 09:17
  • 1461

J2EE 企业级应用架构简述

企业应用的特点 多环境多系统的交互海量数据、高并发、高TPS安全等级高自动化集群管理 架构的原则 CAP原则(一致性、可用性、分区容错性)复杂的事情简单化 ...
  • zwx19921215
  • zwx19921215
  • 2017年03月12日 20:12
  • 689

高性能iOS应用开发-内存管理

iOS设备中某个应用内存使用超过单个进程上的限制,会被系统终止使用。 内存问题常出现在重复的内存释放和循环引用的情况。 内存消耗内存消耗指的是应用消耗的RAM。iOS的虚拟内存模型并不包含交换内...
  • Liar0606
  • Liar0606
  • 2017年04月04日 20:38
  • 1021

高并发、高性能 Web 架构

典型 Web App 架构 以下是一个典型的高负载 web 应用示例: 上图展示了一个典型的,三层架构的高性能 Web 应用。这种成熟的架构多年以来已被广泛部署于包括 Go...
  • qq_26562641
  • qq_26562641
  • 2017年02月28日 14:59
  • 385

【J2EE】企业级项目开发总结--JMS基础篇

前面回顾到EJB,说了SessionBean和EntityBean还没提到MessageDrivenBean,我们先了解JMS以后再来谈MessageDrivenBean.下面来看学习和使用JMS必须...
  • zhuanzhe117
  • zhuanzhe117
  • 2015年09月23日 11:16
  • 1972
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:构建高性能J2EE应用的5种策略
举报原因:
原因补充:

(最多只允许输入30个字)