Centrifugo
terraform
Our great sponsors
Centrifugo | terraform | |
---|---|---|
31 | 500 | |
7,914 | 41,118 | |
2.4% | 1.1% | |
9.0 | 9.9 | |
3 days ago | 7 days ago | |
Go | Go | |
Apache License 2.0 | GNU General Public License v3.0 or later |
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.
Centrifugo
-
WebSockets vs. Server-Sent-Events vs. Long-Polling vs. WebRTC vs. WebTransport
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.
- Centrifugo v5.1.0 released, with new powers for real-time messaging tasks, now with proxy GRPC subscription streams – similar to WebSocketd but over the network
-
Integrating websockets into my current app
Check out https://github.com/centrifugal/centrifugo - it was initially designed to be a standalone language-agnostic real-time messaging server. So it may be used with Django without radical change in the existing application and using ASGI. It can also provide a much better performance if you care about it.
- 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:
-
Is Python a good option to implement Websockets?
Hello, it's also possible to design an app in a way that its core will be built with Python, but WebSocket part delegated to something external and efficient like https://github.com/centrifugal/centrifugo – the benefit of the approach is that application business logic is completely decoupled from the real-time transport layer. This may lead to a scalable design with graceful degradation. I think this is especially useful when you already have backend built with Django and need to handle millions of concurrent connections.
- Centrifugo – real-time messaging server (WebSocket, etc.) which scales well and integrates with any backend. SDKs for browser and mobile development included
-
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
terraform
-
Why CISA Is Warning CISOs About a Breach at Sisense
State Encryption was one of those long requested features[0] (I had it on my ideas list for years[1]) that Hashicorp didn't have much incentive to build. I don't think it has to with distancing opentofu as such, but the opentofu team prioritizing the right things that customers actually need.
[0]: https://github.com/hashicorp/terraform/issues/9556
[1]: https://github.com/captn3m0/ideas#-mars-terraform-remote-htt...
-
OpenTofu Response to HashiCorp's Cease and Desist Letter
https://github.com/hashicorp/terraform/issues/34402
I’m not a lawyer and have no idea who is right or wrong but I understand why Hashicorp is scrutinizing this.
-
The power of the CLI with Golang and Cobra CLI
Just to give an example of the power of Go for CLI builds, you may have already used or at least heard of Docker, Kubernetes, Prometheus, Terraform, but what do they all have in common? They all have a large part of their usability via CLI and are developed in Go 🐿.
-
I Deployed My Own Cute Lil’ Private Internet (a.k.a. VPC)
Each app’s front end is built with Qwik and uses Tailwind for styling. The server-side is powered by Qwik City (Qwik’s official meta-framework) and runs on Node.js hosted on a shared Linode VPS. The apps also use PM2 for process management and Caddy as a reverse proxy and SSL provisioner. The data is stored in a PostgreSQL database that also runs on a shared Linode VPS. The apps interact with the database using Drizzle, an Object-Relational Mapper (ORM) for JavaScript. The entire infrastructure for both apps is managed with Terraform using the Terraform Linode provider, which was new to me, but made provisioning and destroying infrastructure really fast and easy (once I learned how it all worked).
- Configurar AWS Signer en lambda con terraform
- Cranelift code generation comes to Rust
-
The Essential Guide to Internal Developer Platforms
For example, integrating Terraform for infrastructure as code (IaC) into the IDP can streamline updates and rollbacks.
-
Experience Continuous Integration with Jenkins | Ansible | Artifactory | SonarQube | PHP
In this project, you will understand and get hands on experience around the entire concept around CI/CD from applications perspective. To fully gain real expertise around this idea, it is best to see it in action across different programming languages and from the platform perspective too. From the application perspective, we will be focusing on PHP here; there are more projects ahead that are based on Java, Node.js, .Net and Python. By the time you start working on Terraform, Docker and Kubernetes projects, you will get to see the platform perspective of CI/CD in action.
-
The 2024 Web Hosting Report
Infrastructure as Code (IaC) is an important part of any true hosting operation in the public cloud. Each of these platforms has their own IaC solution, e.g. AWS CloudFormation. But they also support popular open-source IaC tools like Pulumi or Terraform. A category of tools that also needs to be discussed is API gateways and other app-specific load balancers. There are applications for internal consumption, which can be called microservices if you have a lot of them. And often microservices use advanced networking options such as a service mesh instead of just the native private network offered by a VPC.
-
🦊 GitLab CI: Deploy a Majestic Single Server Runner on AWS
To quickly deploy the architecture, we will be using Terraform. With Terraform, we can automate the deployment process and have our infrastructure up and running in minutes.
What are some alternatives?
Socket.io - Realtime application framework (Node.JS server)
terragrunt - Terragrunt is a thin wrapper for Terraform that provides extra tools for working with multiple Terraform modules.
NATS - Golang client for NATS, the cloud native messaging system.
Docker Compose - Define and run multi-container applications with Docker
Confluent Kafka Golang Client - Confluent's Apache Kafka Golang client
terraform-provider-restapi - A terraform provider to manage objects in a RESTful API
Mercure - 🪽 An open, easy, fast, reliable and battery-efficient solution for real-time communications
crossplane - The Cloud Native Control Plane
laravel-websockets - Websockets for Laravel. Done right.
boto3 - AWS SDK for Python
soketi - Next-gen, Pusher-compatible, open-source WebSockets server. Simple, fast, and resilient. 📣
nvim-lspconfig - Quickstart configs for Nvim LSP