60 releases
0.21.0 | Jun 22, 2023 |
---|---|
0.19.5 | Aug 1, 2022 |
0.19.4 | Sep 29, 2021 |
0.17.0 | Jun 15, 2021 |
0.3.1 | Mar 5, 2019 |
#31 in #event-driven
Used in 4 crates
150KB
3K
SLoC
Agent
An agent library.
License
The source code is provided under the terms of the MIT license.
lib.rs
:
Overview
svc-agent is a library implementing common MQTT agent messaging pattern conventions and abstracting out the protocol's specifics to enable building microservices with full-duplex communication.
On the broker side its counterpart is mqtt-gateway plugin for VerneMQ.
Key concepts
svc-agent is about exchanging messages between agents using pub-sub model.
An agent is a service or end user who can publish and subscribe to messages. Each agent has a unique AgentId.
Message can be of three types:
- Requests that end users send to services. Services may call other services too.
- Responses that services send back.
- Events that just may happen in services and it pushes a notification to subscribers.
Each outgoing message has a Destination and each incoming message has a Source which can also be of three types:
- Broadcast that is being received by each of the subscribed agents.
- Multicast that is being received by only one agent of a SharedGroup of subscribers.
- Unicast that is intended for a specific agent.
Dependencies
~13–28MB
~526K SLoC