是否有关于SQLServer中Service Broker基础架构未来的任何信息?该团队的博客(http://blogs.msdn.com/b/sql_service_broker/)不是非常活跃,SQL 2008 R2版本中只有很小的变化.当现在构建需要异步排队的分布式系统并且基础架构中已经存在SQLServer/.NET堆栈时,我将构建的内容在未来3年内不会过时的机会是什么?
有什么路线图可以从MS获得,或者在像PDC这样的会议上有人对此有所了解?
是否存在足够多的架构,可以将其部署到云服务器或专用(或VPS)服务器,只需极少的更改?显然会有配置更改,但我宁愿让应用程序的其余部分保持一致,保留一个可维护的代码库.
该应用程序将是ASP.NET和/或ASP.MVC.我的开发环境是VS 2010.云可能是,也可能不是,Azure.专用或VPS将是Win Server 2008.可能.
它不是一个面向公众的网站.我想到的Web应用程序将是每个客户端的单独部署.有些客户端规模较小,有些客户希望应用程序在本地Intranet上运行而不是在Web上运行.其他客户可能更喜欢使用云方法来实现黑盒解决方案.应用程序可能会运行几个小时,也可能无限期运行,这取决于客户端和项目.除部署方案外,应用程序或多或少相同.
正如您从标签中看到的那样,我假设基于消息的架构可能是最通用的,但我也常常对这些东西有误.
所有建议和指示欢迎关于一般架构和具体解决方案.
当我尝试使用php-amqp连接时出现此错误:致命错误:类'AMQPConnection'未找到
$credentials =array('host' => 'localhost','port' => 5672);
$cnn = new AMQPConnection($credentials);
$cnn->connect();
Run Code Online (Sandbox Code Playgroud) 有没有办法以编程方式检查其消息队列中窗口消息的优先级?
例如:某些窗口消息,WM_PAINT并且WM_TIMER已知具有最低优先级,并且位于具有最高优先级的消息之后.
我正在寻找能够确认两条消息中哪一条具有最低优先级或最高优先级或哪条消息将首先发送还是最后发送的消息?
我正在使用Active MQ和Java JMS.
我想计算队列中的消息数量.
一种方法是使用浏览器计算messeages:
Queue queue = (Queue) session.createQueue(subject);
QueueBrowser queueBrowser = session.createBrowser(queue);
Enumeration<?> e = queueBrowser.getEnumeration();
int numMsgs = 0;
// count number of messages
while (e.hasMoreElements()) {
// Message m = (Message) e.nextElement();
e.nextElement();
numMsgs++;
}
Run Code Online (Sandbox Code Playgroud)
但是对于具有5000个待处理请求的队列,这仅返回500.
另一种方法是这样(迭代队列中的所有messeage):
Message message= consumer.receive(500);
while(message!= null)
{
if (message instanceof TextMessage)
{
TextMessage textMessage = (TextMessage) message;
// BytesMessage Byte
System.out.println("Received message '"+ textMessage.getText() + "'");
}
if(message!=null)
Messages_list.add(message);
message = consumer.receive(1);
}
Run Code Online (Sandbox Code Playgroud)
但是这也没有给出正确数量的消息.
我怎么能自信地迭代akk在队列中等待的消息?
我需要一个任务队列,以便可以将一些繁重的操作移出uwsgi上下文而不影响用户.由于目前正在使用uwsgi,我认为可以使用uwsgi假脱机程序.我想知道它究竟是如何工作的?假脱机任务是否仍然在其他uwsgi工作程序中执行?如果是,那么服务器仍然会超载,因为其他工作人员将忙于服务假脱机任务.还有更好的选择吗?我正在使用python
我阅读了有关消息队列操作,如msgget(),msgsnd()和msgrcv().但是当我在堆栈溢出中搜索与消息队列相关的问题时,我才知道还有另一组消息队列操作,如mq_open(),mq_send(),mq_receive().任何人都可以告诉我这两种类型的消息队列之间有什么区别,以及广泛使用哪种类型的消息队列?
我正在寻找根据BSD或MIT许可证发布的ZeroMQ的Python 2.7替代品.我正在寻找支持请求 - 回复和pub-sub消息传递模式的东西.如有必要,我可以自己序列化数据.我发现Twisted来自Twisted Matrix Labs,但似乎需要一个阻塞事件循环,即reactor.run().我需要一个将在后台运行的库,让我的应用程序检查某些事件的消息.还有其他选择吗?
我有一个ASP.NET Web服务,需要发布另一个服务的异步处理请求(单独的进程).因此,该要求是一个持久的队列.服务器是运行SQL Server的Windows Server.
我考虑使用数据库中的表来编写自己的排队服务,其中发布请求,并通知另一个服务然后处理新行.如果服务失败,则在启动时,它会处理队列表中的所有未处理项.
然后,我考虑不使用数据库来维护队列并在ASP.NET应用程序中管理进程中的队列.对于持久性,所有作业都将写入数据库,以便在发生故障时进行检索.
但是,此选项可能不合适,因为我们的想法是使用通用排队服务来处理来自任何服务器应用程序的作业.
所以我接着开始了一个发现之旅,从如何通知我的监听服务在数据库中插入一行.我在SQL Server中阅读了有关查询通知的内容,这使我进入了有关规划通知的页面.在那里,我了解了Windows Service AppFabric,它包含了持久化工作流程的能力.我不确定这是否与此相关,但后来我开始阅读有关Azure AppFabric和Service Bus的信息,这两者都是排队消息的理想选择(尽管Azure不是一个选项,因为我们的服务器出于合规性原因不得将数据发送到环境之外).
最后,我了解到微软将不再支持2017年的AppFabric(因此不再是我的选择),Redis将成为首选武器.
然后,在与上述同事讨论之后,MSMQ(或类似的排队软件)被认为可能是最佳选择,因为它可以让我们更多地控制.
因此,根据我的要求和前面提到的发现之旅,我们非常感谢任何关于什么是好的策略或者考虑好的解决方案的建议.