Service Bus for Windows Server 1.1 概述

应用到: Service Bus for Windows Server 1.1

Service Bus for Windows Server 是一组可安装的组件,用于在 Windows Server 上提供 Microsoft Azure Service Bus 的消息功能。使用 Service Bus for Windows Server 可以在自托管环境和开发人员计算机中构建、测试和运行松耦合的消息驱动应用程序。

Service Bus for Windows Server 的用途是在 和 Windows Server 上提供类似的功能,使开发和部署应用程序具有灵活性。它在与 Service Bus 云服务相同的体系结构上构建,并提供了扩展和复原功能。为开发应用程序公开的编程模型、Visual Studio 支持和 API 与为开发云服务公开的编程模型和 API 对称,这样更易于为这二者之一开发应用程序以及在这二者之间切换。进一步讲,在 Azure 管理门户中管理实体的体验将在本地版本和云版本之间保持一致。

适用于 Service Bus for Windows Server 的方案

  • **本地开发,云中部署。**这种常见方案能够帮助云应用程序开发人员在开发环境中针对可安装在台式机或便携式计算机上的应用程序进行本地开发和测试。若要为云开发人员提供支持,可将 Service Bus for Windows Server 安装在客户端操作系统(Windows 7 或 8,64 位)上,并使用 SQL Express 版本(SQL Express 2008 R2 SP1 或更高版本)。此外,可将 Service Bus for Windows Server 配置为使用本地帐户(而不是域帐户),以便在未加入域或脱机的计算机上进行开发。

  • **灵活部署。**向各种客户提供解决方案的软件供应商希望能够将其解决方案部署为云应用程序,或者将解决方案分发给客户进行本地部署。同样,企业希望能够选择应用程序的部署位置。为了支持此方案,Service Bus for Windows Server 提供了与 Microsoft Azure Service Bus(Microsoft PaaS 产品)的对称性,以及对 IaaS 的支持。在对称性方面,首先提供了支持的功能集(仅限本版本的中转消息)、相同的 SDK,以及对可配置连接字符串的支持,使客户无需重建解决方案就能更改其部署选项。

  • **本地发布-订阅。**针对开发服务和应用程序的企业,Service Bus for Windows Server 提供面向消息的中间件 (MOM) 层,以及丰富的发布-订阅功能集。为了支持此方案,Service Bus for Windows Server 提供了高可用性、可伸缩性、基于 Windows 令牌的身份验证(支持 Active Directory)等功能。

Service Bus for Windows Server 中的消息功能

Service Bus for Windows Server 支持 Microsoft Azure Service Bus 中使用的相同中转消息功能集。Service Bus 队列提供可靠的消息存储和检索功能,并提供协议和 API 的多种选项。

Service Bus 队列

Service Bus 队列允许消息接收器按自己的工作节奏处理消息,因而可以实现负载均衡。此外,Service Bus 队列可让多个竞争接收器从同一队列接受消息,因而可以实现负载平衡。有关 Service Bus 队列的详细信息,请参阅如何使用 Service Bus 队列

Service Bus 主题

除了队列功能以外,Service Bus 主题和订阅还提供了丰富的发布-订阅功能,可让多个并发订户独立检索已发布消息流的筛选或未筛选视图。有关 Service Bus 主题的详细信息,请参阅如何使用 Service Bus 主题/订阅

Service Bus for Windows Server 中的部署和可管理性选项

Service Bus for Windows Server 支持两种部署方法,并支持不同的方案。

  • 仅限 Service Bus 运行时(独立):在此部署方案中,由一名管理员部署和管理 Service Bus 场以及创建命名空间。支持使用 PowerShell 命令完成所有管理操作,并且不提供用户界面(除了提供 Service Bus 配置向导用于完成初始配置以外)。

  • Service Bus 与 Windows Azure Pack 集成:在此部署方案中,管理员使用 Windows Azure Pack 门户管理 Service Bus,并部署和管理实际场(云)。Service Bus 租户也使用该门户来创建命名空间和消息实体。该门户体验与 Azure 中的体验类似。

如果只有一个租户在使用 PowerShell cmdlet 和 Service Bus API 管理 Service Bus 资源,请使用 Service Bus 独立部署(无门户)。

如果你想要获得与云类似的管理体验,或者想要向租户公开某些管理体验,请使用 Service Bus 与 Windows Azure Pack 集成。Service Bus 与 Windows Azure Pack 集成还支持从单个门户管理多个 Service Bus 场(云)。大型企业或者想要向多个客户提供资源(消息)的托管商(一家企业中的不同团队,或者运营不同公司的托管商)有时会存在这种情况。

针对是要在托管环境还是非托管环境中部署 Service Bus 所做的决策将会影响部署步骤。有关详细信息,请参阅 TechNet 上的 Service Bus for Windows Server 1.1 入门指南。

note备注
Service Bus for Windows Server 1.0 仅提供非托管 Service Bus。Windows Azure Pack 集成是 Service Bus for Windows Server 1.1 版本的新增功能。

有关 Windows Azure Pack 的详细信息,请转到此处

下表列出了两种备选方案之间的主要差异。

功能方面 仅限 Service Bus 运行时 Service Bus 与 Windows Azure Pack 集成

Service Bus 部署

使用 WebPI 进行设置。

使用配置向导或 PowerShell 进行配置。

  • 使用 WebPI 进行设置。

  • 使用配置向导或 PowerShell 进行配置。

  • 创建场时,指定管理门户使用的凭据。

创建 Service Bus 产品(计划)

不支持。

  • 使用 Windows Azure Pack 管理员门户创建提供 Service Bus 的计划(在 VM 管理等其他资源的旁边)。

命名空间创建

场管理员创建命名空间并分配所有者。

  • 管理员创建计划后,租户可以使用该计划登录 Windows Azure Pack 租户门户并创建订阅。

  • 创建订阅后,租户可以使用 Windows Azure Pack 门户创建 Service Bus 命名空间。

Service Bus 实体管理

使用 Service Bus SDK(基于 .NET 或 REST)。

  • 创建命名空间后,租户可以使用 Windows Azure Pack 门户创建 Service Bus 实体(队列、主题和订阅),与在 Azure 中操作类似。

  • 注意:也仍可以使用 Service Bus SDK。

支持多个场

单独管理每个场。

  • 单个 Windows Azure Pack 门户可以支持多个 Service Bus for Windows Server 场。

  • 租户可以统一在单个 Windows Azure Pack 租户门户中使用来自多个场的资源创建多个订阅。

Service Bus for Windows Server 中的平台功能

Service Bus for Windows Server 为采用多主机场拓扑的、具有可伸缩性和高可用性的企业应用程序提供消息平台。该平台基于 Windows Server 和 Microsoft SQL Server。想要获得轻型开发环境的开发人员可以在 Windows 客户端操作系统(64 位)和 Microsoft SQL Express 中安装 Service Bus for Windows Server。

可以将 Service Bus for Windows Server 部署在托管环境(例如,使用 Microsoft SQL Server 托管数据库的 Azure 虚拟机,或者 Microsoft Azure SQL Database (IaaS))中。有关受支持平台的详细信息,请参阅Supported Topologies

Service Bus for Windows Server 与 Microsoft Azure Service Bus 的对比

尽管 Service Bus for Windows Server 与 Microsoft Azure Service Bus 的 API 和消息功能之间存在对称性,但这两款 Service Bus 产品之间仍有差异。

  • 在可管理性方面,在托管的“平台即服务”() 环境中,由 PaaS 供应商 (Microsoft) 提供管理。在 Service Bus for Windows Server 中,由本地管理员部署、保护、调整和监视 Service Bus for Windows Server 场。

  • 在 和 Windows Server 中,Service Bus 需要访问令牌才能授予对其消息实体的访问权限。对于 Service Bus 命名空间以及实体(队列和主题),两者使用相同的共享访问机密 (SAS) 身份验证方案。但是,在 Windows Azure 中,Service Bus 还支持在 Windows Server 中不可用的 Microsoft Azure Active Directory 访问控制(也称为访问控制服务或 ACS)。而在 Windows Server 中,Service Bus 支持在 Azure 中不可用的 Windows 集成身份验证(已加入域的用户和 Active Directory 用户组)。

  • 配额和其他运行时设置在 Microsoft Azure Service Bus 中是固定的,而在 Service Bus for Windows Server 中,管理员可以更改这些设置,以及自定义 Service Bus for Windows Server 场。

  • 寻址架构在 Microsoft Azure Service Bus 中是固定的。换而言之,所有终结点的 URL 都添加了 Service Bus 后缀。在 Service Bus for Windows Server 中,你可以使用主机的完全限定域名 (FQDN),或者用于表示服务的映射 DNS 条目。