I4. Implement language improvements for MOSA+
ducmle opened this issue · 6 comments
ducmle commented
@haworker25 @ducmle-fpt
Depends on: #39
Paper-2: mdsa: Part 2
MOSA+ = MDSA (micro-domain software architecture) architecture.
ducmle commented
@haworker25
(em liệt kê issues hàng ngày lên đây)
ducmle commented
@haworker25
Error running "clean install"
Error: mvn clean install
[ERROR] The project jda.example:jda-eg-coursemanmsa-servicestmsa:1.0 (/data/projects/jda/examples/courseman/msa/modules/servicestmsa/pom.xml) has 1 error
[ERROR] Child module /data/projects/jda/examples/courseman/msa/modules/servicestmsa/cmodulemgnt-service of /data/projects/jda/examples/courseman/msa/modules/servicestmsa/pom.xml does not exist
ducmle commented
Java JDK
- Use Oracle Java 13.0 or above
ServiceReconfigurer.promote()
- 1: assume service config has been uploaded into the git (used by config-server)
- 1.3.1: initDataSource: find a way to do this automatically at service start up time. (e.g. use a library)
- 1.4: promoteCompleted: same as ResponseEntity.ok
ServiceReconfigurerController
- do not use 2 classes, merge into one class
Service Resiliency
haworker25 commented
- Used Oracle Java 13.0 but 2 functions still not work
ducmle commented
- Used Oracle Java 13.0 but 2 functions still not work
Very strange because they run on myy machine.
Please finish the code of promote()
and let me try on my machine.
ducmle commented
Service Resiliency
Implement 3 resiliency patterns (bulkhead (BH), circuit breaker (CB), fallback (FB)) into the AcademicAdministration
service
Design (abstract):
ControllerTk.invokeService
:
- BH: use thread pool (e.g. Executors) to execute the service invocation on a thread
- CB: check for service invocation timeout. Flag the service instance as bad if timeout occurs without any result
- FB: use the FB service instance when CB occurs. Look up the alternative service instance and invoke
ControllerTk.invokeService
again to repeat the process.- this recursive invocation is necessary to ensure that resiliency is applied to every service invocation
Discussion
- How to unregister a service instance from Eureka server:
- using
InstanceRegistry.cancel
of the Eureka server