NServiceBus教程-消息传递与处理
nservicebus”的容错默认”设计的一部分,基础设施管理事务自动所以你不需要记住所有的线程和状态管理要素配置。
客户端和服务器
理想情况下,服务器代码处理消息事务,但它往往不是客户所需,特别是桌面应用程序。这是一个之间的差异asa_client和asa_server设置的通用主机在nservicebus。
指定交易代码
如果你不使用通用的主机,您可以指定当前端点应处理消息事务设置istransactional(真的)。后msmqtransport()。(版本3)或usetransport < >(MSMQ)。(版本4)。
覆盖系统。交易的默认超时10分钟,按照描述的步骤这篇博客。
分布式事务处理协调器
在Windows中,有一个操作系统级别的服务管理需要跨多个资源的交易直接转矩控制,如队列和数据库。这项服务并不总是正确的配置可能需要检修。下载一个工具叫dtcping帮助你发现如果一台机器可以访问在远程机的直接转矩控制。这个工具看起来像这样。

如果你得到一个错误指的是RPC终结点映射器,在命令提示符下,运行组件服务。你应该看到屏幕下方的组件服务。

打开一些端口,通过右键单击“我的电脑”,将“默认协议”选项卡。从那里,选择“面向连接的TCP / IP”并单击“属性”按钮。在“性能COM网络服务”对话框中,检查端口范围包括“5000-6000”,如图所示:

如果端口列表为空,点击“添加……”按钮并输入 “5000-6000”对话框。你的屏幕看起来应该像上面的图片。你可能做不到1000个开放口岸,但这取决于机器的数量在DTC互相连接。
单击确定后,返回组件服务的屏幕,浏览到“本地DTC”节点的分布式事务协调器的文件夹,在右键单击,选择“属性”。在打开的对话框中,选择“安全”选项卡,如图所示:

确保你看到的性能与上述相同,重新启动计算机。
如果dtcping不工作,检查所需的防火墙中的端口是开放的。考虑删除防火墙中的例外和补充DTC再次确认。
如果给你一个寻找dtcping名称消息但没有达到,通过运行“ping计算机名”在命令提示符下做一个简单的平。如果机器不能达到的平,这可能是你有一个DNS的问题,可能需要您的网络管理员的帮助。
确保你完成所有的步骤,不只是连接到数据库服务器,而且在数据库服务器和。
最后,检查使用中的服务器的TCP端口,确保每一个不同的端口配置为双向通信。在这一点上,你应该能够运行事务nservicebus端点。
消息处理循环
信息如下在nservicebus加工:
- 队列是偷看,看看有没有消息。
- 如果是这样,一个分布式事务开始。
- 队列接收消息,再联系。这是因为多个线程可能从相同的消息。队列可以确保只有一个线程可以真正得到一个给定的消息。
- 如果线程能够得到它,nservicebus尝试反序列化消息。如果失败,消息移动到配置错误队列和事务提交。
一个成功的反序列化后,所有的基础设施和应用消息nservicebus调用模块和处理程序。在这一步异常导致事务回滚和消息返回到输入队列。
- 这是“maxretries”可配置次数。
- 在那之后,消息传来二级重试(SLR)。
- 如果在单反的错误仍然存在,该消息将被移动到配置错误队列。
在这种方式中,即使在各种故障情况下,如应用服务器重新启动的消息或数据库死锁中,信息不会丢失。
自动重试机制通常能够从暂时的问题恢复。如果这是不可能的,把消息传递到单反相机决定下一步做什么。
解决更多的永久性错误
在永久的错误会影响系统的情况下,尽管他们的多样性的解决方案是相同的,nservicebus。在描述它,让我们看到这些情况的例子:
- 数据库是。
- 一个内部或外部Web服务是下。
- 系统升级不小心,打破向后兼容性。
在以上所有,行政行为是必要的,从一些简单如建立数据库或Web服务,到更复杂的动作像恢复到以前的系统版本。
单反相机也有助于固定的错误决议。
这消息本身并没有错。它可能包含不迷失在这些条件下,有价值的信息。因此,管理员完成解决问题后,他们会回复邮件来自队列。幸运的是,有一个工具nservicebus确实。
returntosourcequeue.exe

你可以在你的下载目录nservicebus“工具”,找到这个工具。
管理员提供的错误队列他们想要使用,或者指定一个特定的消息ID返回到它的源队列,或所有返回给定误差每个排队到各自的源队列中的所有消息。
NServiceBus教程-消息传递与处理的更多相关文章
- NServiceBus教程-NServiceBus和WCF
WCF中缺少的最主要的事情是发布/订阅,但为什么你必须建立它自己吗?NServiceBus,你把它弄出来. 下一个重要的事情是容错.异常导致WCF代理休息,需要"刷新"的代码,但调 ...
- nservicebus教程-目录
表的内容 开始 坚持NServiceBus 扩展 每天 举办 管理和监控 发布订阅 长时间运行的流程 定制 版本控制 常见问题解答 样品 开始 概述 NServiceBus一步一步向导 架构原则 事务 ...
- NServiceBus教程-持久化配置
当配置在NServiceBus v5持久性,秩序是非常重要的.最后赢得持久性配置选项.我们看看一些例子. 示例1 在本例中最后一个配置选项将会覆盖前面的所有选项. v5.2 v5.0 编辑 var c ...
- NServiceBus教程-持久化
NServiceBus的各种特性需要持久性.其中有超时.传奇和订阅存储. 四个持久化技术在NServiceBus在使用: RavenDB nHibernate 内存中 MSMQ 读到安装Raven D ...
- 使用NServiceBus开发分布式应用
系列主题:基于消息的软件架构模型演变 NServiceBus 是一个.Net平台下开源的消息服务框架,这类产品有时也被称作ESB(Enterprise Service Bus)--企业服务总线.NSe ...
- SOA、ESB、NServiceBus、云计算 总结
SOA SOA 是通过功能组件化.服务化,来实现系统集成.解决信息孤岛,这是其主要目标.而更进一步则是实现更快响应业务的变化.更快推出新的应用系统.与此同时,SOA 还实现了整合资源,资源复用. SO ...
- UML基础与Rose建模实训教程
目 录 第1章 初识UML. 1 1.1 初识UML用例图... 1 1.2 初识UML类图... 3 第2章 Rational Rose工具... 6 2.1 安装与配置Rational Ro ...
- Senparc.Weixin.MP SDK 微信公众平台开发教程(七):解决用户上下文(Session)问题
从这篇文章中我们已经了解了微信公众平台消息传递的方式,这种方式有一个先天的缺陷:不同用户的请求都来自同一个微信服务器,这使得常规的Session无法使用(始终面对同一个请求对象,况且还有对方服务器Co ...
- JMS(Java消息服务)入门教程
什么是Java消息服务 Java消息服务指的是两个应用程序之间进行异步通信的API,它为标准消息协议和消息服务提供了一组通用接口,包括创建.发送.读取消息等,用于支持JAVA应用程序开发.在J2EE中 ...
随机推荐
- python lambda函数详细解析(面试经常遇到)
1 作用:通常是用来在python中创建匿名函数的 2 格式: lambda 参数[,参数] : 表达式 3 注意: (1)lambda定义的是单行函数, 如果需要复杂的函数,应该定义普通函数 (2) ...
- AOJ 2170 Marked Ancestor (基础并查集)
http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=45522 给定一棵树的n个节点,每个节点标号在1到n之间,1是树的根节点,有如 ...
- leetcode:Odd Even Linked List
Given a singly linked list, group all odd nodes together followed by the even nodes. Please note her ...
- c#获取机器唯一识别码
前言 在客户端认证的过程中,我们总要获取客户机的唯一识别信息,曾经以为MAC地址是不会变的,但是现在各种改,特别是使用无线上网卡,MAC地址插一次变一次,所以这样使用MAC就没有什么意义了,怎么办,又 ...
- java前端选择
在做web开发的时候难免遇到一个问题,那就是,选择什么样的框架.下面把前端的框架简单的列一下. 1.flex Apache基金会今天发布了Flex 4.8版本,这是Adobe将Flex捐献给Apach ...
- 今天发现猎豹浏览器的一个大坑 Request.IsAuthenticated 一直为 false;另外附加原因以及临时的解决方法
今天掉到了一个大坑里面,爬了1个多小时才发现不是代码的问题,居然是浏览器的问题… 下面是问题的发生过程 单点登陆 有2个站点 http://a.abc.com http://b.abc.com ...
- Java 炫舞按键功能 DancingPlay (整理)
/** * Java 炫舞按键功能 DancingPlay (整理) * 2016-1-2 深圳 南山平山村 曾剑锋 * * 设计声明: * 1.本次设计是模仿QQ炫舞类游戏,当图标到红色的检测区域时 ...
- /etc/selinux/config
/etc/selinux/configSELINUX=disabled改成了SELINUX=enforcing机器无法启动 linux无法启动怎么解决:[1]selinux配置错误 SELinux 入 ...
- css3用AnimationEnd判断动画是否完成, css3在动画完成后执行事件
用css3的animation完成一个动画,当只有这个动画完成时才执行令一个事件,比如让动画保持在终止的状态或其他一些事件.我们该怎么办呢. 第一种方法: 用计时器,设定一个和动画时长一样的time, ...
- windows7操作系统64位安装ArcSDE10.1和Oracle11g
安装环境如下: Oracle11g R2 64位服务端Oracle11g R2 32位客户端(管理员,第二项)ArcSDE10.1 for Oracle11g SDE数据库可由其它机器安装Arcata ...