- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有人成功地让 MassTransit 与 AppHarbor 和 CloudAMQP 合作吗?
我有时间忍受它。
我让发布者(网站)发送消息,但服务器(后台工作人员)似乎没有接收它们。
我担心的一件事是 MT 需要 rabbitmq 方案,而 CloudAMQP 将方案设置为 amqp。
我在配置总线时交换了方案(从 amqp 到 rabbitmq)并注意到消息地址中的方案是 rabbitmq,这是有道理的,因为我替换了它们。
但我想知道他们是否必须成为 amqp 才能让服务器接他们?
这是我发送的一条简单消息,它到达了 RabbitMQ,但服务器没有接收到它。
message_id: 08cf2cbc-5b4f-14dd-1231-381f8b520000
delivery_mode: 2
headers:
Content-Type: application/vnd.masstransit+json
Payload
614 bytes
Encoding: string
{
"destinationAddress": "rabbitmq://98eabe2a-aae8-464c-8555-855518dd87d0_apphb.com:*********@lemur.cloudamqp.com/98eabe2a-aae8-464c-8555-855518dd87d0_apphb.com/Messages.Product:ProductCreatedEvent",
"headers": {},
"message": {
"id": "dd6ecfaa-60d2-4cd4-8cd6-a08a00e872fb"
},
"messageType": [
"urn:message:Messages.Product:ProductCreatedEvent"
],
"retryCount": 0,
"sourceAddress": "rabbitmq://98eabe2a-aae8-464c-8555-855518dd87d0_apphb.com:**********@lemur.cloudamqp.com/98eabe2a-aae8-464c-8555-855518dd87d0_apphb.com/enterprise_web"
}
最佳答案
编辑 :
为了让其他人考虑将 MassTransit 与 CloudAMQP 结合使用,您可能需要查看 EasyNetQ。不会从 MassTransit 中拿走任何东西,这是一个伟大的项目。将它与 CloudAMQP 之类的每月收取数据使用费的服务一起使用时,问题在于 MassTransit 使用轮询来检查消息,而不是订阅它们(至少在我使用的最后一个版本 2.1.1 中)。即使您可能没有发布消息,此轮询也会消耗您的数据使用量。
嗯,这实际上是可能的。
来一看,这都是appharbor后台worker配置的一部分。
一旦解决了这个问题,后台工作人员就开始保持“活着”并消费消息。问题围绕 app.config 与 myworker.exe.config 和配置转换。一旦我意识到这是一个配置问题,这个链接就派上用场了。 App.config transformation for appharbor background workers
您必须为 rabbitmq 更换 amqp 方案,但这还不错。
这是我的后台工作人员的总线配置:
log.Info("Configuring MassTransit");
var rabbitUrl = ConfigurationManager.AppSettings["CLOUDAMQP_URL"];
var bus = ServiceBusFactory.New(sbc =>
{
// configure for log4net
sbc.UseLog4Net();
// configure the bus
sbc.UseRabbitMq();
sbc.UseRabbitMqRouting();
sbc.ReceiveFrom(String.Format("{0}/server", rabbitUrl.Replace("amqp://", "rabbitmq://"))); // need to swap the scheme for masstransit
// finds all the consumers in the container and register them with the bus
sbc.Subscribe(x => x.LoadFrom(container));
sbc.BeforeConsumingMessage(() =>
{
var session = container.GetInstance<ISessionFactory>().OpenSession();
CurrentSessionContext.Bind(session);
});
sbc.AfterConsumingMessage(() =>
{
var sessionFactory = container.GetInstance<ISessionFactory>();
if (CurrentSessionContext.HasBind(sessionFactory) == false) return;
var session = CurrentSessionContext.Unbind(sessionFactory);
if (session != null)
{
session.Dispose();
}
});
var results = sbc.Validate();
if (results.Any())
{
throw new Exception("MassTransit may not be setup correctly. Review validate results");
}
});
// finally inject the bus into the container
container.Inject(bus);
关于appharbor - 使用 AppHarbor 和 CloudAMQP 在云端进行 MT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11420860/
是否可以进行 Puppet 设置,在其中使用 JClouds 在云上实例化新虚拟机,然后通过 Puppet 定义和实现其配置(软件堆栈)? 或者 Puppet 的本质是否存在某些固有的因素阻碍其在 A
作者:京东零售 郑炳懿 前言: 当今世界,云计算技术在快速发展,不断为我们带来新的应用场景和解决方案。作为一名前端开发者,了解云技术并掌握如何在前端中应用它们是必不可少的。
我在我们的 iOS 通用应用程序中使用核心数据,并希望用户能够将其数据备份到我们的服务器。因此他们可以使用另一台设备登录并将该数据拉取到该设备。有人对此有什么建议吗?我想在服务器上分析数据,以便与我们
我在 Xcode 的验证过程中收到此错误,这让我抓狂。我花了几个小时试图修复它,但找不到解决方案。 我们拥有正确的分发证书、供应配置文件以及我能想到的与此相关的一切。我已经撤销并重建了我所有的项目,但
今天我对一个项目有了一个非常好的想法,不幸的是存在信息/经验障碍。 我基本上想要的是在云中运行游戏并将图像流式传输给用户。 我知道 ec2 可以选择使用 GPU,但它可能有错误的定价模型来满足我的需求
我是 Cloud Firestore 的新手(我们不都是这样吗?)并且我已经使用 Node.js 中的管理 SDK 向我的数据库添加了一些数据。它显示在控制台上,但在文档下显示“此文档不存在,它不会出
我有一个托管在 s3 存储桶上的静态 html 网站。我已经使用 let's encrypt 生成了一个免费的 ssl 证书,并将其导入到 ACM 中。 certbot --manual --serv
我一直在阅读 Cloudfront 文档,我想确保我的计划是合理的。我有一个后端 API,结构为 EC2 HTTP 服务器,内容经常更新(每秒几次更改)。这是我的理解: 我不应该将此 HTTP 服务器
我是一名优秀的程序员,十分优秀!