提高大访问量的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层... --------------------编程问答-------------------- 顶 --------------------编程问答-------------------- 就是三层架构。把业务层扩展了! --------------------编程问答-------------------- 怎么样面对很频繁的数据库访问? --------------------编程问答-------------------- 顶 --------------------编程问答-------------------- 顶 --------------------编程问答-------------------- 关注 --------------------编程问答-------------------- 你的问题提得太模糊。 --------------------编程问答--------------------
你这样设计又怎么会频繁访问数据库呢? --------------------编程问答-------------------- 关注一下 --------------------编程问答-------------------- 如果使用Nhibernate,应该对你的数据访问层的性能会有提升。 --------------------编程问答-------------------- 我们要做一个web的聊天室,由于这个系统要求实时性很好,而我们的用户又是每秒在线最少上千的。那么自然带来性能问题。
为了提高性能,我做如下设计是否合理,大家讨论:
---------------------------------------------------------------------------------
利用缓存机制减少对数据库的访问应该好点,主意定时清空缓存,感觉一个聊天室功能就要用WCF有点不必要
--------------------编程问答-------------------- 不懂的还楞装懂,还什么五层!!!恶心 --------------------编程问答-------------------- 5层...... --------------------编程问答-------------------- --------------------编程问答-------------------- 什么是5层?? --------------------编程问答-------------------- 关注 --------------------编程问答-------------------- 是不是多了这两个层呢 wcf 、 bll
我怎么不明白
可能我没有见过德原因吧
呵呵
关注!!
补充:.NET技术 , ASP.NET