amqp091-go
Centrifugo
Our great sponsors
amqp091-go | Centrifugo | |
---|---|---|
2 | 31 | |
1,271 | 7,815 | |
7.3% | 1.5% | |
7.4 | 9.0 | |
15 days ago | about 23 hours ago | |
Go | Go | |
GNU General Public License v3.0 or later | Apache License 2.0 |
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.
amqp091-go
-
How to plan and execute a large number of tasks in Go?
For rabbitmq I used -> https://github.com/streadway/amqp which is deprecated now for -> https://github.com/rabbitmq/amqp091-go
-
Go and ElasticSearch full-text search microservice in k8s👋✨💫
Elasticsearch client for Go RabbitMQ Go RabbitMQ Client Library Jaeger open source, end-to-end distributed tracing Prometheus monitoring and alerting Grafana for to compose observability dashboards with everything from Prometheus Echo web framework Kibana is user interface that lets you visualize your Elasticsearch Docker and docker-compose Kubernetes K8s Helm The package manager for Kubernetes
Centrifugo
- Millions of Active WebSockets with Node.js
-
Show HN: DriftDB is an open source WebSocket back end for real-time apps
https://github.com/centrifugal/centrifugo
It's a complete solution, including server, admin panel and client library.
We're an European company and use OVH, Hetzner and others.
-
Laravel Websockets vs Soketi vs Laravel Echo Server
Hello! Theoretically you can take a look at https://github.com/centrifugal/centrifugo - which is a standalone self-hosted real-time messaging server. It does not have native support for Laravel and not compatible with Pusher protocol, though integrating with any backend system, including Laravel: see the blog post https://centrifugal.dev/blog/2021/12/14/laravel-multi-room-chat-tutorial, also has some helper packages:
-
What is the coolest Go open source projects you have seen?
Centrifugo https://centrifugal.dev/ https://github.com/centrifugal/centrifugo
- Golang updating the front-end with almost real-time events from the backend server
- Concurrency with Gin
-
Woe be onto you for using a WebSocket
Every time I read criticism of WebSockets it reminds me about WebSuckets (https://speakerdeck.com/3rdeden/websuckets) presentation :)
I am the author of Centrifugo server (https://github.com/centrifugal/centrifugo) - where the main protocol is WebSocket. Agree with many points in post – and if there is a chance to build sth without replacing stateless HTTP to persistent WebSocket (or EventSource, HTTP-streaming, raw TCP etc) – then definitely better to go without persistent connections.
But there are many tasks where WebSockets simply shine – by providing a better UX, providing a more interactive content, instant information/feedback. This is important to keep - even if underlying stack is complicated enough. Not every system need to scale to many machines (ex. multiplayer games with limited number of players), corporate apps not really struggle from massive reconnect scenarios, and so on. So WebSockets are definitely fine for certain scenarios IMO.
I described some problems with WebSockets Centrifugo solves in this blog post - https://centrifugal.dev/blog/2020/11/12/scaling-websocket. I don't want to say there are no problems, I want to say that WebSockets are fine in general and we can do some things to deal with things mentioned in the OP's post.
- Centrifugo – self-hosted real-time messaging server with bidirectional (WebSocket, SockJS) and unidirectional transports (Eventsource, HTTP-streaming, GRPC), JSON and Protobuf protocols, builtin scalability with PUB/SUB brokers, fully universal/language-agnostic.
-
Updating flutter app data from REST API in real-time
Install Centrifugo - https://github.com/centrifugal/centrifugo
-
Just another simple, fast, and resilient open-source WebSockets server. 📣
For those who looking into Laravel WebSockets replacement give a chance to https://github.com/centrifugal/centrifugo - it proved to help a lot dealing with WebSocket connections to backends built in languages without native/performant concurrency support. So you can continue writing business logic in Laravel, but let Centrifugo deal with persistent connection management and issue real-time updates over API.
What are some alternatives?
Socket.io - Realtime application framework (Node.JS server)
NATS - Golang client for NATS, the cloud native messaging system.
Confluent Kafka Golang Client - Confluent's Apache Kafka Golang client
Mercure - 🪽 An open, easy, fast, reliable and battery-efficient solution for real-time communications
laravel-websockets - Websockets for Laravel. Done right.
Uniqush-Push - Uniqush is a free and open source software system which provides a unified push service for server side notification to apps on mobile devices.
soketi - Next-gen, Pusher-compatible, open-source WebSockets server. Simple, fast, and resilient. 📣
Pusher - Ruby library for Pusher Channels HTTP API
websocket - A fast, well-tested and widely used WebSocket implementation for Go.
go-nsq - The official Go package for NSQ
go-mq - Declare AMQP entities like queues, producers, and consumers in a declarative way. Can be used to work with RabbitMQ.