Comments (4)
We could take advantage of Redis and Apache Kafka capabilities to design and build a nice distributed environment for declarative transaction execution,
from alexandria.
Now considering using synchronous inter-service communication when a transaction is needed using resiliency patterns such as rate-limit for received requests and circuit breaker (w/ Netflix Hystrix) and a retry strategy for external calls (outbound) to avoid cascading failures and many more problems.
We would be still using asynchronous communication for side-effect distributed propagation.
This is due the complex implementation (e.g. dist. tracing and metrics for each event bus) and maintenance of each distributed transaction using pure events.
from alexandria.
In addition, we could take advantage of event sourcing and CQRS when required to avoid these issues.
More details here.
from alexandria.
A well-tested approach is a Self-Contained service, more information about it here.
Thus, we will have two options and this kind of approach could be used whenever an operation must be tracked by the client.
This could be a definitive standard, almost closing this issue.
from alexandria.
Related Issues (19)
- Change Media service architecture for Go kit's HOT 1
- Change default zap logging for gokit's logging HOT 1
- gRPC for Author service
- Add validator to domain entities HOT 1
- Add Create Media Saga transaction HOT 4
- Distributed tracing and metrics with Kafka HOT 1
- Apache Solr for distributed indexing HOT 3
- Cron job for entities with status pending
- Blob API/Service HOT 4
- Change "backup" field name to
- Change transaction's "backup" field name to "snapshot" HOT 1
- Category API HOT 1
- API Gateway and more using Netflix Zuul
- Connection refused by zipkins service and Kafka client has run out of available brokers
- gRPC support for Media service HOT 2
- OpenCensus and Prometheus integration HOT 5
- Use ElasticStack for distributed logging and monitoring HOT 1
- Add author service HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from alexandria.