下一代社区的三种处理集群的思想
来源:互联网 发布:淘宝吃老王 幸运大抽奖 编辑:程序博客网 时间:2024/05/23 13:31
昨天跟余毅、李国平、公司几个同事,一起聊天讨论下一代社区集群扩展性的时候,后来我想了一晚上,觉得下一代社区处理集群有三种方式:
首先要明确一点,在小用户量下,也许下面的集群思想,会让程序性能比较差,但是,小用户量下,虽然性能差,用户体验并不差。大数量下,性能好,同时用户体验也不差。我们要追求的是不论大小用户量下,用户体验好,而不是性能最好。
下一代社区,如果发现单台服务器没法再提升性能(费用太高,不可接受)的时候,可以通过下面三种方式,通过增加服务器,改善用户体验。要求不用修改代码,只需要通过配置就可实现:
1、纯技术上的分布式。
利用微软Win的负载均衡,平均分摊WEB层服务器的压力;
利用微软COM+(企业开发)的分布式功能,均摊中间层业务逻辑和缓存;
利用微软数据库的集群思想,均摊数据库服务器的压力;
利用集群概念,提升静态内容服务器的性能,以及分流到不同的服务器。
2、把各个功能模块拆分开,各个功能模块松耦合,实现SOA和AOP的思想。
WEB部分,短消息、斑竹管理、普通论坛这些功能模块可以分别部署到不同的服务器上,每台服务器上完成一个服务。各个服务之间是松耦合的。
中间层同WEB层,也根据功能拆分到不同的应用域中。
数据库上,也根据功能拆分到不同的数据库。
静态内容,也可以根据功能拆分。
3、拆分论坛,每一个论坛都是一个独立的部分。
比如,我们可以把 .net 社区的WEB层、中间层、静态文件层、数据库层都专门是针对 .net 社区的,其他社区的内容不会影响到他们。
我们也可以WEB层,VC和VB是分开的,而中间层VC和VB是并用的,静态文件层和数据库层也是并用的。
通过这样灵活的方式,可以方便的通过增加服务器来提高整个系统的用户体验。
注意,拆分论坛这种方式,可以充分的利用现有旧机器,是扩展性最大的方式。前面两种集群方式,其实他们的扩展性,有一定限制的,无法无限制扩充,而第三种方式,可以无限制扩充。
下一代社区应该支持以上三种方式的集群。不需要修改代码,就可以实现增加机子就改善用户体验。
- 下一代社区的三种处理集群的思想
- 下一代社区的财富
- 下一代社区FAQ的变化。
- 下一代社区短消息的变化
- 下一代社区的可用分机制
- 下一代社区的帖子加分相关机制
- 下一代社区可用分的消费机制
- 下一代社区的用户管理等级
- 下一代社区的用户登录编程模型。
- BBS 设计思路系列 ---- 下一代社区的几个原则
- BBS 设计思路系列 ---- 下一代社区的用户等级
- 下一代社区取消阅读FAQ需要可用分的思路
- 下一代社区需要完善错误处理机制
- ceph存储 "ceph集群浅析三"Ceph的设计思想
- 下一代帖子的精华处理机制
- 下一代社区把高难度问题突出出来的一个做法设想:
- 下一代社区网友获得可用分的方式[再次修改版]
- 三问CSDN社区的产品经理
- 简体中文转换为繁体中文类
- Linux下C语言编程--信号处理函数
- 只有下边框的TextBox
- Life Gossip(1)
- Linux下C语言编程--时间概念
- 下一代社区的三种处理集群的思想
- 记录输入的字母个数(C++ code)
- VB中对象变量或with块变量错误(91号错误)解决方法
- 注意FLASH AS2中的null、undefined、NaN、""
- 企业架构的用户体验跟性能是矛盾的。
- VC/MFC Q&A 200411
- 设计模式学习笔记
- Linux下线程的创建
- ORACLE网络的几个重点概念