当前位置:网站首页>"Five layer" architecture of cloud applications and services
"Five layer" architecture of cloud applications and services
2022-06-28 03:33:00 【Ultipa】
A complete set of cloud applications 、 Service architecture can usually be divided into 5 layer .
· Load balancing layer (Load Balancing)
· Application service layer (Application Server)
· Cache service layer (Caching Server)
· Database service layer (Database Server)
· Cloud storage layer (Cloud Storage)
chart : Five layer architecture of cloud applications
(1) Load balancing
Load balancing layer (Load-Balancing Layer,LB Layer) The implementation of 5 The first to face users in the layer architecture , It is also relatively easy to implement . Usually to avoid SPOF, At least two sets shall be set LB The server ( Usually on two physical hosts , In order to avoid single hardware failure SPOF). The entire extension setup process can usually be fully automated , For example, through DNS API To configure adding or deleting LB node . The most common LB The solution is HAProxy or Nginx, They can usually support load balancing across cloud platforms ( That is, servers and other layers cross the cloud , Of course, the design and implementation complexity of this architecture will increase dramatically . As we mentioned earlier Cloud Bursting It is a typical cross cloud infrastructure pattern ). Intelligent LB Layer implementation can be based on the health status of the application server layer 、 Load state to dynamically drain , To ensure that the system really achieves balanced load .
Cloud service providers often provide out of the box LB service , for example AWS Of ELB(Elastic Load-Balancer)、RackSpace Of CLB(Cloud Load-Balancer), also VMware vCloud Air Gateway Services Both provide powerful LB service .
(2) Application service
Below the load balancing layer is the application server layer , It handles LB Forward the user request and return the corresponding data set . Generally, data sets are divided into static data and dynamic data . The former can be reserved in the cache layer to reduce the load on the application server and database server ( See above ) And accelerate the client to get the returned data , The latter usually requires the cooperation of the underlying database layer to dynamically generate the required data sets . The extension of this layer is usually realized by monitoring the load of existing servers ( Mainly CPU, The second is memory 、 The Internet 、 Storage space ), And conduct horizontal or vertical expansion as required . Horizontal scaling (Scale-out) It is usually an online homogeneous server ( Physical or virtual machines ), To reduce the load on existing servers or server clusters ; Vertical expansion (Scale-up) That's right. CPU、 Memory 、 The Internet 、 Storage space for upgrade . Horizontal expansion usually does not require system offline , But vertical expansion requires the upgraded host ( It could be a virtual machine or a container ) restart .
The application service layer involves application service logic , When multiple servers work together , You also need to ensure that the services running on them are consistent . This DevOps The problem is usually as PaaS Layer part of the task or in the data center M&O Component to achieve consistent application upgrade 、 Deployment, etc. .
(3) cache
The cache layer may exist between the application server layer and the database server layer , It may also be above the application server layer . The former can be used to reduce the repeated calculation and network load of the database server . The latter is used to reduce application server load and network bandwidth consumption . Cache technology is widely used , from Web The server 、 middleware 、 Databases are heavily cached to reduce unnecessary double counting , So as to improve the comprehensive performance of the system .
The extensibility of the cache layer is implemented to avoid the occurrence of SPOF On the basis of ( The cache server of a single node or the method of sharing nodes with the application server are not desirable in the production environment ), It mainly focuses on how to achieve load balancing among multiple cache nodes . The most common distributed simple cache implementation is memcached( The busiest in the world 20 Websites , Yes 18 I used memcached3), At multiple stations memcached A hash table is formed between servers , When a new cache node is added or an old node is deleted ( Or offline ) when , Existing nodes do not need full-scale changes to generate new hash tables ( This algorithm is also called Consistent Hashing Algorithm, Consistent hash algorithm ). For the replacement and update of data in the hash table ,Memcached It's using TTL(Time-To-Live) And LRU(Least-Recently-Used) Pattern . For more complex high scalability cache system design , Belong to NoSQL Class CouchBase The database provides a more robust implementation of enterprise level caching , for example Data Persistence( Constant data storage )、Auto-Reblanacing( Automatic load balancing )、 Multi tenant support, etc .
In the following two-tier architecture, we will make a separate article to explain to you .
边栏推荐
- kubernetes资源对象介绍及常用命令
- 爱普生L3153打印机如何清洗喷头
- R1 Quick Open Pressure Vessel Operation Special Operation Certificate Examination Library and Answers in 2022
- 音视频技术开发周刊 | 251
- 2022 electrician (elementary) recurrent training question bank and online simulation examination
- Websocket (simple experience version)
- 可扩展数据库(上)
- Tardigrade:Trino 解决 ETL 场景的方案
- 学习---有用的资源
- 2022年R1快開門式壓力容器操作特種作業證考試題庫及答案
猜你喜欢
可扩展数据库(下)
剑指 Offer 53 - I. 在排序数组中查找数字 I(改进二分)
Necessary software tools in embedded software development
数据库系列之MySQL和TiDB中慢日志分析
More, faster, better and cheaper. Here comes the fastdeploy beta of the low threshold AI deployment tool!
2022 operation of simulated examination platform of special operation certificate examination question bank for safety management personnel of hazardous chemical business units
Importer un fichier Excel, résoudre le problème de sauter les cellules vides et de ne pas lire, et avancer l'indice, et retourner Blank As NULL Red
Redis搭建集群【简单】
荣耀v8 真机调试时不显示 Logcat 日志的解决办法
WPF 下的自定义控件以及 Grid 中控件的自适应
随机推荐
nn. Parameter and torch nn. Init series of functions to initialize model parameters
Introduction to kubernetes resource object and common commands
What is the difference between slice and array in go question bank 12?
Question bank and answers of special operation certificate for R1 quick opening pressure vessel operation in 2022
Go 数据类型篇(四)之浮点型与复数类型
17 `bs object Node name h3 Parent ` parents get parent node ancestor node
How to automatically add author, time, etc. to eclipse
启牛开的证券账户是安全的吗?如何开账户呢
What is the core problem to be solved in the East and West?
基于 WPF 的酷炫 GUI 窗口的简易实现
Go 數據類型篇(四)之浮點型與複數類型
Object类,以及__new__,__init__,__setattr__,__dict__
crond BAD FILE MODE /etc/cron. d
Is it better for a novice to open a securities account? Is it safe to open a stock trading account
可扩展数据库(下)
Inference optimization implementation of tensorrt model
爱普生L3153打印机如何清洗喷头
R1 Quick Open Pressure Vessel Operation Special Operation Certificate Examination Library and Answers in 2022
ARM Development Studio build编译报错
Solution to not displaying logcat logs during debugging of glory V8 real machine