-
Notifications
You must be signed in to change notification settings - Fork 126
Architecture & Concepts
Archipel uses XMPP as its main method of communication. All communications between components (hypervisor or virtual machines) and users is done using XMPP. In Archipel, everything is an XMPP entity. Each entity has its own JID, contact list and authorizations.
XMPP allows you to interconnect several Ejabberd servers. This allows users registered at "XMPP server A" to talk to other users registered at "XMPP server B". You can interconnect several Archipel Data Centers using this feature. Every communication is encrypted using standard XMPP encryption.
This basically how an Archipel data center should be installed, but there are a lot of configurations possible. Each component is totally independent.
This what will be installed on your Archipel hypervisors:
This is how an Archipel agent works internally. The hypervisor runs in the main archipel process. Then each other entity is executed into a separate thread. Each entity has its own connection to the libvirt daemon and its own XMPP connection.
An XMPP entity called Central Agent keeps a global view of all hypervisors and Virtual Machines on the system.
Central Agent is responsible for keeping track of hypervisor resources and lets you recover VMs when hypervisors fail. VMs that have no associated hypervisors are known by the system as "parked VMs".
Central Agent functionality is kept to a minimum, by design, and the system will operate without it.