SaaSHub helps you find the best software and product alternatives Learn more →
NATS Alternatives
Similar projects and alternatives to NATS
-
NATS
High-Performance server for NATS.io, the cloud and edge native messaging system.
-
Centrifugo
Scalable real-time messaging server in a language-agnostic way. Self-hosted alternative to Pubnub, Pusher, Ably. Set up once and forever.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
-
EventBus
[Go] Lightweight eventbus with async compatibility for Go (by asaskevich)
-
-
-
emitter
Emits events in Go way, with wildcard, predicates, cancellation possibilities and many other good wins (by olebedev)
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
Confluent Kafka Golang Client
Confluent's Apache Kafka Golang client
-
mangos
mangos is a pure Golang implementation of nanomsg's "Scalablilty Protocols" (by nanomsg)
-
Gitea
Git with a cup of tea! Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD
-
terraform
Terraform enables you to safely and predictably create, change, and improve infrastructure. It is a source-available tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.
-
-
-
-
-
machinery
Machinery is an asynchronous task queue/job queue based on distributed message passing.
-
-
Redis
Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes, Streams, HyperLogLogs, Bitmaps.
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
NATS reviews and mentions
-
High-Performance server for NATS.io, the cloud and edge native messaging system
(note that NATS Streaming is a now deprecated predecessor to NATS JetStream)
Pull does have advantages over push (e.g. one-to-one flow control since the transfer of the messages is initiated by the client (pull requests)), and they are basically functionally equivalent (only thing push can do that pull can not is send a copy of all the message to all the subscribers, should you ever need it). They both exists because historically push came first and then pull later).
As a developper using NATS JetStream you should really not have to worry about push or pull, you should just care whether you want to consume the messages via call back or via an iterator or via fetching batches, after that whether pull or push is being used underneath the covers is irrelevant to you.
And this is exactly how it is in the new JetStream API (https://github.com/nats-io/nats.go/tree/main/jetstream#readm...) you don't have to worry about push/pull anymore and you can consume in any of the 3 ways described above (callback, iterator, fetch batch) it's all a lot simpler and easier to use.
-
What is the coolest Go open source projects you have seen?
nats: Golang client for NATS, the cloud native messaging system
-
Distributed communication patterns with NATS
Install the nats.go package
- Redis vs. Kafka vs. RabbitMQ
-
Distributed messaging with NATS
Now that our NATS server is running, we'll be using Go and Node.js clients to connect to it for simple demonstration. Not familiar with Go or Node? Don't worry NATS has clients available in over 40 languages!
- How do I build a text editor like notepad using wails
- Modern Communication: Sockets
-
Subscription management in pub/sub system
You could start by looking/reading how it is implemented in production ala https://github.com/nats-io/nats.go
-
A note from our sponsor - SaaSHub
www.saashub.com | 28 Mar 2024
Stats
nats-io/nats.go is an open source project licensed under Apache License 2.0 which is an OSI approved license.
The primary programming language of NATS is Go.