8 In the agile development product management series: Design Technical Architecture Based on Business (also about 12306 performance issues)

Source: Internet
Author: User

This is the eighth article in the agile development product management series. (Column directory)

In product development, product performance problems are often encountered, which will greatly affect the product architecture.

However, to solve these performance problems, do not think it is only a matter of technical personnel. The product manager and product director should also participate in the process, or even business personnel (sales and pre-sales ).

The following describes the ticket sales issue of 12306.

The purpose of this article is not to say that technical optimization is unnecessary, but to say that as a developer, you should not just think about technology, but as a product manager, do not push all "technical" problems to developers, this is important.

Limitations of the technical solution 12306 why did it crash?

There are different reasons and different solutions.

Search "12306 performance" http://www.baidu.com/s on the Internet? WD = 12306 + % D0 % D4 % c4 % dc & rsv_bp = 0 & rsv_spt = 3 & inputt = 8540, but most of them focus on technical aspects.

I know little about the database and do not know how to optimize it. But let's look at the solution from the business perspective.

Let's take a look at this solution: Why isn't the Server 10 times better?

Many people have suggested that if a server (or 10 times of memory/Hard Disk/…) is used /......), The congestion problem may be solved.

In fact, I also thought about whether or not I could get on a ten-fold train to solve the Chinese Spring Festival problem. The answer is no.

Any train that can meet the number of spring games will become a huge burden in non-spring games, and it can only be parked somewhere to wait for the next Spring Festival.

Therefore, bursty is the core contradiction. No matter the technical method is used, resolving bursty is the main contradiction.

Sudden Amplification

In addition to buying tickets during this period,There is a positive feedback process that adds to the burst, that is, the ticket cannot be bought.

It can be said that no matter whether the number of visitors increases or decreases, as long as there are still tickets, most people will only log on to the website once, and the performance issue is at least linear.

However, if you cannot buy a ticket or a taxi trip, people will suddenly visit the website multiple times, and the performance problem will become non-linear. For example, if one person refresh the ticket more than 200 times, the ticket is successfully purchased.

Turning 200 back to 1 is not a problem that can be solved simply by using technology.

It was also mentioned in a certain strategy that 20 to 20 logon requests are required due to the large number of users ~ It can be completed 30 times. These non-linear factors, coupled with the increasing number of people, will inevitably crash.

Business considerations

Let's take a look at several schemes. Let's assume that I am not programming.

1. Change the ticket advance time from 10 days to 20 days

"What ?" Yes. This silly method can reduce the server load by about 50%.

2. Design a queuing system to complete Logon

In the past, some servers often failed to log on due to server crashes. However, a queuing system would appear at this time: "You are waiting to log on, and there are still 1000 people in front ...... 900 people ...... 800 people ...... (Don't touch the keyboard. It's coming soon )"

This is used to solve the problem of Sudden Enlargement.

I believe that 12306 must have prepared for the 3 billion-person spring festival, but did not prepare for the 6000-person Spring Festival. The queuing system can change the number of people back to 3 billion.

3. Design a queuing system to complete pre-booking

But I still don't have a ticket. What should I do? Take the time to log on and log on again ...... Refresh ...... It is also a sudden amplification factor.

If you have a queuing system, you can arrange the several tickets you want to buy by priority, or even directly say "a month or day, where is it, no matter the number of trains, give it to me if you have a ticket ", wait for a refund at home, or occasionally issue a temporary train.

If it is me, I will also make an SMS service. If it is bought, I will send a text message notification; if it is still waiting in line ...... If you are willing to receive the message, you can send a text message every time you rank the top 10%. You can send a text message in reverse order to query the message in real time.

However, you have to pay for text messages, which is 1 million yuan, which is affordable. I heard that the text message revenue share was opened at, and China Telecom only paid 2 cents. The remaining 8 cents were returned to the Ministry of Railways. I don't know if this rule is still the case.

After a spring festival event, you can earn hundreds of millions of yuan in text messages (which should win the CCTV Gala), and the customer is very happy. After all, these cents have solved the big problem, no need to get up in the middle of the night, leave, or wait in the cold wind. If you leave this blank, a desktop is powered on for three hours, with a capacity of six cents. You cannot buy a ticket within three hours. Now you can (if you have a ticket ).

Of course, if the Ministry of Railways is willing to make profits to the people, it would be better to send text messages free of charge. However, if this problem can be solved, I believe everyone will feel that it doesn't matter if it doesn't matter. After all, train tickets haven't increased in price for 10 years, pay for the extra cost.

In addition, this queuing system can also take out the scalping software, and there will be more scalpers, so we will also queue up with one billion people.

......

And so on. Although it cannot solve the problem of ticket availability, it can solve the problem of ticket purchasing performance.

The actual customer experience is much better.After all, no matter how you use the server and optimization technology, if I continue to go up for 200 times, it will still delay my work and life, and I will not be able to buy a ticket from scalpers (they have professional ticket purchasing software, benefits from performance optimization far exceed US ).

Technical architecture from the business perspective

The question is simple,If you want to build a technical architecture, you must first understand the business architecture.

In this case, we need to persuade product personnel and business personnel.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.