60 个版本

0.21.0 2023 年 6 月 22 日
0.19.5 2022 年 8 月 1 日
0.19.4 2021 年 9 月 29 日
0.17.0 2021 年 6 月 15 日
0.3.1 2019 年 3 月 5 日

#24#event-driven

Download history 48/week @ 2024-03-13 25/week @ 2024-03-20 168/week @ 2024-03-27 91/week @ 2024-04-03 6/week @ 2024-04-10 23/week @ 2024-04-17 14/week @ 2024-04-24 12/week @ 2024-05-01 11/week @ 2024-05-08 62/week @ 2024-05-15 66/week @ 2024-05-22 48/week @ 2024-05-29 684/week @ 2024-06-05 79/week @ 2024-06-12 41/week @ 2024-06-19 12/week @ 2024-06-26

818 每月下载次数
用于 4 crates

MIT 许可证

150KB
3K SLoC

代理

一个代理库。

许可证

源代码根据MIT 许可证条款提供。


lib.rs:

概述

svc-agent 是一个库,它实现了常见的 MQTT 代理消息模式约定,并抽象出协议的细节,以实现具有全双工通信的微服务。

在代理端,其对应的是 mqtt-gateway 插件,用于 VerneMQ

关键概念

svc-agent 是关于使用 pub-sub 模型在代理之间交换消息。

代理是一个可以发布和 订阅 消息的服务或最终用户。每个代理都有一个唯一的 AgentId

消息可以是三种类型之一

  1. 请求,最终用户发送给服务。服务也可以调用其他服务。
  2. 响应,服务发送回。
  3. 事件,服务中可能发生的事件,并向订阅者推送通知。

每个出站消息都有一个 Destination,每个入站消息都有一个 Source,它也可以是三种类型之一

  1. 广播,被每个已订阅的代理接收。
  2. 多播,只被一个 SharedGroup 订阅者的代理接收。
  3. 单播,旨在特定代理。

依赖关系

~13–28MB
~511K SLoC