dotnet / dotnet/docs

Deletion of Propagated Data

Open
#29,179 0 comments 0 reactions 0 assignees View on GitHub
:watch: Not Triaged dotnet-architecture/svc microservices/subsvc
Dominant language
No language data
Stars
4.8k
Forks
6.1k
Avg merge
15h 21m
Merged PRs (30d)
370

Description

I found this article very interesting, and has some good detail on concepts such as eventual consistency and the potential propagation of related data between services are described here:

"And finally (and this is where most of the issues arise when building microservices), if your initial microservice needs data that's originally owned by other microservices, do not rely on making synchronous requests for that data. Instead, replicate or propagate that data (only the attributes you need) into the initial service's database by using eventual consistency (typically by using integration events, as explained in upcoming sections)."

One thing I think it would benefit from, and I find is often missing from similar articles, is a strategy on how best to handle deletes in such situations. I think when providing a system to a user, they have an expectation of being able to delete something and be warned about whether it is in use / referenced elsewhere in a synchronous manner. Whilst propagating "adds" and "updates" asynchronously seems easy enough, I am not sure how deletion would work in the same situation when you aren't sure if something might have been referenced/propagated to a separate microservice and which would be important enough to block the original deletion attempt.

---
#### Document Details

⚠ *Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.*

* ID: 89fd8427-589c-9158-f9e9-6b59d34ac4e2
* Version Independent ID: fbeadc16-d9e1-91cf-5da6-1d76fc800d3e
* Content: [Communication in a microservice architecture](https://docs.microsoft.com/en-us/dotnet/architecture/microservices/architect-microservice-container-applications/communication-in-microservice-architecture)
* Content Source: [docs/architecture/microservices/architect-microservice-container-applications/communication-in-microservice-architecture.md](https://github.com/dotnet/docs/blob/main/docs/architecture/microservices/architect-microservice-container-applications/communication-in-microservice-architecture.md)
* Product: **dotnet-architecture**
* Technology: **microservices**
* GitHub Login: @nishanil
* Microsoft Alias: **nanil**

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.