Software Architecture --- cloud architecture

Cloud architecture (cloud architecture) mainly to solve the problem of scalability and concurrency, is the most easily scalable architecture

It is highly scalable, mainly because no use of a central database, but the data is copied to RAM, the data into the memory unit may be replicated. Then, encapsulated into a service processing capability of processing units (prcessing unit). Traffic increases, on the new processing unit; reduced traffic, the processing unit is closed. Since there is no central database, so the maximum scalability bottleneck disappeared. Since the data in each processing unit memory, preferably to be data persistence.

This mode is mainly divided into two parts: a processing unit (processing unit) and virtual intermediate (virtualized middleware).

  • The processing unit: implementing business logic
  • Virtual Middleware: responsible for communication, maintaining sessions, data replication, distributed processing, the processing unit for deployment.

Virtual middleware also contains four components.

  • Message middleware (Messaging Grid): the session management and user requests, When a request comes in, which is assigned to a determined processing unit.
  • Intermediate data (Data Grid): copy the data to each processing element, i.e., data synchronization. A processing unit to ensure that the same data are obtained.
  • Middleware processing (Processing Grid): Alternatively, if a processing unit relating to different types of requests, the middleware is responsible for coordinating the processing unit
  • Deploy middleware (Deployment Manager): responsible for handling startup and shutdown of the unit, which monitors the load and response time, as the load increases, you start a new processing unit, the load is reduced, the processing unit is closed.

advantage

  • High load, high scalability
  • Dynamic deployment

Shortcoming

  • Implementation complexity, high cost
  • The main site for large-scale database applications like applications, improper handling of large amounts of data
  • Difficult test

 

Cloud business, faced with vast amounts of business data, how to choose the right solution for their business applications in the emerging database, become the difficult architecture design.

The traditional centralized storage, such as the way all the data stored in Oracle now has no way to meet a variety of data types and requirements. By way of "divide and conquer", the realization of ideas now more in line with the overall architecture of the cloud.

Here we look at the principle of selection is to share a database, and provide a real case to you as a reference.

Selection principle:

When the data layer selection, to consider the six characteristics of data, select the appropriate data storage solutions.

  • Data types, relational data, KV data, video, pictures, documents
  • The amount of data, ten thousand, one million, ten million, one hundred million level
  • Real-time / consistency, real-time access, access to near real-time, minute-stage delay, delay class hours, day level inquiry
  • Concurrency, QPS, TPS, a response time
  • Usage scenarios, real-time business, statement analysis, historical data archiving, multidimensional queries, the regular query
  • Data source, file, data synchronization, message queues, database

Combining these six, select suitable data storage technology data layers forming solutions.

Here are some examples of selection:

  • Massive real-time relational data + high + high concurrency: You can choose a distributed relational database, business as Ali cloud DRDS, POLARDB, such as open-source MyCAT and so on.
  • Multi-dimensional query + regular quasi real-time query + + mass data storage: choose a search engine, such as Elasticsearch
  • Data rule class / class data KV high concurrency: Redis / Redis Cluster
  • Historical archive data: Ali DRDS / Hbase
  • Video image file: choose a distributed file system or object storage, business as Ali OSS, open source HDFS, FastDFS, GlusterFS, CephFS

source:

http://www.ruanyifeng.com/blog/2016/09/software-architecture.html

http://cloudarchitectures.cn

Guess you like

Origin www.cnblogs.com/sdysyhj/p/11057907.html