UE Streams Integrations
The pages of this section will provide example and how-tos to connect an open source NATS client to UE Streams. There are several compatible clients available from the NATS community, but we recommend the following for the access to streams and subjects.
data.uecore.io:4222
This is the server DNS for clients to connect to UE Streams.
Examples are in Node.js
Most of the examples are currently in JavaScript. We will work on additional stack examples as well. Nevertheless, most of the clients implement connections and interaction with the streams using the same APIs and approaches so these examples should get you started.
Whats are Subject and Streams?
UE Streams implements data streaming and queuing using the NATS approach of subjects and streams.
Subjects
Subjects are data pipes where messages are only received if someone is listening to the transmission. These are considered "at-most-once" delivery systems.
Streams
Streams are a wrapper around subjects that provide persistence for the data moving through the pipe and allow consumers to receive the data at a later time after transmission. Streams are considered "at-least-once" delivery systems.
Pros and Cons
Streams and subjects are complimentary approaches to event messaging. There are pros and cons to using one approach over the other.
Subjects
Pros | Cons |
---|---|
Simpler Setup and configuration | Less resilient to system outage |
Faster implementations | Less suitable for cross solution integrations |
Bi-directional request/response | Difficult to debug issues with data |
Load balanced queue groups | Not suitable for data that requires audit of transmission |
Less of a security risk in terms of message transmission because subscribers cannot access past messages |
Streams
Pros | Cons |
---|---|
Highly resilient for enterprise topologies and use cases | More complex in terms of setup and configuration |
Data replication for additional resiliency | Slower implementation |
Maintains queue group features | Permissions associated are more complex |
Maintains bi-directional data features | Requires an architecture that is idempotent on the consuming side |
More suitable for cross-solution enterprise integration | Higher security risk associated to message transmission because consumers can access past data |
Easier to debug issues with data | |
Message queue is auditable during retention period |
Updated almost 2 years ago