当前位置:编程学习 > C#/ASP.NET >>

提高大访问量的5层web架构讨论

我们要做一个web的聊天室,由于这个系统要求实时性很好,而我们的用户又是每秒在线最少上千的。那么自然带来性能问题。
为了提高性能,我做如下设计是否合理,大家讨论:

web模块就是纯aspx页面  结合ajax呈现数据和接受数据。第一层

BLL DAL Common3个模块做业务逻辑层 数据访问层和业务对象层  2-3-4层

第5层  就是WCFwervices层  

调用层次是 web调wcf  wcf调bll  bll调DAL层

我设计wcf是每30秒读取/更新1次数据库 host在windows服务里  他会一直运行 永远获取最新的数据  同时由于只有他1个数据库连接保证了性能 wcf获取的数据可以缓存或者是对象形式  

而web层则调用wcf获取的数据  

请问这样是否合理?是否有问题

欢迎大家集思广益!!!!!!!!!

web层的聊天记录等等数据如何更新?我不想一有数据就用web层直接更新。如果用wcf去更新怎么处理? --------------------编程问答-------------------- 没觉得有什么特别的
感觉也不是什么5层
看别人怎么说 --------------------编程问答-------------------- 特别就是以前N次数据库连接变成wcf 1次长连接  读取似乎没问题。  存储怎么搞  ? --------------------编程问答-------------------- 如果同时许多连接 对于IIS的连接池效果明显么? --------------------编程问答-------------------- 关注!!! --------------------编程问答-------------------- WCFservice 怎么就成了第五层了? --------------------编程问答--------------------
从你说的看你的WCF层只是一个定时更新数据库的角色

让我做的话这样划分层次web调调bll  bll调DAL层 
DAL保持一个缓存池,比如说用户发布了一条消息,就以对象形式把它放到dal的缓存中,相当于内存式对象数据库,

WEB直接从缓存里面读取数据,

当过30秒一次性把所有对象存储到数据库,

对于这个不需要连接池,因为只有一个CLIENT使用数据库 --------------------编程问答-------------------- 顶 --------------------编程问答-------------------- 用到wcf很好,这个想发很好,
我决的性能高的话,可以把访问数据的放在一个cache里.效果回更好. --------------------编程问答-------------------- 如此5层... --------------------编程问答-------------------- 顶 --------------------编程问答-------------------- 就是三层架构。把业务层扩展了! --------------------编程问答-------------------- 怎么样面对很频繁的数据库访问? --------------------编程问答-------------------- 顶 --------------------编程问答-------------------- 顶 --------------------编程问答-------------------- 关注 --------------------编程问答-------------------- 你的问题提得太模糊。 --------------------编程问答--------------------
引用 12 楼 hm12345678 的回复:
怎么样面对很频繁的数据库访问?


你这样设计又怎么会频繁访问数据库呢? --------------------编程问答-------------------- 关注一下 --------------------编程问答-------------------- 如果使用Nhibernate,应该对你的数据访问层的性能会有提升。 --------------------编程问答-------------------- 我们要做一个web的聊天室,由于这个系统要求实时性很好,而我们的用户又是每秒在线最少上千的。那么自然带来性能问题。 
为了提高性能,我做如下设计是否合理,大家讨论: 

---------------------------------------------------------------------------------

 利用缓存机制减少对数据库的访问应该好点,主意定时清空缓存,感觉一个聊天室功能就要用WCF有点不必要
 
  --------------------编程问答-------------------- 不懂的还楞装懂,还什么五层!!!恶心 --------------------编程问答-------------------- 5层...... --------------------编程问答--------------------
引用 11 楼 maco_wang 的回复:
就是三层架构。把业务层扩展了!
--------------------编程问答-------------------- 什么是5层?? --------------------编程问答-------------------- 关注 --------------------编程问答-------------------- 是不是多了这两个层呢 wcf  、  bll
我怎么不明白
可能我没有见过德原因吧
呵呵


关注!!  
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,