Project development process

1. Understand the needs

a. Who is the demander?

b. Why does this demand arise? For what reason?

c. Is this requirement consistent with the current service positioning? Should it be done in this service?

d. For the processing of requirements, it is necessary to consider whether the performance [cpu, throughput, memory] will be affected to a certain extent according to the specified plan. If there is no other better plan option, then it is necessary to evaluate the stress test results and the throughput cannot reach Then, whether to expand the service node when going online, if the cpu has a large impact, whether to increase the cpu, whether the memory impact is large, whether to do log selection or upgrade

e. For the requirements to be refined into points, why do you require this for each point? Some of these points are set to be blurred, and need to be clearly understood from the demand side? And how did these limit points come from and how were they determined?

2. Requirements document writing

3. Development

a. Naming specification

b. Reduce coupling, try to achieve code decoupling

c. Reduce the use of nested for loops and reduce the use of if nested

d. If a variable is started from the service, there will be no change. For example, when the service IP is obtained, the value will be obtained when the service is init. Don't get it every time in the for loop, which will increase the service pressure.

e. For some tool methods [such as obtaining service IP] and constants, I feel that other interfaces/methods will also be used later, which are placed in the tool class

4. Joint debugging

a. With whom?

Demand side

b. What are the functions of joint debugging? How to joint debugging? What kind of goals should the joint debugging achieve?

c. What needs to be prepared for joint debugging?

5. Test

a. Raise measuring points

b. Pressure test plan [What is pressure test? Pressure measurement index? Pressure test data? Stress test plan?

Note: Before pressure test, you need to understand the data in the database, the memory and cpu of the server where the service is located, the cpu and memory of the pressure test machine, the number of visits during peak production or the qps required by the indicator [here refers to methods that are not available online] ,Used to evaluate how much the stress test throughput should be reached [the reason for this is that the stress test is usually a single service node, so the throughput of a node = 1 second production visits/total number of production service nodes]

c. Tested with test cases

Prevent missing test points in the test

6. Upgrade/Go online

a. Online plan preparation

b. Online planning meeting

c. Preparation before going online [Go online work order, database whitelist, service configuration, apollo configuration...]

d. Go online

e. Observe the service traffic, cpu and memory after going online to see if it is normal

 

 

 

Guess you like

Origin blog.csdn.net/yanhhuan/article/details/112983484