当前位置:网站首页>"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 .
边栏推荐
- TypeScript 联合类型
- SSH框架的搭建(下)
- Arm development studio build compilation error
- 资源管理、高可用与自动化(下)
- How does the open-ended Hall current sensor help the transformation of DC power distribution?
- More, faster, better and cheaper. Here comes the fastdeploy beta of the low threshold AI deployment tool!
- 新手开哪家的证券账户是比较好?股票开户安全吗
- collections.defaultdict()的使用
- 2022 operation of simulated examination platform of special operation certificate examination question bank for safety management personnel of hazardous chemical business units
- 调试利器 go-spew
猜你喜欢

Custom controls under WPF and adaption of controls in Grid

More, faster, better and cheaper. Here comes the fastdeploy beta of the low threshold AI deployment tool!

可扩展存储系统(上)

数据库系列之MySQL配置F5负载均衡

嵌入式软件开发中必备软件工具

劲爆!YOLOv6又快又准的目标检测框架开源啦(附源代码下载)

__ getitem__ And__ setitem__

【PaddleDetection】ModuleNotFoundError: No module named ‘paddle‘

Object类,以及__new__,__init__,__setattr__,__dict__

How does the open-ended Hall current sensor help the transformation of DC power distribution?
随机推荐
Is it safe to buy stocks and open an account through the account opening link of the broker manager? Want to open an account for stock trading
idea自动生成代码
可扩展数据库(上)
文档问题
Is Guotai Junan Securities reliable? Is it safe to open a securities account?
Establishment of SSH Framework (Part I)
Severe Tire Damage:世界上第一个在互联网上直播的摇滚乐队
mysql获取当前时间是一年的第多少天
Redis搭建集群【简单】
MySQL 数据库的自动备份操作
How to automatically add author, time, etc. to eclipse
SSH框架的搭建(上)
数据库系列之MySQL中的执行计划
基于 WPF 的酷炫 GUI 窗口的简易实现
新手开哪家的证券账户是比较好?炒股开户安全吗
Basic operation of stack (implemented in C language)
Apache - about Apache
大咖说·计算讲谈社|什么是东数西算要解决的核心问题?
Set drop-down options on Excel files
Necessary software tools in embedded software development