Improve system QPS and throughput

Simply put, increase qps and throughput by adding clusters

It's actually more complicated than this

First we need to know the bottleneck of the system

What we know about the system topology

For rest interface

The system facilities are:

dns

  nginx

    tomcat

      db/soa

First we can increase qps and throughput by increasing the cluster

Secondly, considering the problem of load balancing, we can use other facilities to ensure the load balancing of cluster nodes and further improve the system qps

So there is nginx cluster + load balancing

tomcat cluster + load balancing

When it comes to the db/soa layer, it can also be solved by adding clusters + load balancing.

We can also add caches at each layer to deal with hot data

However, on the other hand, it can be solved by system splitting, service splitting, and adding clusters and load balancing separately for the bottleneck system.

Similarly, db can also be divided into databases and tables.

Because a single table is very slow when there are more than 10 million pieces of data, library splitting is required at this time, so there are vertical splits and horizontal splits.   

Asynchronous, you can asynchronously call different calls, use mq, such as sending text messages, sending emails, etc.

 

In summary:

Cluster + load balancing

increase cache

system split

Sub-library and sub-table

vertical split + horizontal split

Asynchronous + MQ

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325693222&siteId=291194637