The recent learning architecture design, first from the most basic student information management system analysis.
Objective: The structure design of student information management system First step: Identify system complexity
?? The real purpose of architecture design is to solve the problems caused by software complexity, so we should first identify the complexity of the system, and then analyze the whole system.
Think of the second step: basic functions
- Login
- Registered
- Information Enquiry
- Performance management
- Course Management
Consider the third step: performance
?? General school students about the people, the Student information management system access frequency is not high, the average number of individual students visited less than 1 times per day, so the performance of this part of the requirements are not complex, storage using the regular MySQL database is competent, the cache can not be used, the Web server using Nginx more than enough.
Think Fourth step: extensibility
?? The Student information management system has a stable function, the expandable space is not big, so the scalability is not complicated.
Think fifth step: High Availability
?? Student Information Management System even if the 2-hour outage, the student management work has little impact, so you can not do load balancing, not to worry about the multi-live off-site complex scenarios. However, if the student's data are all lost, repair is very troublesome, only by manual repair, this is difficult to accept, so need to consider storage high reliability, here is a bit complicated. We need to consider a variety of abnormal conditions: machine failure, room failure, etc. For machine failure, we need to design MySQL's co-host plan, for the engine room failure, we need to design MySQL synchronization program for the cross-machine room.
Consider the sixth step: cost
?? Because the system is very simple, basically a few servers can be done, for a university is not a problem, so there is no need to pay much attention.
Conclusion
?? At this point, it can be seen that the main complexity of the system design is embodied in the storage reliability, the need to ensure that the anomaly, do not lose all the data can (lose a few or dozens of students information problem is not big). The corresponding schemas are as follows:
?
Architecture design of student information management system