Luk*_*uke 7 c# sql-server asp.net
我正在创建一个群发邮件应用程序,其中一个Web应用程序设置一个电子邮件模板,然后排队一堆电子邮件地址进行发送.另一方将是一个Windows服务(或exe),它将轮询此队列,接收要发送的消息.
我的问题是,使用SQL Service Broker(或MSMQ)而不仅仅是创建自己的自定义队列表有什么好处?
我正在阅读的所有内容都暗示我使用的是Service Broker,但我真的看不出平板表的巨大优势(这对我来说简单易用).作为参考,该应用程序几乎每天都会用于发送50,000-100,000封电子邮件.
Rem*_*anu 12
你知道如何在平面表上实现队列吗?这不是一个愚蠢的问题,正确地在表上实现队列比听起来要困难得多.类似队列的表非常容易出现死锁,您需要仔细考虑表设计以及入队和出列操作.另外,你知道如何扩展你的表池吗?你怎么去处理重试和超时(即用什么计时器)?
我不是说你应该使用SSB.学习曲线非常陡峭,主要是分布式应用平台,而不是本地排队产品,因此某些功能(如对话框)实际上会成为您的障碍,而不是优势.我只是说你必须考虑平桌排队的困难.如果您从未实现过平台队列,那么请注意,该桥下有许多龙.
每天 50k-100k的消息不算什么,每秒只有一条消息.如果你想要每分钟 100k ,那么我们有话要说.
如果您每次都需要移植到另一个供应商的数据库,那么如果您使用普通表,问题会更少。
\n\n由于您的队列中似乎只有一个读取器和一个写入器,因此我倾向于使用标准表,直到您遇到问题。但是,如果您开始觉得需要使用 \xe2\x80\x9clockinghints\xe2\x80\x9d 等,那么是时候切换到 Service Broker 队列了。
\n\n如果发送者和阅读者都需要数据库连接才能工作,我不会使用 MSMQ。如果发送方根本不与数据库通信,MSMQ 会很好,因为它可以让发送方在数据库关闭时继续工作。然而,对于大多数系统来说,设置和维护 MSMQ 和数据库可能会花费更多的工作量。
\n| 归档时间: |
|
| 查看次数: |
3841 次 |
| 最近记录: |