Solve the pain point of the enterprise concurrent, difficult where. Do you have a routine?
I want to talk about the big data high concurrency seemingly very tall content whether there is a routine
Look at the big Data High concurrency architecture
The so-called high concurrency, the problem arises. Nothing more than large amount of data, access to sudden increase, large flow, slow response and so on.
Have seen many solutions to the so-called tall plan. It's always about how to do load balancing, disaster tolerance, caching, and distribution. From the physical architecture, how to do the load, cluster, forwarding or the nearest agent. From the point of view of software is nothing but how to do caching, static and dynamic separation, read and write separation.
Load Balancing Technology
Based on the existing network architecture, load Balancing provides an inexpensive, efficient and transparent way to extend the bandwidth of network devices and servers, increase throughput, enhance network data processing capabilities, and improve network flexibility and availability.
Commonly used load balancing technology includes: LVS, Apache, DNS, etc.
Static and dynamic separation technology
The static content (such as: Picture, CSS, JS, etc.) and dynamic content separation, long use of technical nginx.
Caching technology
It is common to load data into memory. Memcached, Mongodb, Redis
Database Cluster Technology
The current common use of MySQL as a source database
Distributed storage or distributed computing technology
The current more popular Hadoop, spark
The following figure simply shows a high concurrency architecture diagram
1, to the LVS to do fault tolerance.
2, LVS will request forwarded to the painless cluster environment
3. WebApps data reading and writing
4, data back to write forward.
High concurrency Solution
There are two types of solutions in general
1, System or server solutions
Increase the server's CPU.
Increase the memory bar.
Increase the number of hard drives to do RAID5.
Replace the free Tomcat, use commercial WebLogic
Increase to two network adapters.
Buy high performance servers directly at higher prices
Performance bottlenecks as business or user grows
2. Solution of System Application
Web page HTML static (requires CMS project support)
Picture server separation (common solution)
Caching (common solution) distributed caching
This same problem will arise
3, horizontal expansion of the server to solve
Extending the Horizontal Application server
1, the resolution of IP
Use DNS to resolve IP issues when users are too old
Loop-multiplexing DNS maps incoming IP requests to servers in a defined series of loops. Once a server failure occurs, circular multiplexing DNS continues to send the request to the failed server until the server is removed from DNS. So many users must wait until the DNS connection times out before they can successfully access the destination Web site
And then there's a load-balancing solution.
Use load Balancing to do address forwarding
1: Forwarding Request
2: Fault Removal
3: Restore Add
Load Balancing on the hardware
NetScaler, F5, Radware and array, and other commercial load balancer. Tyrants Wayward
Load Balancing on software
LVS, Nginx, Apache, etc.