This topic has been archived. It cannot be replied.
-
工作学习 / 学科技术讨论 / ASP.NET WEB应用 结构设计问题:1. 到底有没有必要HEAVY OOD? 我的观点是用一个BASE PAGE 让其他PAGE来继承就行了.(MASTER 也可以). 其他PAGES就FOCUS ON BIZ LOGICS.
2. 到底有没有必要去掉MSMQ, 直接用.NET PAGE 联系DB来处理TRANS? 我不是很清楚这个问题.
-whereismyid(到处找ID);
2010-7-8
{211}
(#6166628@0)
-
这个我想学。什么是HEAVY OOD啊?Web里怎么用MSMQ?
-coolmao(酷猫*Zensunni);
2010-7-8
(#6167554@0)
-
我是不喜欢CLASS套CLASS套CLASS套CLASS... 没完没了(HEAVY OOD); 有个BASE PAGE在加上DATA ACCESS CLASS对WEB APP就够了; 至于MSMQ在WEB APP中, 很多象FUTURE SHOP, BEST BUY... 就是用MSMQ+WEB SERVER 来处理大量ORDERS; 象DELL,INDIGO(CHAPTERS) ..ETC 应该是用MS COMMERCE SERVER. 里面用PIPE LINE 加COM+ (实际是和MSMQ一类的东西).
我是想问: 如果没有太大量的ORDER 处理(象BOXING DAY的FUTURESHOP), 但是也有一定的ORDER(比如:每天500 个ORDERS), 可不可以不用MSMQ?
-whereismyid(到处找ID);
2010-7-9
{229}
(#6167819@0)
-
使用COM+加上MSMQ可以提高应用的健壮性和可扩展性。COM+本身就已经很强悍,可扩展性很强,加上MSMQ可以在不增加处理能力的前提下提高WEB服务器的吞吐量。不过每天500个交易的话有可能ASP+ACCESS就可以搞定。
-liquid(豆泡松果 之 松果豆泡);
2010-7-9
(#6167895@0)
-
谢谢你的回答. 我用ASP.NET(3.5)+SQL SERVER 2008. 举一个极端的例子: 假设有100个ORDERS同时到达; MSMQ中会排队依次处理; 但如不用MSMQ, ASP.NET 或DB CONNECTION会不会丢失ORDERS?
-whereismyid(到处找ID);
2010-7-9
(#6167921@0)
-
如果处理能力达到极限导致处理时间超出了交易允许的timeout,那么订单就有可能丢失,这取决于中间层的设计,还要考虑WEB服务器页面处理的timeout。
-liquid(豆泡松果 之 松果豆泡);
2010-7-9
(#6168122@0)
-
摁! SESSION TIMEOUT CONFIGURATION. 有道理. XIEXIE
-whereismyid(到处找ID);
2010-7-9
(#6168150@0)
-
if only 100个ORDERS同时到达please look at asyn page processing + background worker thread.
pre-process data, if any, is better saved into DB rather than MSMQ.
-spj(spj);
2010-7-11
{134}
(#6170755@0)
-
原来是这样。有机会试一下。现在的都是相对简单的,基本都是三层结构就搞定了。
-coolmao(酷猫*Zensunni);
2010-7-9
(#6168334@0)
-
觉得MSMQ不是用在这个地方的,后台还的写个程序从MSMQ里把数据库写到SQL Server,这样用户很难知道后台操作成功否,比方说:邮递员把信塞到我信箱,那就不知道我取没取信(当然可以来定时查看一下)。
我觉得MSMQ用在不同程序之间交换信息的,而且无所谓时间上延迟个5分8分钟。
好点的ASP.NET+SQL SERVER环境应该同时处理1000个的orders能力都有吧。
-tjhong(啊哈);
2010-7-9
{310}
(#6168465@0)
-
ASP.NET+SQL SERVER环境应该同时处理1000个的orders能力都有吧" 这就我想不用MSMQ的原因.
-whereismyid(到处找ID);
2010-7-9
(#6168603@0)
-
MSMQ的一个主要作用是异步处理,比如将信用卡交易和下订单分开,这样不至于因为信用卡公司服务器当机导致不能下订单。异步处理也可以更好的利用服务器资源,例如在BOXINGDAY时将全部资源用于接订单,之后再将一部分资源用于处理订单。
-liquid(豆泡松果 之 松果豆泡);
2010-7-10
(#6169921@0)
-
问个简单问题:"信用卡交易和下订单分开",无需验证信用卡的有效性?网上购物,Boxing day也是每件商品限量的,这异步咋做?难道下好订单过两天来个e-mail说订单被拒?
-tjhong(啊哈);
2010-7-10
(#6170245@0)
-
下订单的transaction里包含扣除商品的库存,另外下订单时也只检验信用卡号码的有效性,而不真的连接信用卡服务器去扣钱。
-liquid(豆泡松果 之 松果豆泡);
2010-7-10
(#6170349@0)
-
这些好象和MSMQ关系不大,.NET的messagequeue也就送/接简单的信息,你说的东西应该叫分布系统吧。
-tjhong(啊哈);
2010-7-10
(#6170376@0)
-
分布系统拿COM+就可以做,MSMQ在这里用来进行异步处理。
-liquid(豆泡松果 之 松果豆泡);
2010-7-10
(#6170414@0)
-
.NET任何地方都可以进行异步处理--BeginInvoke,要让用户知道下定单或网上购物成功否,必须CallBack,怎么CallBack?异步处理在Server产生,CallBack到流览器里的网页,不太可能。
-tjhong(啊哈);
2010-7-11
(#6170617@0)
-
也许你说的是另一回事,但是如果在client里面用EnablePageMethods tag,使得server callback client javascript 是可行的,有现成例子,我们自己的project很多地方也都用,具体见连接
-goodtogo(journey);
2010-7-11
(#6170743@0)
-
这是AJAX技术,在client端的javascript里调用,callback javascript,client端异步,server端还是同步。另外,总之和message queue是联系不上。
-tjhong(啊哈);
2010-7-11
(#6170941@0)