Deletion of Propagated Data
- 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
Assessment
This issue has not been assessed yet.