文章列表
注意:这里的大型网站架构只包括高互动性高交互性的数据型大型网站,基于大家众所周知的原因,我们就不谈新闻类和一些依靠HTML静态化就可以实现的架构了,我们以高负载高数据交换高数据流动性的网站为例,比如海内,开心网等类似的web2.0系列架构。我们这里不讨论是PHP还是JSP或者.NET环境,我们从架构的方面去看问题,实现语言方面并不是问题,语言的优势在于实现而不是好坏,不论你选择任何语言,架构都是必须要面对的。
文入正题:
首先讨论一下大型网站需要注意和考虑的问题
A. 海量数据的处理。
众所周知,对于一些相对小的站点来说,数据量并不是很大,select和update就可以解决我们 ...
- 2009-01-14 14:28
- 浏览 758
- 评论(0)
1.high performance:同样的配置上尽可能支持更多的连接处理 2.scalable:在一个配置上能很好的处理1000个连接,那么在2倍的配置上就应该很好的处理2000个连接3.不要假设客户端都有很快的处理能力和很好的网络环境:要考滤慢速度连接的问题,如读可能要读多次,写也可能写多次。4.safe:传输安全,访问安全,要防止DOS攻击。5.统一端口:如把http、https等服务统一。 6.待补充...
- 2008-11-06 22:15
- 浏览 682
- 评论(0)
1.NIO最大的变化是把服务端和客户端抽像统一起来,用一个Selector来检测事件。但把服务端与客户端分开来做系统的难度会小些,性能也会高些(因为代码里少了检查是服务端还是客户端的部分)。2.ServerSocketChannel只支持OP_ACCEPT,Socket ...
http://blogs.sun.com/watt/resource/jvm-options-list.html
- 2008-11-06 22:00
- 浏览 1572
- 评论(0)
在数据层我们看到如下特征:
增加一个缓存层以利用可用内存资源并减少I/O开销
从中央数据库方式转向分区方式,也称为shards(注:shards 是google贡献给hibernate的一个项目,目标是通过hibernate在多重数据库上提供一个统一的视图。)
在业务逻辑层:
给应用层增加并行语义(如MapReduce、for...join)
转向向外扩展(scale-out)应用模型以达到线性可伸缩性
远离经典的两阶段提交和XA事务处理(参见:来自Pat Helland的教训:生命超越于分布式事务)
物里层:
1.集群,这是提高Scalability与High A ...
- 2008-10-31 19:57
- 浏览 889
- 评论(0)
最近准备用JAVA开发一个软交换系统(也就是一个SIP服务系统),主要包括以下几个部分:
名称
说明
较交换
呼叫会话管理服务器
HSS
归属用户服务器
SIP代理服务器
SIP Proxy
SIP应用服务器
SIP业务服务器
主要工作量在软交换服务器与HSS服务器上;SIP应用服务器只是搭一个框架,视具体的业务再进行扩展;SIP代理服务器因为没什么业务,工作量较小。
"软交换"技术框架方面准备采用OSGI、SPRING、JAIN。选型原因:
OSGI:插件可热插拔,规范的、可积累的模块,这是最大的好处。
SPRING:与OSGI搭 ...