pushpin
Bedrock
pushpin | Bedrock | |
---|---|---|
11 | 23 | |
3,576 | 1,050 | |
0.3% | 0.9% | |
9.5 | 9.4 | |
7 days ago | 1 day ago | |
Rust | C | |
Apache License 2.0 | GNU Lesser General Public License v3.0 only |
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.
pushpin
- Pushpin: Proxy server that pins connections open to build realtime API endpoints
-
Building a privacy-friendly, self-hosted application architecture with SvelteKit
For realtime, I used Pushpin with Server Sent Events. (It supports WebSocket as well).
-
Ask HN: How do you handle WebSocket connections reconnect problem?
Instead of letting clients directly interface with your services over websockets, consider using Pushpin [1], which allows you to completely isolate realtime communication from your services.
As a bonus, it also provides you the ability to cycle (redeploy/restart) your services without your clients having to reconnect (that's where the name comes from). And as you can imagine - because communication with your services is entirely stateless it scales like crazy.
[1] https://pushpin.org/
- Help !!! websocket and sveltekit
-
Ask HN: Hunting for a Framework
Vapor[0] based on Swift. Advantage of this is that you don't have to evaluate multiple frameworks for Swift and suffer paralysis by analysis. All the Swift community is behind one framework.
The next is Actix[1] based on Rust. There are many frameworks in Rust and most of them have not reached 1.0 And which framework will survive becomes a question.
Other not so well-known is Wt[2] based on C++. This actually is created for programmers who are not web developers. The development experience is similar to desktop app development like Qt.
If that is not acceptable then Django[3], based on Python, is the one that will be good for you.
For the front-end I would recommend Flutter[4]. As much as I dislike getting tied to a single company for whom the framework is not their bread-and-butter, I don't see any other viable options to Flutter that will cover all web, mobile and desktop out of the box.
For databases, I would recommend BedrockDB[5], if you are not averse to SQLite. Or FoundationDB[6], if you want NoSQL. But if you are not concerned about horizontal scalability or okay with self-managing database availability, then PostgreSQL[7] is a very good option.
For push notifications, PushPin[8] is a good option.
[0] https://vapor.codes
[1] https://actix.rs
[2] https://webtoolkit.eu
[3] https://www.djangoproject.com
[4] https://flutter.dev
[5] https://bedrockdb.com
[6] https://www.foundationdb.org
[7] https://postgresql.org
[8] https://pushpin.org
-
Thoughts on this AWS deployment architecture? (Main web app + lambda microservices)
There is also the option of running a proxy which handles the stateful nature of websockets (i.e. https://pushpin.org/), and then handle the rest in a stateless way with lambdas or similar.
-
Ask HN: Is realtime functionality of Firebase and Supabase DBs any useful?
This may not be what you are looking for, but why not use a combination of Postgres listen/notify and PushPin[0] to support push notifications?
[0] https://pushpin.org
-
Mark Nottingham: Server-Sent Events, WebSockets, and HTTP
Could use pushpin[1] and have several fallbacks, like SSE -> Websocket -> polling.
[1]https://pushpin.org/
- Show HN: Pushpin – a proxy server for adding push to your API
- Pushpin: Reverse proxy for realtime web services
Bedrock
-
Marmot: Multi-writer distributed SQLite based on NATS
Also Expensify's Bedrock, which powers their famous "Scaling SQLite to 4M QPS" article:
https://bedrockdb.com/
https://use.expensify.com/blog/scaling-sqlite-to-4m-qps-on-a...
- I'm All-In on Server-Side SQLite
-
SQLite is not a toy database
Lots of things don't need failover, but if you do, you can use Bedrock, which is built on sqlite.
-
Amazon announces 'Bedrock,' its ChatGPT and DALL-E rival
At first, I thought Amazon was launching their own SQLite hosted database.
BedrockDB is a SQLite based database with MySQL compatible drivers.
https://bedrockdb.com
-
Ask HN: Hunting for a Framework
Vapor[0] based on Swift. Advantage of this is that you don't have to evaluate multiple frameworks for Swift and suffer paralysis by analysis. All the Swift community is behind one framework.
The next is Actix[1] based on Rust. There are many frameworks in Rust and most of them have not reached 1.0 And which framework will survive becomes a question.
Other not so well-known is Wt[2] based on C++. This actually is created for programmers who are not web developers. The development experience is similar to desktop app development like Qt.
If that is not acceptable then Django[3], based on Python, is the one that will be good for you.
For the front-end I would recommend Flutter[4]. As much as I dislike getting tied to a single company for whom the framework is not their bread-and-butter, I don't see any other viable options to Flutter that will cover all web, mobile and desktop out of the box.
For databases, I would recommend BedrockDB[5], if you are not averse to SQLite. Or FoundationDB[6], if you want NoSQL. But if you are not concerned about horizontal scalability or okay with self-managing database availability, then PostgreSQL[7] is a very good option.
For push notifications, PushPin[8] is a good option.
[0] https://vapor.codes
[1] https://actix.rs
[2] https://webtoolkit.eu
[3] https://www.djangoproject.com
[4] https://flutter.dev
[5] https://bedrockdb.com
[6] https://www.foundationdb.org
[7] https://postgresql.org
[8] https://pushpin.org
-
Databases: 2021 in Review and Predictions for 2022
Recently I stumbled upon BedrockDB[0] from Expensify. It is based on SQLite and has very interesting idea on HA and distributed DB.
[0] https://bedrockdb.com
-
One million queries per second with MySQL
This is not SQLite though, also the test is trivial compared to TPC: https://github.com/Expensify/Bedrock/blob/dbarrett_perftest/...
-
Turning SQLite into a Distributed Database
Don’t forget BedrockDB (built on SQLite) that’s used in production at Expensify.
How it scales as well.
https://bedrockdb.com/
https://blog.expensify.com/2018/01/08/scaling-sqlite-to-4m-q...
- Fly.io Buys Litestream
- Ask HN: Have you used SQLite as a primary database?
What are some alternatives?
Mercure - 🪽 An open, easy, fast, reliable and battery-efficient solution for real-time communications
SQLite - Unofficial git mirror of SQLite sources (see link for build instructions)
IP-ESP32-CAM - "IP Camera" based on ESP32-CAM
MySQL - MySQL Server, the world's most popular open source database, and MySQL Cluster, a real-time, open source transactional database.
canonic - QML web browser
rqlite - The lightweight, distributed relational database built on SQLite.
rsocket-java - Java implementation of RSocket
ClickHouse - ClickHouse® is a free analytics DBMS for big data
eventhub - A high performance pub/sub over WebSocket server written in modern C++.
LevelDB - LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.
styx - Simple, high-performance event streaming broker
Adminer - Database management in a single PHP file