Is there any docs for API implemented by modules? Like I want see what Identity module can provide for us in terms of communication with from our module
I am looking for a way of failure handling in microservices (modules deployed as apps). Eg when make several calls to different services and one of them fails we need to rollback all changes done in previous called microervices. Does ABP provide any tool for that? How that can be implemented using ABP?
I found Saga pattern, that looks the best approach. Wondering how I can apply it with ABP modules
@liangshiwei thanks for your reply. It is I looked for
Sorry, but it does not look you answered on my questions. Maybe I understand that wrong. Can you please explain the way how to use 2 modules communicating with each other in monolith and use them again but as microservices (2 solutions using same modules: one as monolith, another one as microservices)? It is clear how modules communicate with each other in microservices - via API and events. But it is not clear how I can use same module (eg blogging module) in monolith. Should communication with built in module still be performed via API (monolith app accessing itself via network)?
Maybe you have some sample project for the monolith best practice? It will help a lot.
@liangshiwei Thanks for your reply. But it is not what I am looking for.
In abp doc it is described that it is better to start development from monolith and when later update modules to work as microservices. We need module be able to work in monloth and as microervice.
I am looking for easy way to use same module as microservice and built in monolith app.
If it is possible, can you please show example with Blogging module?
My question is about communication of modules within monolith application. In case of microservices it is clear that communication perfomred via API implemented by each service and messaging. But what if I want to use all modules in monotlith application? What is way of integration? I assume that domains, for example, should not access each other... I think that there should be way to replace implementation of api client with another implementation (on startup) which calls application services directly (not via network).
For exmaple, we have indentity application and Shop application (2 microservices). Shop implements API endpoint which returns info about purchase, which contains product info, amount, price and so on (shop domain) and client full name (identity). Shop calls endpoint of Identity returning user fullname, attaches it to purchase info and returns to user. Is it correct way? Or such data consisting of data from different applications must be constructed on 3rd part of system?