NATS
watermill
NATS | watermill | |
---|---|---|
125 | 28 | |
17,482 | 8,656 | |
1.3% | 2.0% | |
9.9 | 8.5 | |
4 days ago | 12 days ago | |
Go | Go | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
NATS
- Show HN: A Go service that exposes a FIFO message queue in RAM
- Redis is open source again
-
CNCF tells main NATS contributor Synadia that it's free to fork off
[1] https://github.com/nats-io/nats-server/issues/6832#issuecomm...
-
What If We Could Rebuild Kafka from Scratch?
https://nats.io is easier to use than Kafka and already solves several of the points in this post I believe, like removing partitions, supporting key-based streams, and having flexible topic hierarchies.
-
Protecting NATS and the integrity of open source
Look at the contribution history, basically all active contributors work for Synadia: https://github.com/nats-io/nats-server/graphs/contributors
That's not a healthy / functioning open source community. Less than 30 people have made more than 10 commits; most of the 160 were "drive by" who fixed a single small thing.
-
Testing Microservices: Message Isolation for Kafka, SQS, More
NATS, with its lightweight and high-performance design, offers features well-suited for sandbox testing. We can leverage NATS queue groups, which function similarly to Kafka consumer groups.
-
Kubernetes on Autopilot: Event-Driven Automation Across Clusters
In today’s dynamic cloud environments, managing Kubernetes resources across multiple clusters can be a complex task. Traditional methods often lack the agility and event-driven architecture needed to respond quickly to changes and automate resource provisioning. This article explores how Sveltos, in conjunction with NATS and JetStream, simplifies multi-cluster Kubernetes management through event-driven automation, streamlining operations and improving responsiveness.
-
I'll think twice before using GitHub Actions again
hey thanks!
definitely interesting!
I do wonder if this really solves the author problem because by the looks of it , you just have to run meta command and it would run over each of the sub directory. While at the same time , I think I like it because this is what I think people refer to as "modular monolith"
Combining this with nats https://nats.io/ (hey if you don't want it to be over the network , you could use nats with the memory model of your application itself to reduce any overhead) and essentially just get yourself a really modular monolith in which you can then seperate things selectively (ahem , microservices) afterwards rather easily.
- A Distributed Systems Reading List
-
realtime chat with bot using data-star
and now decided to write more complex things using https://nats.io and https://data-star.dev -
watermill
- Watermill – Building event-driven applications the easy way in Go
- Show HN: Watermill – A Go library for building event-driven applications
- Watermill -- a Go library for working efficiently with message streams
-
Microservices communication
I’ve successfully worked on projects using an asynchronous event-driven way of connecting services. I really like the decoupling of business logic and the events triggering it. I highly recommend https://github.com/ThreeDotsLabs/watermill to be more flexible when it comes to choosing the actual technology driving the async patter. It might be NATS today but requirements might change and you need to change. Watermill prepares you for this.
-
Public chatroom websocket project in Go
Highly recommend https://watermill.io lib for building async apps (using among others pub/sub patterns). It greatly decouples your code from the underlying technology and gives you the freedom to choose depending on the environment (e.g dev, prod). For dev or small scale purposes, it supports pub/sub purely based on go channels.
-
How did you solve the problem of transactions between different databases and services?
Look at this library: https://github.com/ThreeDotsLabs/watermill
-
Examples of using task scheduler with Go?
Watermill is a good pubsub abstraction. You can start with native go channels and grow into a cloud pubsub or Kafka/Pulsar if you need to.
-
Small EDA/Micro service Project
These conditions have led me to discover two packages watermill.io and go-kit. Both of these seem to do what I want and I am thinking of implementing the project using watermill and go Chanels and deploying to a server or some sort.
-
Event Observer Pattern in Go
github.com/ThreeDotsLabs/watermill package provides a framework for building event-driven applications. It allows easy communication between independent components by decoupling the sender and the receiver.
-
I've just started learning Golang, and I'm struggling to choose a framework.
My personal favorite tools: - https://github.com/go-kit/ for building services (although it's not necessary a great tool for prototyping) - https://github.com/gorilla/mux router (although it's been recently deprecated, so I'm looking for a similar, maintained library) - https://entgo.io/ ORM - https://watermill.io/ for messaging
What are some alternatives?
celery - Distributed Task Queue (development branch)
Asynq - Simple, reliable, and efficient distributed task queue in Go
ZeroMQ - ZeroMQ core engine in C++, implements ZMTP/3.1
NATS - Golang client for NATS, the cloud native messaging system.
Apache ActiveMQ - Apache ActiveMQ Classic
sarama - Sarama is a Go library for Apache Kafka. [Moved to: https://github.com/IBM/sarama]