Windows Azure Service Bus 推动财务服务门户的高可用性和可伸缩性
抵押贷款公司和评估管理公司面临着快速、复杂且数据量极大的业务流程。他们需要可快速、轻松设置且容量几乎无限的可伸缩的企业级服务,来对处理评估订单以及自动化流程本身所产生的所有文档和数据进行管理。
这听起来像是云计算平台的工作。
Schakra Inc. 的产品解决方案副总裁 Anil Balakrishnan也这样认为。SchakraInc. 是一家解决方案提供商,他们的客户包括Microsoft
和Vodafone。为对评估管理公司创建此类解决方案,Schakra与Bradford Technologies 和Nasoft 进行了合作,并最终推出了名为
PortalDirect™的Unified Collateral Data Portal(UCDP™)提交服务。Balakrishnan说这开辟了同类服务的先河。
在创建该服务时,Balakrishnan 及其同事可以选择很多云计算平台,他们仔细考虑了所有选项,包括Amazon SQS with SNS、SimpleDB和S3,但最终选择了Windows Azure。
他说:“促使我们使用Windows Azure 的是熟悉的开发人员体验和社区支持。此外,我们在.NET Framework 和其他Microsoft 技术方面具有丰富的知识和经验,更加便于我们使用Windows Azure 及其平台服务克服开发困难,而不需要自定义解决方案。”
抵押贷款公司和其他用户访问 PortalDirect 以提交其评估订单,这些订单通过与第三方服务集成的多步骤工作流进行处理。为了在工作流内协调这些服务,开发人员选择了以消息为导向的体系结构。每种服务都与PortalDirect 交换消息,以告知所有参与者为了进一步推动工作流必须采取的操作。这种基于消息的体系结构无需将特定节点与工作流关联,而是一个无状态系统, 相同节点可进行大规模伸缩。

在设计 PortalDirect 时,开发人员需要牢记以下三个要素:
· 可伸缩性,按系统吞吐量来衡量。
· 可靠性和可用性,即为财务服务用户提供业务需求支持的可靠性和可用性。
· 容错。这是指能够正常恢复,且不会因为在涉及许多组件和服务的工作流中发生不可避免的瞬态故障而导致数据丢失的能力。
开发人员使用了 Windows Azure—尤其是 WindowsAzure Service Bus—来满足这些需求。Service
Bus 提供了用于实现基于消息的异步无状态工作流的现成功能。这是该解决方案的关键构成元素,由Service Bus topics和queues提供。例如,开发人员使用 Service Bus 主题来实现发布/订阅体系结构。他们将基于队列的消息高效地用于负载平衡系统组件,并用于防止工作流在这些组件中出现瞬态故障。这有助于满足可伸缩性、可靠性和容错需求。
Balakrishnan 称,Service Bus 是非常方便的选择,也是有效的选择,这部分是因为其API。他说:“API便于使用,这很大程度上是因为它一目了然。它也提供了我们用于各种场景的客户端库/技术,例如 .NET 客户端库以及用来创建我们自己的 WCF/REST 客户端的示例。包括性能调整和最佳做法相关
MSDN 文章在内的文档帮助我们构建出了世界一流的系统。”
Schakra于2011 年8 月开始向客户推广PortalDirect 服务,并表示该系统一直以来都运行顺利。到目前为止,PortalDirect已经处理了110,000 多次评估,即平均每个工作日处理1800 多次交易。
本文翻译自:
Windows Azure Service Bus 推动财务服务门户的高可用性和可伸缩性的更多相关文章
- Windows Azure Service Bus Topics实现系统松散耦合
前言 Windows Azure中的服务总线(Service Bus)提供了多种功能, 包括队列(Queue), 主题(Topic),中继(Relay),和通知中心(Notification Hub) ...
- Windows Azure Service Bus Notification Hub推送通知
前言 随着Windows Azure 在中国的正式落地,相信越来越多的人会体验到Windows Azure带来的强大和便利.在上一篇文章中, 我们介绍了如何利用Windows Azure中的Servi ...
- Windows Azure Service Bus (2) 队列(Queue)入门
<Windows Azure Platform 系列文章目录> Service Bus 队列(Queue) Service Bus的Queue非常适合分布式应用.当使用Service Bu ...
- Windows Azure Service Bus (3) 队列(Queue) 使用VS2013开发Service Bus Queue
<Windows Azure Platform 系列文章目录> 在之前的Azure Service Bus中,我们已经介绍了Service Bus 队列(Queue)的基本概念. 在本章中 ...
- Windows Azure Service Bus (4) Service Bus Queue和Storage Queue的区别
<Windows Azure Platform 系列文章目录> 熟悉笔者文章的读者都了解,Azure提供两种不同方式的Queue消息队列: 1.Azure Storage Queue 具体 ...
- Windows Azure Service Bus (5) 主题(Topic) 使用VS2013开发Service Bus Topic
<Windows Azure Platform 系列文章目录> 项目文件,请在这里下载 在笔者之前的文章中Windows Azure Service Bus (1) 基础 介绍了Servi ...
- Windows Azure Service Bus (6) 中继(Relay On) 使用VS2013开发Service Bus Relay On
<Windows Azure Platform 系列文章目录> 注意:本文介绍的是国内由世纪互联运维的Windows Azure服务. 项目文件请在这里下载. 我们在使用Azure平台的时 ...
- Windows Azure Service Bus (1) 基础
<Windows Azure Platform 系列文章目录> 我们在基于Windows Azure进行云端开发的时候,云端的软件通常都需要与其他软件进行交互.这些其他软件可能包括其他In ...
- Windows Azure: Service Bus Relay
Service Host: using System; using System.Collections.Generic; using System.Linq; using System.Text; ...
随机推荐
- Enormous Input Test Solved Problem code: INTEST
import sys import psyco #一键优化库 psyco.full() def main(): n, k = map(int, sys.stdin.readline().strip() ...
- js为数字添加千位分隔符
1.字符串处理比较复杂 function test(str){ var iNum = str.length % 3; var prev = ''; var iNow = 0; var ...
- 新 Azure SQL 数据库服务等级的性能
4 月 24 日,我们发布了 SQL Database 基本级(预览版)和标准级(预览版)新服务等级的预览版以及新的业务连续性功能.在本博客文章中,我们将深入探究 SQL Database 中新等级的 ...
- codevs2822 爱在心中
2822 爱在心中 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description “每个人都拥有一个梦,即使彼此不相同,能够与你分享,无 ...
- 【POJ 1679 The Unique MST】最小生成树
无向连通图(无重边),判断最小生成树是否唯一,若唯一求边权和. 分析生成树的生成过程,只有一个圈内出现权值相同的边才会出现权值和相等但“异构”的生成树.(并不一定是最小生成树) 分析贪心策略求最小生成 ...
- Create local metadata resource of yum
Today, I need install an oracle software for a machine whose os is Linux. As we all know, installing ...
- 呵呵!手把手带你在 IIS 上执行 Python
公司的站点让我头痛死了.在众多前辈高手的带领下.一大堆的 CMD 在站点里执行得好好地,黑客攻击也好好地.仅仅有站点和我不好好地,我快累死了,站点快挂了.. . 为了解决问题.我想到了 Python ...
- 每日一dp(2)——龟兔赛跑(hdu 2059)
比較经典的动态规划的题目了 一般动态规划的想法都是先推断是否有最优子结构,无后效性.接着从状态转移入手,尽量细分状态(即给定N得到N+1),完了再递推计算 难点:转移方程,其一般也难在怎样描写叙述一个 ...
- UVA 806 Spatial Structures
题意: 如果某一大区域所有色块颜色是相同的,那么这一个大区域就算作一块,如果不同,则将其划分成四个小区域,然后重复上述步骤递归进行直到所有区域的颜色相同为止.然后根据上面划分的区域建树,小区域作为大区 ...
- q.js实现nodejs顺序调用
nodejs的异步调用有时候是最让人头疼的,如何能是一些代码顺序的执行呢,这里和大家分享nodejs的promise 什么是promise promise一个标准,它描述了异步调用的返回结果,包括正确 ...