...
- 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.
- In a scenario where we are increasing the number or participants, could be useful to have different topic name for source and sink. This solution will eliminate the number of useless messages in kafka.
Example:- for ACM-runtime:
- sink: POLICY-ACM-PARTICIPANT
- source: POLICY-ACM-RUNTIME
- for participant:
- sink: POLICY-ACM-RUNTIME
- source: POLICY-ACM-PARTICIPANT
- for ACM-runtime:
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 activate Participant deactivate "Participant-intermediary" Participant -> "Participant-intermediary" : instance Undeployed activate "Participant-intermediary" deactivate Participant "Participant-intermediary" -> "ACM Runtime" : [ASYNC] instance Undeployed deactivate "Participant-intermediary" end @enduml |
...