In Apache Stratos pub/sub communication, different components, will publish different events, to different topics in the Message Bus and various components will subscribe to specific topics, and listen to selective events that are published to those topics. The following table illustrates the pub/sub communication that takes place in Apache Stratos; while, explaining as to which component publishes a specific event and in-turn which components subscribe to the topics to listen to the published event.

EventPublished ByTopicSubscribed ByDescriptionValues Sent
Service CreatedCloud ControllerTopology-Published when a new cartridge has been successfully deployed.Service name, service type, port mapping information and properties.
Cluster CreatedCloud ControllerTopologyAuto-scalerPublished after the Cloud Controller has created a payload for the subscription.Service name, cluster ID and all the information related to the created cluster (e.g., cluster ID, policies etc.).
Instance SpawnedCloud ControllerTopology-

Published after Cloud Controller spawns an instance in the specified region using jclouds and pass the payload to that instance.

In the future, the Instance Spawned event will be renamed to Member Created.

Service name, cluster ID, network partition ID, partition ID, member ID, Load Balancer cluster ID, member public IP and member private IP.
Instance StartedCartridge AgentInstance StatusCloud Controller,
Stratos Manager
Published after Cartridge Agent has started up and subscribed to Instance Notifier topic.Service name, cluster ID, Network partition ID, Partition ID and Member ID.
Member StartedCloud ControllerTopology-Published to indicate that the cartridge has started up successfully.Service name, cluster ID, network partition ID, partition ID, member ID, status and properties.
Artifact UpdateADC in Stratos ManagerInstance NotifierCartridge AgentPublished to all the clusters created for the respective subscription and will contain the encrypted user credentials and repository information using the previously generated subscription key.Cluster ID, status, repository username, Git repository password, Git repository URL and tenant ID.
Instance ActivatedCartridge AgentInstance StatusCloud ControllerPublished after a cartridge instance is spawned and all the ports get active.Service name cluster ID,network partition ID, partition ID and member ID.
Member ActivatedCloud ControllerTopologyLoad BalancerPublished to indicate that the cartridge is ready to be used.Service name, cluster ID, network partition ID, partition ID, member ID, port mapping and member IP.
Average Load Average EventReal-time event processing engine (CEP)Summarized Health StatsAuto-scalerPublished to send the average of the load average pertaining to the clusterNetwork partition ID, cluster ID and average of the load average pertaining to the cluster.
Average Memory Consumption EventReal-time event processing engine (CEP)Summarized Health StatsAuto-scalerPublished to send the average of the memory consumption pertaining to the cluster.Network partition ID, cluster ID and average of the memory consumption pertaining to the cluster.
Average Requests In-flight EventReal-time event processing engine (CEP)Summarized Health StatsAuto-scalerPublished to send the average of the requests pertaining to the cluster.Network partition ID, cluster ID and average of the requests in-flight pertaining to the cluster.
Gradient of Load Average EventReal-time event processing engine (CEP)Summarized Health StatsAuto-scalerPublished to send the gradient of the load average pertaining to the cluster.Network partition ID, cluster ID and gradient of the load average pertaining to the cluster.
Gradient of Memory Consumption EventReal-time event processing engine (CEP)Summarized Health StatsAuto-scalerPublished to send the gradient of the memory consumption pertaining to the cluster.Network partition ID, cluster ID and gradient of the memory consumption pertaining to the cluster.
Gradient of Requests In-flight EventReal-time event processing engine (CEP)Summarized Health StatsAuto-scalerPublished to send the gradient of the requests in-flight pertaining to the cluster.Network partition ID, cluster ID and gradient of the requests in-flight pertaining to the cluster.
Second Derivative of Load Average EventReal-time event processing engine (CEP)Summarized Health StatsAuto-scalerPublished to send the second derivative of the load average pertaining to the cluster.Network partition ID, cluster ID and second derivative of the load average pertaining to the cluster.
Second Derivative of Memory Consumption EventReal-time event processing engine (CEP)Summarized Health StatsAuto-scalerPublished to send the second derivative of the memory consumption pertaining to the cluster.Network partition ID, cluster ID, second derivative of the memory consumption pertaining to the cluster.
Second Derivative of Requests In-flight EventReal-time event processing engine (CEP)Summarized Health StatsAuto-scalerPublished to send the second derivative of the requests in-flight pertaining to the cluster.Network partition ID, cluster ID and second derivative of the requests in-flight pertaining to the cluster.
Member fault eventReal-time event processing engine (CEP)Summarized Health StatsAuto-scalerPublished to notify potential faulty members.Cluster ID, member ID and partition ID.
Member Average Load Average EventReal-time event processing engine (CEP)Summarized Health StatsAuto-scalerPublished to send the average of the load average pertaining to a member.Member ID and average of the load average pertaining to a member.
Member Average Memory Consumption EventReal-time event processing engine (CEP)Summarized Health StatsAuto-scalerPublished to send the average of the memory consumption pertaining to a member.Member ID and average of the memory consumption pertaining to a member.
Member Gradient of Load Average EventReal-time event processing engine (CEP)Summarized Health StatsAuto-scalerPublished to send the gradient of the load average pertaining to a member.Member ID and gradient of the load average pertaining to a member.
Member Gradient of Memory Consumption EventReal-time event processing engine (CEP)Summarized Health StatsAuto-scalerPublished to send the gradient of the memory consumption pertaining to a member.Member ID and gradient of the memory consumption pertaining to a member.
Member Second Derivative of Load Average EventReal-time event processing engine (CEP)Summarized Health StatsAuto-scalerPublished to send the second derivative of the load average pertaining to a member.Member ID and second derivative of the load average pertaining to a member.
Member Second Derivative of Memory Consumption EventReal-time event processing engine (CEP)Summarized Health StatsAuto-scalerPublished to send the second derivative of the memory consumption pertaining to a member.Member ID and second derivative of the memory consumption pertaining to a member.
Instance Cleanup MemberADC in Stratos ManagerInstance NotifierCartridge AgentPublished to shut down a member gracefully.Member ID
Instance Cleanup ClusterADC in Stratos ManagerInstance NotifierCartridge AgentPublished to shut down the whole cluster gracefully.Cluster ID
Instance Maintance ModeCartridge AgentInstance StatusStratos ManagerPublished to indicate that the instance is in maintenance mode. When the instance is in the maintainance mode, Load Balancer will not send any requestes to this instance.Service name, cluster ID, network partition ID, partition ID and member ID.
Member Maintenance ModeCloud ControllerTopologyLoad Balancer, Stratos Manager, Auto-scalerPublished to indicate that the instance is in maintenance mode. When the instance is in the maintainance mode, Load Balancer will not send any requestes to this instance.Service name, cluster ID, network partition ID, partition ID, member ID, status and properties.
Instance Ready to Shut downCartridge AgentInstance StatusStratos ManagerPublished to indicate that the instane is ready to gracefully shut down.Service name, cluster ID, network partition ID, partition ID and member ID.
Member Ready to ShutdownCloud ControllerTopologyLoad Balancer, Stratos Manager, Auto-scalerPublished to indicate that the instane is ready to gracefully shut down.Service name, cluster ID, network partition ID, partition ID, member ID, status and properties.
Member TerminatedCloud ControllerTopologyLoad Balancer, Stratos Manager, Auto-scalerPublished in the following instances:
- When a scale down decision is taken by Auto-scaler.
- When a member is not responsive, which means that when health statistics are not received from a member.
Service name, cluster ID, network partition ID, partition ID and member ID.
Cluster RemovedCloud ControllerTopologyLoad Balancer, Auto-scaler, Stratos ManagerPublished when a user unsubscribes from a service.Service name, cluster ID, deployment policy and flag for Load Balancer cluster.
Service RemovedCloud ControllerTopologyLoad Balancer, Stratos Manager, Auto-scalerPublished when a cartridge is undeployed.Service name
Complete Topology EventCloud ControllerTopologyLoad Balancer, Stratos Manager, Auto-scalerUsed to initialize the current state of the topology, which is used in each product, before receiving topology events. Periodic event every minute.Details of the Topology that include a collection of services. Each service contains a collection of clusters and each cluster contain a collection of members.
Complete Tenant EventStratos ManagerTenantLoad BalancerPublished periodically with all the available tenants, so that it will be a starting point for subscribers to initialize the list of tenants before receiving other tenant events.List of tenants.
Tenant Created EventStratos ManagerTenantLoad BalancerPublished when a new tenant is created.Tenant details.
Tenant Subscribed EventStratos ManagerTenantLoad BalancerPublished when a tenant has subcribed to a serviceTenant ID, service name, cluster IDs and domains.
Tenant Updated EventStratos ManagerTenantLoad BalancerPublished when the user updates its tenant domain.Tenant ID and tenant domain.
Tenant Unscubcribed EventStratos ManagerTenantLoad BalancerPublished when a tenant unsubcribes from a service.Tenant ID, service name and cluster IDs.
Tenant Removed EventStratos ManagerTenantLoad BalancerPublished when a tenant is removed by the super admin.Tenant ID
Subscription Domains Added EventStratos ManagerTenantLoad BalancerPublished when domains are added to a service subscription.Tenant ID, service name, cluster IDs and domains.
Subscription Domains Removed EventStratos ManagerTenantLoad BalancerPublished when domains are removed from a service subscription.Tenant ID, service name, cluster IDs and domains.
Ping EventAny component that subscribes to any MB topicPing 

Published periodically (every 1 second) to to make sure that Message Broker is active.

 

 
  • No labels