SQLGateway
dtm
SQLGateway | dtm | |
---|---|---|
6 | 20 | |
52 | 5,149 | |
- | - | |
10.0 | 9.8 | |
about 1 year ago | about 2 years ago | |
Go | Go | |
- | BSD 3-clause "New" or "Revised" 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.
SQLGateway
-
Connect()- a new API for creating TCP sockets from Cloudflare Workers
Super excited for this! I had made https://github.com/danthegoodman1/SQLGateway as a result of not having this capability.
One issue I see is the cost of constantly opening and closing a TCP connection for something like the postgres example. Postgres specifically has quite a high cost for each connection. Pgbouncer helps, but this could still be pretty consequential at the concurrency that workers can offer.
Maybe in the future we could create local pools that can be shared across executions, similar to how AWS Lambda does it now?
- SQLGateway – Access SQL Databases over HTTP
- SQLGateway Early Access - Access SQL databases over HTTP for Workers ⛅️
- SQLGateway - Access SQL databases over HTTP - Written in Go 💙
- SQLGateway Early Access - Access SQL databases over HTTP - Written in Go 💙
dtm
-
How to reliably sync 2 application databases
- using a distributed transaction framework (like https://github.com/dtm-labs/dtm)
- Examples code for DTM Saga
- dtm 1.15.1 Released – A lightweight workflow engine to orchestrate micro-services for distributed transactions.
-
Use workflow to handle distributed transactions
But in this article, we introduce a workflow pattern in github.com/dtm-labs/dtm. Under this pattern, a mixture of XA, SAGA and TCC can be applied to different branches in a single distributed transactions, allowing users to customize most of the contents of a distributed transaction, providing great flexibility.
-
How to elegantly implement a multi-database outbox pattern
The open source distributed transaction framework https://github.com/dtm-labs/dtm has a two-stage message pattern inside that handles this problem very well. The following is an example of the use of an interbank transfer operation.
-
How to Manage Anomalies in Saga Pattern in Microservices
The above Sub-transaction Barrier technique, when used in conjunction with the distributed transaction framework https://github.com/dtm-labs/dtm, has been made available in several language SDKs, with the following example code in Go.
-
Building financial integration with Cadence in doordash
Maybe you can take a look at github.com/dtm-labs/dtm which provide built-in TCC pattern
-
Understanding XA Transactions With Practical Examples in Go
Distributed XA transactions can solve the above business problem. This article presents a solution based on dtm-labs/dtm. DTM is a popular distributed transaction framework which supports XA, Saga, OutBox, and TCC patterns.
-
dtm 1.13.5 Released – A distributed transaction framework that supports saga, tcc, xa, outbox patterns.
Github: https://github.com/dtm-labs/dtm
-
How to Implement a Distributed Transaction Across Mysql, Redis, and Mongo
This article gives an example of implementing a distributed transaction across multiple store engines, Mysql, Redis and Mongo. This example is based on the Distributed Transaction Framework https://github.com/dtm-labs/dtm and will hopefully help to solve your problems in data consistency across microservices.
What are some alternatives?
Olric - Distributed in-memory object store. It can be used as an embedded Go library and a language-independent service.
Seata - :fire: Seata is an easy-to-use, high-performance, open source distributed transaction solution.
gnomock - Test your code without writing mocks with ephemeral Docker containers 📦 Setup popular services with just a couple lines of code ⏱️ No bash, no yaml, only code 💻
go-cache - An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications.
temporal - Temporal service
bolt
InfluxDB - Scalable datastore for metrics, events, and real-time analytics
cockroach - CockroachDB - the open source, cloud-native distributed SQL database.
tidb - TiDB is an open-source, cloud-native, distributed, MySQL-Compatible database for elastic scale and real-time analytics. Try AI-powered Chat2Query free at : https://tidbcloud.com/free-trial
prometheus - The Prometheus monitoring system and time series database.
groupcache - groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases.
dgraph - The high-performance database for modern applications