语言不是可伸缩性的关键,架构才是关键。
J2EE系统架构师参考手册写给技术架构师和那些从事系统设计、领导J2EE应用开发的资深开发者。通过大量的指导性策略、忠告、技巧和最佳实践等,帮助架构师领导从需求分析到项目部署的整个开发过程。
性能(performance)设计非常重要,对于服务器端实时交易系统来说系统性能的重要性不言而喻,对客户端软件来说性能好的软件也会获得良好的用户体验,从而给用户留下高质量软件的良好印象。因此在进行架构设计中性能设计非常重要。 但架构设计实际是一个平衡设计,在可用性、可扩展性、可维护性、可靠性、高性能等之间做个妥协选择。这些非功能性的需求再加上复杂的功能性需求,同时还要考虑到项目管理上tight schedule, low cost, perfect effect的三角难题约束,有时需求还不是很明确,vision不是很清楚,这种情况下系统架构设计真是一门艺术。
大型门户网站站架构心得之一:分。我们知道,对于一个大型网站来说,可伸缩性是非常重要的,怎么样在纵向和横向有良好的可伸缩性,就需要在做架构设计的时候考虑到一个分的原则,我想在多个方面说一下怎么分。
工作原理简介:这个分为两个部分的系列文章将研究ApacheTomcat的系统架构以及其运用的很多经典设计模式。本文是第1部分,将主要从Tomcat如何分发请求、如何处理多用户同时请求,还有它的多级容器是如何协调工作的角度来分析Tomcat的工作原理,这也是一个Web服务器首要解决的关键问题。
之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的、ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上近来感觉有不少同学都很难明白为什么一个网站需要那么复杂的技术,于是有了写这篇文章的想法,在这篇文章中 将阐述一个普通的网站发展成大型网站过程中的一种较为典型的架构演变历程和所需掌握的知识体系,希望能给想从事互联网行业的同学一点初步的概念,:),文中的不对之处也请各位多给点建议,让本文真正起到抛砖引玉的效果。
YouTube 出于开发速度的考虑,大部分代码都是 Python 开发的。Web 服务器有部分是 Apache, 用 FastCGI 模式。对于视频内容则用 Lighttpd 。据我所知,MySpace 也有部分服务器用 Lighttpd ,但量不大。YouTube 是 Lighttpd 最成功的案例。(国内用 Lighttpd 站点不多,豆瓣用的比较舒服。by Fenng)
JBoss是一个免费的开放的J2EE实现。它的架构是基于高标准的模块化和插入式设计。JBoss使用工业标准的JMX来管理, JBoss组件和为EJB提供服务。基于我们以前的开发经验,我们发现了不同的J2EE应用服务器间的存在着巨大的性能和可扩展性差异。我们相信架构的设计是决定类似于性能和可扩展性等质量指标的重要因素。分析和展现JBoss架构模型有助于我们了解其内部行为并帮助我们创建一个精确的最终性能模型。在这个项目中,我们分析JBoss应用服务器架构的四个特殊部分,JBoss EJB 容器、JBossNS、JBossTX以及JBossCMP,逆转工程工具能使我们通过源代码来分解组件/子系统。无论是三个JBoss子系统的概念模型或实际模型都将被我们用来讨论JBoss 架构模块设计风格。
由于自己正在做一个高性能大用户量的论坛程序,对高性能高并发服务器架构比较感兴趣,于是在网上收集了不少这方面的资料和大家分享。
对于面向同步和异步应用的,基于请求/响应模式的分布式计算来说,SOA是一场革命。一个应用程序的业务逻辑(businesslogic)或某些单独的功能被模块化并作为服务呈现给消费者或客户端。这些服务的关键是他们的松耦合特性。例如,服务的接口和实现相独立。应用开发人员或者系统集成者可以通过组合一个或多个服务来构建应用,而无须理解服务的底层实现。举例来说,一个服务可以用。NET或J2EE来实现,而使用该服务的应用程序可以在不同的平台之上,使用的语言也可以不同。