Service Bus for Windows Server 1.1 入门

注:本页面内容可能不完全适用中国大陆地区运营的 Windows Azure服务。如要了解不同地区 Windows Azure 服务的差异, 请参考本网站.

本部分介绍如何在本地安装 Service Bus for Windows Server 并设置配置选项。Service Bus for Windows Server 运行后,您可以按照教程进行操作,该教程说明了如何创建队列并介绍了一些基本的消息操作。若要开始开发应用程序,请参阅Tutorial

安装 Service Bus for Windows Server

本部分介绍安装 Service Bus for Windows Server 所需的基本步骤。请注意以下先决条件:

  • 所有 SQL 实例均放置在本地 SQL Server 中。

  • SQL Browser 服务必须已启用且正在运行。

  • TCP/IP 必须已启用。这包括禁用特定端口上的防火墙和启用 SQL Browser 服务。

  • 如果您已安装 Service Bus for Windows Server 的早期版本,请参阅Upgrading Service Bus from Previous Releases

  • 如果您先前已安装 Service Bus,请确保删除以下数据库:SBGatewayDatabase、SBManagementDB、ServiceBusDefaultContainer。

  • 使用当前用户凭据运行的服务。

  • 安装脚本需要一个域帐户。

  • Service Bus 使用自动生成的证书。

备注

此入门教程假定您未更新运行 Service Bus for Windows Server 1.0 的现有 Service Bus for Windows Server 场。

安装 Service Bus

首先,请确保卸载现有的 Windows Fabric 服务以及 Service Bus。然后,执行以下操作:

使用 Web 平台安装程序公用源

  1. 此处安装 Microsoft Web 平台安装程序 4.6。

  2. 启动 Web 平台安装程序。在“产品”下方,单击“Windows Azure”,然后搜索“Windows Azure Service Bus 1.1”。

    Web PI

配置 Service Bus for Windows Server

使用配置向导配置 Service Bus

配置 Service Bus for Windows Server 1.1 场所需的步骤与在此处指定的步骤类似。

Web 平台安装程序完成后,可以启动 Service Bus 配置向导。使用以下过程:

  1. 在“开始”菜单中,单击“所有程序”。然后,单击“Service Bus 1.1”。单击“Service Bus 配置”以启动 Service Bus 配置向导。

    配置向导 配置向导将指导你完成配置一个新的 Service Bus 场(服务器群集)、加入现有场或退出你已加入的场的过程。此入门教程逐步引导您使用默认设置完成场的创建过程。

    Service Bus 配置向导使用 Service Bus PowerShell cmdlet 完成所有操作。你可以使用该向导来设置场属性,然后导出生成的 cmdlet 脚本供将来使用。创建场后,你无法使用该向导来修改设置或执行操作。

  2. 单击**“使用默认设置(推荐)”。此时将出现“新建场配置”**对话框。

    配置向导

  3. 在“SQL SERVER 实例”文本框中,将默认显示当前计算机上的 SQL Server 实例的名称。要指定其他 SQL Server,请键入将要托管场数据库的 SQL Server 实例的完整名称。若要验证你输入的实例名是否指向有效的实例,请单击**“测试连接”**。如果正确建立了连接,则该按钮的旁边将显示一个绿色的复选标记图标。如果出错,则将在该向导中显示一条消息。

  4. 在“配置服务帐户”下,你的用户 ID 将显示在“用户 ID”文本框中,用于标识在其下有服务运行的用户帐户。在“密码”文本框中输入该用户 ID 的密码。向导将验证用户 ID 和密码的组合,如果它发现错误,将通知你重新输入用户 ID 和密码。所有 Service Bus 服务均使用相同的用户凭据。

  5. 在“证书生成密钥”下的第一个文本框中输入密钥,然后在“确认证书生成密钥”下的文本框中重新输入,确认第一次输入的密钥。请记录该密钥以备将来使用;每次将计算机添加到此场时,均必须提供该密钥。配置 cmdlet 将使用此密钥来生成证书。你可以使用自定义设置选项来指定自定义证书。

  6. 使用**“在此计算机上启用防火墙规则”**复选框可以指示你是否对允许配置向导创建防火墙规则感兴趣。仅当 Service Bus 客户端(您的应用程序)将与 Service Bus 在同一服务器上运行时,才取消选中此框。

  7. 如果需要在 Windows Azure Pack 门户中管理 Service Bus 场,单击“使用 Service Bus 管理门户管理此场”。

  8. 设置用户名\密码(未加入域的用户),以便门户与 Service Bus 通信。请注意,您需要提供不同的两组。

    配置

    备注

    利用配置向导可指定 Windows Azure Pack 站点连接到 Service Bus 所需的参数。如果您计划将 Service Bus for Windows Server 场连接到 Windows Azure Pack 站点,必须配置两组用户名和密码,它们用于保证门户和 Service Bus for Windows Server 场之间的 API 调用的安全。

    备注

    Service Bus 和 Windows Azure Pack 站点之间的身份验证不基于 Windows 身份验证。因此,在输入用户名和密码时,不要输入域用户(管理 API 和租户 API 都是如此)。

  9. 单击**“下一步”**。向导将显示“摘要”屏幕,其中列出了您输入的值,以及剩余配置选项的默认值。该屏幕还将分别针对整个场和 Service Bus for Windows Server 1.0 显示配置选项和值。向导还将验证配置的值是否对此计算机有效。如果出现任何错误,向导将显示错误页,并且不允许你进一步继续操作。你可以返回以更改导致出错的配置,在可能情况下也可以在向导外部修复错误。

    对于某些错误,使用默认配置可能无法继续。例如,如果用于 Service Bus for Windows Server 1.0 管理的默认端口被某个应用程序阻止,可能无法对其解除阻止。如果使用默认配置无法继续,则必须使用自定义设置创建新场。

    提示

    如果你在向导外部修复了任何错误,可以使用重新验证按钮再次验证配置。

    提示

    如果要使用 PowerShell 配置 Service Bus for Windows Server,则可以单击“获取 PowerShell 命令”,基于此页面上的当前配置来生成脚本。

  10. 单击“应用”可批准所列选项、创建新场,并可将服务器添加到新场。单击**“上一步”可返回到“新建场配置”**页并更改你创建的条目。

在 Windows Azure Pack 管理站点中配置 Service Bus

在配置 Service Bus for Windows Server 场之后,可以将其连接到 Windows Azure Pack 管理站点,使管理员和租户能够使用利用 Windows Azure Pack 租户站点的 Service Bus for Windows Server。

可以首先设置 Windows Azure Pack 管理站点,也可以在配置完 Service Bus for Windows Server 场之后再安装它。

备注

Windows Azure Pack 租户站点中不显示使用 Service Bus 管理员 PowerShell cmdlet (New-SBNamespace) 创建的 Service Bus 命名空间。

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

  1. 安装和配置 Windows Azure Pack 管理站点。请参阅位于此处的 Windows Azure Pack 部署指南。

  2. 浏览到 Windows Azure Pack Service 管理门户。单击“新建”,然后依次单击“Service Bus 云”和“连接到”。

    门户

  3. 提供容易辨认的唯一名称,在 Windows Azure Pack 站点中将通过此名称确定 Service Bus 云。

  4. 输入场的“资源提供”终结点。它应类似如下:

    https://<ServiceBusFQDN>:9359
    
  5. 输入在创建场时(在 new-sbFarm cmdlet 中或者在 Service Bus for Windows Server 配置向导中)提供的管理员和租户用户名和密码。

  6. 在您成功通过 Service Bus for Windows Server 场的身份验证时,将在 Windows Azure Pack 站点中看到新创建的 Service Bus for Windows Server 云。

    门户

使用 Windows Azure Pack 站点设置 Service Bus 命名空间

在 Windows Azure Pack 管理员站点中创建包括 Service Bus 的计划。请执行以下操作:

  1. 在 Windows Azure Pack 管理员门户中,单击“计划”,然后单击“创建计划”。

    WAP 门户

  2. 在新创建的计划中启用 Service Bus。选择将作为计划一部分提供的 Service Bus 云。

    WAP 门户

  3. 这样租户便可以使用它,将计划设置为公共计划。或者,设置邀请码。

    WAP 门户

  4. 确保将计划设置为允许无限制的订阅。

    WAP 门户

使用 PowerShell 配置 Service Bus

第一步是选择在生成证书时使用的密码。请注意,必须在 Service Bus PowerShell 命令窗口中执行这些步骤。使用你的密码创建安全字符串。

  1. 选择在生成证书时要使用的密码。发出以下命令:

    $mycert=ConvertTo-SecureString -string <Password> -force -AsPlainText
    
  2. 创建场:

    New-SBFarm –SBFarmDBConnectionString "data source=localhost\sqlexpress;integrated security=true" –CertificateAutoGenerationKey $mycert
    
  3. 将主机添加到场

    Add-SBHost -CertificateAutoGenerationKey $mycert -SBFarmDBConnectionString "data source=localhost\sqlexpress; integrated security=true"
    

    备注

    系统将提示你输入密码。

  4. 检查场的状态

    Get-SBFarmStatus
    

    预期的结果应类似于以下内容:

    HostName      ProcessName               Status
    --------      -----------               ------
    ...      Service Bus Gateway            Running
    ...      Service Bus Message Broker     Running
    ...      FabricHostSvc                  Running
    
  5. 创建你的第一个服务命名空间

    New-SBNamespace –Name DemoSB –ManageUsers  yourDomain\yourUsername
    

    预期的结果应类似于以下内容:

    Name                  : <Namespace Name>
    AddressingScheme      : Path
    CreatedTime           : 5/1/2012 5:30:49 PM
    IssuerName            : <Namespace Name>
    IssuerUri             : <Namespace Name>
    ManageUsers           : {<domain\user>}
    Uri                   :
    ServiceIdentifier     :
    PrimarySymmetricKey   : <GUID>
    SecondarySymmetricKey :
    

如果你需要重置自动生成的密钥,请发出以下 PowerShell 命令:

Set-SBCertificateAutoGenerationKey –SBFarmDBConnectionString "data source=<hostname>\sqlexpress;integrated security=true"

使用 PowerShell 设置 Service Bus 命名空间(无 Windows Azure Pack)

  1. 发出 Get-SBNamespace PowerShell 命令,检查您是否已经创建 服务命名空间:

    Get-SBNamespace
    
  2. 如果没有 服务命名空间,则发出以下 New-SBNamespace PowerShell 命令创建一个:

    New-SBNamespace -name DemoSB -ManageUsers yourDomain\YourAccount
    

    此命令创建名为“DemoSB”的 Service Bus 服务命名空间。

  3. 发出以下 Get-SBClientconfiguration PowerShell 命令检索 Service Bus 连接字符串:

    Get-SBClientconfiguration –namespace DemoSB