跳到主要内容

第三步:设置势度Saydo Try-Me CLI工具

您已经完成了第二步:势度Saydo EDA基础


在第三步中,您将设置势度Saydo Try-Me CLI工具,以便使用它完成后续步骤中的练习。

Saydo Try-Me CLI工具让您能够做到不仅仅是在Broker Manager中刚刚使用的TryMe!。它包括了一系列能力,既适合新手也适合有经验的用户。它使用默认设置来处理各种参数,如事件主题、消息内容和订阅,反映了Saydo JavaScript API中记录的默认值。这种设置允许您在没有显著初始配置的情况下开始实验。

设置好Saydo Try-Me CLI工具后,我们将向您介绍我们将使用该工具的用例。

要使用Saydo Try-Me CLI工具,您需要下载它并将其连接到您的事件代理。有关Saydo Try-Me CLI工具和详细说明的更多信息,请参见Saydo Try-Me CLI README文件。

您有三种选项来下载和安装Saydo Try-Me CLI工具:

  1. macOS使用Homebrew

  2. Linux或Windows上的WSL使用apt-get

  3. 手动下载选项(Windows、macOS或Linux)

macOS使用Homebrew

要在macOS上安装Saydo Try-Me CLI,请使用Homebrew和以下命令:

brew tap SolaceLabs/stm
brew install stm

Linux或Windows上的WSL使用apt-get

您可以使用以下步骤在Linux或Windows子系统(WSL)上安装Solace Try-Me CLI:

  1. 运行以下命令以将SolaceLabs仓库添加到apt:
echo "deb [arch=amd64 trusted=yes] https://raw.githubusercontent.com/SolaceLabs/apt-stm/master stm main" | sudo tee  /etc/apt/sources.list.d/solace-stm-test.list
  1. 使用以下命令安装最新版本的Solace Try-Me CLI:
sudo apt-get update
sudo apt-get install stm

手动下载选项(Windows、macOS或Linux)

您也可以通过执行以下步骤手动下载工具的最新版本:

  1. 从Solace Try-Me CLI发布页面下载适用于您操作系统的最新版本的Solace Try-Me CLI工具。
  2. 解压ZIP文件。
  3. 按照Solace Try-Me CLI README文件中的说明在您的操作系统上安装它。

您可以按照以下步骤运行Solace Try-Me CLI:

  1. 打开命令提示符或终端。
  2. 首先运行版本命令以验证您已安装最新版本:
stm -v

返回的版本号应与您下载的版本相匹配。

  1. 运行帮助命令以查看可用命令列表:
stm -help

返回的结果显示了命令结构:

stm
├── -v, --version /* 输出版本号 */
├── -h, --help /* 显示命令的帮助 */
├── -he, --help-examples /* 显示示例 */
├── send /* 执行发送命令 */
├── receive /* 执行接收命令 */
├── request /* 执行请求命令 */
├── reply /* 执行回复命令 */
├── config /* 管理命令配置 */
│ ├── -h, --help /* 显示命令的帮助 */
│ ├── -he, --help-examples /* 显示示例 */
│ ├── init /* 初始化命令配置 */
│ ├── list /* 列出命令配置 */
│ └── delete /* 删除命令配置 */
└── manage /* 管理连接和资源 */
├── -h, --help /* 显示命令的帮助 */
├── -he, --help-examples /* 显示示例 */
├── connection /* 管理VPN连接 */
├── semp-connection /* 管理VPN SEMP连接 */
├── queue /* 管理队列 */
├── client-profile /* 管理客户端配置文件 */
├── acl-profile /* 管理ACL配置文件 */
└── client-username /* 管理客户端用户名 */

要使用Solace Try-Me CLI与PubSub+ Cloud事件代理服务连接,请跳转到将Solace Try-Me CLI工具连接到PubSub+ Cloud事件代理服务。

您可以使用Solace Try-Me CLI工具与您在第一步中设置的试用软件事件代理进行通信。软件事件代理对消息传递和管理有默认设置。

消息传递设置包括:

  • WebSocket连接的事件代理URL(localhost和端口8008)
  • 消息VPN(默认)
  • 客户端用户名(默认)
  • 密码(默认)。

管理设置包括:

  • SEMP URL(localhost和8080)
  • 消息VPN(默认)
  • SEMP用户名(admin)
  • SEMP密码(admin)。

运行stm命令时,如果没有配置引用,则会自动在以下位置创建默认配置:

  • 在Windows上,配置文件存储在%USERPROFILE%\.stm文件夹中。

  • 在Linux和macOS上,配置文件存储在$HOME\.stm~\.stm文件夹中。

您可以查看一个示例默认配置,以了解更多关于默认设置的信息。

要使用stm配置您的软件事件代理,请执行以下步骤:

  1. 在命令提示符或终端中,使用以下命令初始化配置:
stm config init

您应该看到以下结果:

✔  success   success: initialized configuration with default command settings on 'stm-cli-configuration.json' successfully

连接配置使用您本地软件事件代理的默认设置进行初始化:

事件代理连接事件代理SEMP连接
事件代理URL:ws://localhost:8008事件代理SEMP URLhttp://localhost:8080/SEMP/v2/config
VPN名称:默认VPN名称:默认
用户名:默认SEMP用户名:默认
密码:默认SEMP密码:默认
  1. 要更新消息命令的连接设置,请运行以下命令:
stm manage connection --url ws://localhost:8008 --vpn default --username default --password default

您应该看到以下结果:

ℹ  info      info: loading 'connection' command from configuration 'local-broker'
ℹ info info: loading configuration 'local-broker'
ℹ info info: checking settings for operation - connection
✔ success success: updated command settings 'connection' on configuration file 'local-broker.json' successfully
  1. 要更新管理队列、ACL配置文件、客户端配置文件和客户端用户名的SEMP连接设置,请运行以下命令:
stm manage semp-connection --semp-url http://localhost:8080/SEMP/v2/config --semp-vpn default --semp-username admin --semp-password admin

您应该看到以下结果:

ℹ  info      info: loading 'sempconnection' command from configuration 'stm-cli-config.json'
ℹ info info: loading configuration 'stm-cli-config.json'
ℹ info info: checking settings for operation - sempconnection
✔ success success: updated command settings 'sempconnection' on configuration file 'stm-cli-config.json' successfully

如果您想为不同的事件代理创建额外的配置,可以通过在之前的命令中添加一个额外的参数--config <CONFIG_NAME>来创建新的配置。您可以通过在任何消息和管理命令中指定它来引用命名配置。

如果您还想要尝试使用Solace Try-Me CLI工具与PubSub+ Cloud事件代理服务,可以跳过使用案例。

与本地软件事件代理不同,云事件代理服务需要显式初始化,因为每个实例的参数都有所不同。

要使用Solace Try-Me CLI工具与您在第一步中创建的事件代理服务一起使用,您首先需要从云控制台中的事件代理服务收集所需的设置。

要使用stm配置您的事件代理服务,请执行以下步骤:

  1. 在浏览器中,访问PubSub+ Cloud登录页面,并使用您注册时使用的电子邮件地址和密码登录。

  2. 从导航栏中选择Cluster Managerimg

  3. 选择您的事件代理服务。

  4. 复制事件代理连接信息。

    1. 服务详情页面上,选择连接标签。
    2. Solace Web Messaging部分,点击展开img以查看连接信息。
    3. 连接详情下复制以下信息:
      • 用户名
      • 密码
      • 消息VPN
      • 安全Web消息主机
  5. 复制SEMP连接信息。

    1. 服务详情页面上,选择管理标签。
    2. SEMP - REST API部分,点击展开以查看SEMP连接信息。
    3. 连接详情下复制以下信息:
      • 公共互联网
      • 用户名
      • 密码
      • 消息VPN名称
  6. 在命令提示符或终端中,使用以下命令初始化配置:

stm config init

您应该看到以下结果:

✔  success   success: initialized configuration with default command settings on 'stm-cli-configuration.json' successfully
  1. 使用您在步骤4中复制的详细信息,运行以下命令更新消息命令的连接设置:
stm manage connection --url wss://mr-connection-xxxx.messaging.solace.cloud:443 --vpn xxxxxxxx --username solace-cloud-client --password xxxxx

您应该看到以下结果:

ℹ  info      info: loading 'connection' command from configuration 'stm-cli-configuration.json'
ℹ info info: loading configuration 'cloud-broker'
ℹ info info: checking settings for operation - connection
ℹ info info: [1] url of connection changed: ws://localhost:8008 => wss://mr-connection-xxxx.messaging.solace.cloud:443
ℹ info info: [2] vpn of connection changed: default => xxxxxxxx
ℹ info info: [3] username of connection changed: default => solace-cloud-client
ℹ info info: [4] password of connection changed: default => xxxxx
⚠ warning warn: VPN Connection settings changed, this would impact all the messaging commands on the configuration
Changes detected in the settings, do you want to overwrite (y/n): y
✔ success success: updated command settings 'connection' on configuration file 'stm-cli-configuration.json' successfully
  1. 使用您在步骤5中复制的详细信息,运行以下命令更新管理队列、ACL配置文件、客户端配置文件和客户端用户名的SEMP连接设置:
stm manage semp-connection --semp-url https://mr-connection-xxxx.messaging.solace.cloud:943/SEMP/v2/config --semp-vpn xxxxxxxx --semp-username xxx-admin --semp-password xxxxx

您应该看到以下结果:

ℹ  info      info: loading 'sempconnection' command from configuration 'cloud-broker'
ℹ info info: loading configuration 'stm-cli-config.json'
ℹ info info: checking settings for operation - sempconnection
ℹ info info: [1] sempUrl of sempconnection changed: http://localhost:8080 => https://mr-connection-xxxx.messaging.solace.cloud:943/semp/v2/config
ℹ info info: [2] sempVpn of sempconnection changed: default => my-broker
ℹ info info: [3] sempUsername of sempconnection changed: admin => xxx-admin
ℹ info info: [4] sempPassword of sempconnection changed: admin => xxxxx
⚠ warning warn: VPN SEMP Connection settings changed, this would impact all the management commands on the configuration
Changes detected in the settings, do you want to overwrite (y/n): y
✔ success success: updated command settings 'sempconnection' on configuration file 'stm-cli-configuration.json' successfully

如果您想为不同的事件代理创建额外的配置,可以通过在之前的命令中添加一个额外的参数--config <CONFIG_NAME>来创建新的配置。您可以通过在任何消息和管理命令中指定它来引用命名配置。

咖啡店用例

现在您已经设置好了工具,让我们前往我们最喜欢的咖啡店,更仔细地看看其订单管理系统(OMS),看看如何组织一个基本的事件驱动架构(EDA)。

Solly's Coffee OMS旨在处理和处理通过移动和网络平台上第三方应用程序的客户下单。这种设置需要部署复杂的消息交换模式,以确保OMS、其各个组件和第三方应用程序之间的无缝通信。

以下应用程序是Solly's Coffee的EDA的一部分:

  • 第三方应用与OMS集成,并直接从面向客户的应用程序向OMS提交新订单。

  • 订单管理是接收新订单和协调履行过程的中心枢纽。

  • 库存系统提供成分和库存水平的洞察,以帮助确保可用性。

  • 厨房楼层评估库存并开始实际准备订单。

  • 咖啡师系统提供前台面向客户的界面,使得订单可以被取走,并提供订单状态更新。

以下事件促进了应用程序之间的交互:

  • OM-New Order:第三方应用在接收到新订单时发送给订单管理应用。该事件包含订单的详细信息。

  • OM-Order Details:订单管理应用发送给其他应用以提供订单的详细信息。

  • OM-Order Update:订单管理应用发送以提供订单状态的实时更新,以反映履行过程中的进展。

  • KF-Order Prep Started:厨房楼层应用发送以标记订单在厨房开始准备。

  • KF-Order OutOfStock:厨房楼层应用在订单准备过程中发生缺货情况时发送,影响厨房履行订单的能力。

  • KF-Order Ready:厨房楼层应用在订单成功准备并可在咖啡师站取走时发送。

  • IS-Stock Check:厨房楼层应用发送给库存系统应用以检查履行订单所需的物品的可用性。

  • BS-Order Completed:咖啡师站应用在订单被取走时发送,以标记订单处理完成和特定订单周期的结束。

应用程序之间的事件流在以下图表中进行了说明:

img

在教程的后续步骤中,您将使用这些应用程序和事件设置消息交换。

教程步骤

您已经完成了教程的第三步。点击链接进入下一课。

步骤描述
img设置您的第一个事件代理 - 完成
imgSaydo EDA基础 - 完成
img设置Saydo试用CLI工具 - 完成
img尝试发布-订阅消息交换模式 - 下一课
img尝试请求-响应消息交换模式
img探索消费者扩展模式
img下一步

您可以随时返回到主教程页面。