When the first cell of a tissue starts, we already have a tissue, this tissue does not have some expected characteristics like resiliency and fault tolerance, but implements some basic services needed for tissue grow.
To one cell be started is should have at least three parameters available:
- the tissue name, to join to an specified tissue, or an empty tissue name to join the first tissue it founds.
- the cell name, to identify itself , this name maybe tissue generated in the time of tissue registration.
- the tissue DNS servers, the IPv4 or IPv6 address to the DNS that provides tissue services name resolution:
- the DNS servers could be provided by three ways
- command line at cell startup
- cell.xml configuration file.
- broadcast on local network work DNS query (like DHCP broadcasting)
Cell startup general steps:
- if a cell starts and cannot locale the tissue DNS in any way and have a tissue name defined it assumes being the first cell in the tissue and:
- starts the tissue catalog service
- this services holds the catalog of services and ip addresses where are running
- starts the tissue DNS service
- this service queries the catalog to resolve hostnames for services (where the service is running)
- starts the tissue DHCP service
- this service listens for broadcast queries for tissue DNS service, specific or not and answer with the DNS IP address.
- the cell looks a hostname called dna.<TissueName> to reach the tissue catalog service.
- when the cell have a tissue catalog service available it registers itself in the tissue
- it provides information about itself
- once registered the tissue provisions all cell services to the cell, and ask the cell to start them all.
- services the any cell should have:
- cell self monitoring service.
- cell tissue DNS pooling against tissue catalog service.
- cell tissue ask for change service.
- once with core services up and running the cell is able to receive queries about the ability to receive tissue services.
- the tissue can ask the cell for external resource accessibility, like databases and application servers or even being in and specific network segment.
- the tissue can deploy service code to the cell, enabling the to receive that service instances.
- the cell can receive temporary services to help the tissue to achieve the minimum service level requirements.
Inga kommentarer:
Skicka en kommentar