The architecture of cloud foundry core components is as follows:
Main components:
Cloud Controller:It is essentially a server that interacts with the STS. After receiving commands, it sends messages to each module quickly, managing the operation of the entire cloud, which is equivalent to the cloud foundry brain.
DEA: Handles access requests to the deployed app. The essence is to package and access the droplet. Droplet packages the submitted source code, the cloud foundry configured runtime environment, and some control scripts through the stager component to form a tar file.
Routers: Route control for all incoming requests. The router component is extensible and is used by multiple router to process incoming requests. However, how to perform load balancing on the router is not within the scope of cloud foundry.
There are two types of requests to access the router.
- The first type is from the VMC client or STS, which is issued by the cloud foundry user and is called the management request. Such requests are routed to the Cloud Controller component for processing.
- The second type is access requests to the deployed app. These requests are routed to the app execution, that is, the DEA component.
Health Manager:Obtains operation information from various DEA units, conducts statistical analysis, reports, and generates alarms.
Services: Provides various application services on the cloud platform. It is an independent plug-in module that facilitates third parties to integrate their services into cloud foundry services.
Auxiliary components:
Uaa:Authenticates user models and uses concepts such as organization and user space to facilitate user and permission management. In addition, uaa dB is used to store user information.
Nats:It is an event-driven, lightweight messaging system that is used for message publishing and subscription and is associated with various modules.
Stager:It solves the problem that a large number of files need to be operated for a long time during the packaging (stage) process. Therefore, it acts as an independent process to make the packaging work asynchronous without blocking the Cloud Controller as the core component.
Cocould foundry Learning (2)-Core Component Analysis