MetaCell / MetaCell/cloud-harness

Distributed transactions api

Open
#299 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
19
Forks
5
Avg merge
3d 18h
Merged PRs (30d)
3

Description

It would be nice to implement a simple api for the backend developer that allows to control distributed transactions.

The ideal implementation is to implement the [saga pattern](https://microservices.io/patterns/data/saga.html) and at the same time expose a familiar ACID transaction api to the user.
The kafka event queue would be the ideal place to handle transaction information.

Following a raw proposal:

```python
from cloudharness.transactions import saga

@saga("mysaga", expected=["step1", "step2"])
def my_transactional_function(arg1, arg2): #arguments will go to the mysaga topic
...
return result # result will go the mysaga topic. The function will go on error id step1 and step2 messages are not received
```

Before implementing anything we need to refine the proposal taking into account also asynchronous ways to check sagas and different use cases.

Contributor guide

No contributing guide indexed for this repository

Research direction

No files or tests are named. Start by refining the proposal around the saga pattern, the Kafka event queue, asynchronous saga checks, and the stated use cases before identifying an implementation entry point. Done would mean an agreed API and design that addresses the transaction and asynchronous behavior requirements.

Written by the indexing model from the issue text.

Assessment

Tech stack
kafka, python
Domain
api, backend, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.