Messaging

Open-source projects categorized as Messaging
Topics: Chat Golang Go Java iOS

Top 23 Messaging Open-Source Projects

  • Apache Kafka

    Mirror of Apache Kafka

  • Project mention: On Implementation of Distributed Protocols | dev.to | 2024-04-05

    Apache Kafka — a distributed event streaming platform implementing a variant of the Raft consensus protocol (written in Java, integrated with Scala);

  • nsq

    A realtime distributed messaging platform

  • Project mention: NSQ: Open-source realtime distributed messaging, billions of messages / day | news.ycombinator.com | 2024-01-09
  • 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.

    InfluxDB logo
  • Apache RocketMQ

    Apache RocketMQ is a cloud native messaging and streaming platform, making it simple to build event-driven applications.

  • Project mention: Critical Analysis: Unraveling the Apache RocketMQ Remote Code Execution Vulnerability (CVE-2023-33246) | dev.to | 2023-07-29
  • NATS

    High-Performance server for NATS.io, the cloud and edge native messaging system.

  • Project mention: Implementing OTel Trace Context Propagation Through Message Brokers with Go | dev.to | 2024-04-04

    Several message brokers, such as NATS and database queues, are not supported by OpenTelemetry (OTel) SDKs. This article will guide you on how to use context propagation explicitly with these message queues.

  • Apache Pulsar

    Apache Pulsar - distributed pub-sub messaging system

  • Project mention: Choosing Between a Streaming Database and a Stream Processing Framework in Python | dev.to | 2024-02-10

    Stream-processing platforms such as Apache Kafka, Apache Pulsar, or Redpanda are specifically engineered to foster event-driven communication in a distributed system and they can be a great choice for developing loosely coupled applications. Stream processing platforms analyze data in motion, offering near-zero latency advantages. For example, consider an alert system for monitoring factory equipment. If a machine's temperature exceeds a certain threshold, a streaming platform can instantly trigger an alert and engineers do timely maintenance.

  • emqx

    The most scalable open-source MQTT broker for IoT, IIoT, and connected vehicles

  • Project mention: Simplest Guide to DIY Your Own LLM Toy in 2024 | dev.to | 2024-04-02

    EMQX (optional): Open-source MQTT broker for IoT, IIoT, and connected vehicles. Used for managing your toys.

  • open-im-server

    IM Chat

  • Project mention: Free Open-source messaging solution | /r/iOSProgramming | 2023-05-27

    If you are interested in Open-IM-Server, you can find the source code on GitHub: Source code , where you can also join the community and contribute to the project. You can also join the Telegram group or the WeChat group to chat with other developers and get support.

  • 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.

    WorkOS logo
  • RabbitMQ

    Open source RabbitMQ: core server and tier 1 (built-in) plugins

  • Project mention: Building Llama as a Service (LaaS) | dev.to | 2024-04-08

    Although they did not make it into production, I experimented with the RabbitMQ message broker, Python (Django, Flask), Kubernetes + minikube, JWT, and NGINX. This was a hobby project, but I intended to learn about microservices along the way.

  • Tinode

    Instant messaging platform. Backend in Go. Clients: Swift iOS, Java Android, JS webapp, scriptable command line; chatbots

  • ZeroMQ

    ZeroMQ core engine in C++, implements ZMTP/3.1

  • Project mention: Lightweight and fast AMQP (0-9-1) server | news.ycombinator.com | 2024-04-07

    Slightly OT:

    Are ZeroMQ and NanoMQ still widely used (and recommended)?

    https://github.com/zeromq/libzmq

    https://github.com/nanomq/nanomq

  • Asynq

    Simple, reliable, and efficient distributed task queue in Go

  • Project mention: Looking for a language agnostic Go task queue with Redis | /r/golang | 2023-09-12

    EDIT : I think the best for my case will be to use the asynq library with a custom js client, it's quite easy to implement (Detailed here)

  • Centrifugo

    Scalable real-time messaging server in a language-agnostic way. Self-hosted alternative to Pubnub, Pusher, Ably. Set up once and forever.

  • Project mention: WebSockets vs. Server-Sent-Events vs. Long-Polling vs. WebRTC vs. WebTransport | news.ycombinator.com | 2024-03-20

    Hello, I am author of https://github.com/centrifugal/centrifugo. Our users can choose from WebSocket, EventSource, WebTransport (experimental stabilize in the future). WebRTC is out of scope as the main purpose is central server based real-time json/binary messaging, and WebRTC makes things much more complex since it shines for peer-to-peer and rich media communications.

    What I'd like to add is that Centrifugo also supports HTTP-streaming – not mentioned by the OP – but this is a transport which has advantages over Eventsource - like possibility to send POST body on initial request from web browser (with SSE you can not), it supports binary, and with Readable Streams browser API it's widely supported by modern browsers.

    Another thing I'd like to mention about Centrifugo - it supports bidirectional WebSocket fallbacks with EventSource and HTTP-streaming, and does this without sticky sessions requirement. I guess nobody else have this at this point. See https://centrifugal.dev/blog/2022/07/19/centrifugo-v4-releas.... Which solves one more practical concern. Sticky sessions is an optimization in Centrifugo case, not a requirement.

    If you are interested in topic, we also have a post about WebSocket scalability - https://centrifugal.dev/blog/2020/11/12/scaling-websocket - it covers some design decisions made in Centrifugo.

  • gorush

    A push notification server written in Go (Golang).

  • Benthos

    Fancy stream processing made operationally mundane

  • Project mention: Ask HN: Who is hiring? (December 2023) | news.ycombinator.com | 2023-12-01
  • berty

    Berty is a secure peer-to-peer messaging app that works with or without internet access, cellular data or trust in the network

  • machinery

    Machinery is an asynchronous task queue/job queue based on distributed message passing.

  • Aeron

    Efficient reliable UDP unicast, UDP multicast, and IPC message transport

  • Project mention: LMAX Disruptor – High Performance Inter-Thread Messaging Library | news.ycombinator.com | 2023-11-17

    Semi-related is the Aeron project: https://github.com/real-logic/aeron

  • watermill

    Building event-driven applications the easy way in Go.

  • Project mention: Microservices communication | /r/golang | 2023-12-09

    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.

  • MassTransit

    Distributed Application Framework for .NET

  • Project mention: Easy to use library for RabbitMQ in dotnet core. | /r/csharp | 2023-05-21

    What would be the benefits of using your library instead of something like MassTransit?

  • XMPPFramework

    An XMPP Framework in Objective-C for Mac and iOS

  • ejabberd

    Robust, Ubiquitous and Massively Scalable Messaging Platform (XMPP, MQTT, SIP Server)

  • MessageKit

    A community-driven replacement for JSQMessagesViewController

  • Apache Camel

    Apache Camel is an open source integration framework that empowers you to quickly and easily integrate various systems consuming or producing data.

  • Project mention: Show HN: Winglang – a new Cloud-Oriented programming language | news.ycombinator.com | 2023-12-06
  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

Messaging related posts

Index

What are some of the best open-source Messaging projects? This list will help you:

Project Stars
1 Apache Kafka 27,335
2 nsq 24,561
3 Apache RocketMQ 20,558
4 NATS 14,720
5 Apache Pulsar 13,744
6 emqx 13,194
7 open-im-server 12,936
8 RabbitMQ 11,590
9 Tinode 11,532
10 ZeroMQ 9,256
11 Asynq 8,615
12 Centrifugo 7,914
13 gorush 7,616
14 Benthos 7,559
15 berty 7,291
16 machinery 7,281
17 Aeron 7,054
18 watermill 6,729
19 MassTransit 6,530
20 XMPPFramework 5,917
21 ejabberd 5,916
22 MessageKit 5,889
23 Apache Camel 5,308

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com