服务命名空间

应用到: Service Bus for Windows Server 1.1

在 Service Bus for Windows Server 中,服务命名空间用于寻址、隔离和管理。所有 Service Bus 消息实体均在服务命名空间的作用域中创建。

服务命名空间

一个 Service Bus for Windows Server 部署(场)可以多租户方式作为多个应用程序的消息平台。为了便于隔离,每个应用程序均使用单独的服务命名空间。

在 Microsoft Azure Service Bus(云服务)中,所有 Service Bus 消息实体均使用以服务命名空间名称开头的路径进行寻址。Service Bus for Windows Server 通过类似方法使用服务命名空间,但扩展了云架构以支持指定服务器名称。因此,默认情况下使用以计算机名称开头的路径对 Service Bus for Windows Server 中的服务命名空间名称进行寻址。使用 Service Bus for Windows Server 可以使用以下寻址架构之一创建服务命名空间:

  1. 基于路径的地址(默认值),该地址使用 Service Bus 主机的完全限定域名 (FQDN)。此架构的服务 URI 如下所示:

    {scheme}://{baseUri}:Port/{serviceNamespace}/{resourcePath}
    
  2. 支持 DNS 功能的已进行 DNS 注册的命名空间架构。通过使用 DNS,可以从使用 Service Bus 的客户端分离实际服务器节点 (FQDN)。换句话说,当你使用已进行 DNS 注册的架构创建服务命名空间时,你提供的 URI 是在 DNS 中注册的 URI。该服务 URI 类似于以下内容:

    {scheme}://{DNSValue}/{resourcePath}
    

Service Bus for Windows Server 服务命名空间允许管理员对可以拥有服务命名空间的用户进行授权。创建服务命名空间时(或以后),管理员将指定充当服务命名空间所有者的域用户列表。服务命名空间所有者将被授予创建、修改和删除 Service Bus 消息实体(队列和主题)的权限。这些所有者还可以管理对所有 Service Bus 消息实体的声明。服务命名空间所有者可以按 Service Bus 实体(队列、主题或订阅)定义附加授权规则。

有关详细信息,请参阅 TechNet 上的 Service Bus 身份验证和授权部分。

创建服务命名空间

可以使用 New-SBNamespace cmdlet 创建 Service Bus for Windows Server 服务命名空间:

New-SBNamespace -ManageUsers <String[]> -Name <String> [-AddressingScheme <NamespaceFormat> ] [-DnsEntry <String> ] [-IssuerName <String> ] [-IssuerUri <String> ] [-PrimarySymmetricKey <String> ] [-SecondarySymmetricKey <String> ] [-SubscriptionId <Guid> ] [ <CommonParameters>]

例如,以下命令将创建名为 MyNamespace1 的 Service Bus for Windows Server 服务命名空间,该命名空间支持基于路径的寻址。它分配 user1 作为命名空间的所有者:

New-SBNamespace -Name MyNamespace1 -ManageUsers user1@domain1

重要

你只能用西欧语言(拉丁文)字符指定 Service Bus for Windows Server 命名空间名称。