...
- In a scenario of high number of compositions, if participant is restarting it will be slow-down the restarting action: AC-runtime will send a message for each composition primed and instance deployed to the participant.
To avoid the restarting action, participant needs a database support; - In a scenario where a participant is stuck in deploying, the instance will be in TIMEOUT and the user can take action like deploy again or undeploy. In that scenario the intermediary-participant has to receive the next message, kill the thread that is stuck in deploying and create a new thread.
PlantUML Macro |
---|
@startuml
alt "Deploying the instance"
activate "ACM Runtime"
"ACM Runtime" -> "Participant-intermediary" : [ASYNC] Deploying the instance
deactivate "ACM Runtime"
activate "Participant-intermediary"
activate Participant
"Participant-intermediary" -> Participant : Create Deploy thread
deactivate "Participant-intermediary"
note right
Deploy thread is stuck
end note
end
alt "Instance in Timeout"
activate "ACM Runtime"
"ACM Runtime" -> "ACM Runtime" : set instance in Timeout
deactivate "ACM Runtime"
end
alt "Undeploying the instance"
activate "ACM Runtime"
activate "Participant-intermediary"
"ACM Runtime" -> "Participant-intermediary" : [ASYNC] Undeploying the instance
deactivate "ACM Runtime"
"Participant-intermediary" -> Participant : Terminate Deploy thread
deactivate Participant
"Participant-intermediary" -> Participant : Create Undeploy thread
deactivate "Participant-intermediary"
Participant -> "Participant-intermediary" : instance Undeployed
"Participant-intermediary" -> "ACM Runtime" : [ASYNC] instance Undeployed
end
@enduml |
Solution
Add dynamic participantId support and add database support,
...