Today I went to interview a company doing e-commerce project , Ask as soon as you come up : How do you solve the problem of high concurrency ? It seems that the problem of high concurrency can not escape in the interview , Now write your own understanding , The understanding is very shallow , But I also hope to help you .

I think we can start from these aspects to answer this question :

first , Hardware level , The server uses more memory , Better hard disk . in consideration of money, This is certainly not the answer the interviewer wants to hear , But you can say a word .

second , Software level :

     1. The application server is definitely the first to suffer , So we have one first niginx Balance responsibility , How many application servers are deployed in the background ,

        Distribute requests evenly to each server , It is called cluster deployment ;

     2. After cluster deployment , The pressure on the application server has been temporarily resisted , Now it's the database that's not going to work . At this time, we should consider the sub database and sub table ,

        There is also the separation of reading and writing , Get all the write pressure to the main library master upper , The pressure of reading gets from the library slave. That is, sub database and sub table + Separation of reading and writing ;

     3. If the traffic continues to expand , Scale out the database server , But also consider money The problem of , So it doesn't work . Then the cache server

        start doing sth. , Be a cache cluster .

     4. The previous cache cluster only solves the problem of reading , In fact, the pressure is still great , At this time, the message intermediate key will be introduced , Like all kinds of mq Something like that

        Dongdong . Because in some businesses, many pieces of data are written at one time , It's all written right away, but it's not . for instance , Like after users pay , Pay first

        The relevant data is stored , Other records are placed in mq in , When the system is idle, save it slowly .

    In the final analysis, it is from the architectural level to answer this question , I think it will be better , Of course, that's the idea , It involves a lot of technical details , I was there too

    Learning , We can only learn and understand by ourselves . be ashamed ! There is also a reminder of the interview friends , When you say these ideas , And then there's the question

    Distributed dependent , Like how do you solve distributed problems session Inconsistent issues , Distributed transactions and so on . Good luck with your interview !


©2020 ioDraw All rights reserved
2020 Nobel Prize in physiology or medicine announced Implementation and challenge of metadata service in data Lake Enterprises face SEM Bidding and SEO How to choose ? Or both ?spark.sql.shuffle.partitions and spark.default.parallelism The difference between JavaScript Do a simple guess number games What are the types of variables ? Trump's "VIP therapy ": Is receiving a drug treatment that has not yet been approved ( Essence )2020 year 6 month 26 day C# Class library DataTable( Extension method ) program ( process ) How is it stored in the operating system , Space allocation Understanding neural network machine translation in three minutes