What exactly does the architect want to do?
Where does the position of the architect come from? I do not know, but now the website of the explosion of growth, leading to a lot of large and medium-sized network companies to the architects of the urgent needs of architects in the end what is it? What is the duty of this position? We don't know, enrich software programming this industry in the past few years, I slowly found that sometimes a project, from simple language communication to a sketch with strokes, so that the business process directly drawn out, and then the construction of the database, writing background code, the front-end code, such a process to the project, but in the days to come, Modifying code, querying bugs, fixing bugs, adding business modules, and so on, can make you feel crazy, and sometimes it feels like the original frame design is ... when you want to deny all that you have done before, your heart is struggling and suffering, denying everything before, the loss to the company is huge, A companion will also give you the biggest blow, so you're stuck in a dilemma. This is what you will think, but the architecture has a problem, not taking into account the unknown factors, and the project has brought a great disaster.
The architecture is like a building drawing, if you want to build a kennel, it is estimated that your brain has a model, with a few boards will be nailed to him, a few hours may be completed, but when you want to build an office for a business, this time is not a simple problem of the board. You need to consider more factors, including the area, what kind of structure, the size of each room, the number of toilets, the size of the parking space, the height of the floor and so on a series of problems, and then this is not your own can complete the project. So need a lot of positions to cooperate with you to complete this project, so the first design drawings are very important, this drawing structure design, will eventually lead to the success of the entire building.
The Architect is the person or team who designs the drawing. If as an architect must understand the needs of customers, understand the needs of the product Manager model, avoid the unknown risks, and programmers have a good communication, can let the working people understand what you want, such a comprehensive quality of people. I think a good architect must be someone who has enough programmers to work with and has a good understanding of demand analysis.
The architect is also a person who can communicate very well, has the agile thinking, can carry on the expansion analysis to the demand, has the very good understanding to the code standard, a good project should have the good module design, and the good code specification, this can let a new person quickly enters the character, for this project potency.
Architects should be a code-capable person who can come forward and solve problems for their peers when they encounter technical problems. To make the project progress at a normal pace. So a good architect should be a code tech bull man. This person will be very helpful in the critical moment for the overall progress of the project.
Distributed and cluster is what architects should know, for large-scale systems, has a large user base, every day hundreds of millions of users in the server access, so the pressure on the server is very large, if the extension of the machine, will cause huge losses to users and the company, will also bring a poor user experience, Thus the loss of information on the product, resulting in customer churn. Therefore, it is necessary to have a distributed and clustered service system, and distributed clustering should be extensible and independent, and each machine's machine will not affect the whole.
High concurrency is a tricky issue for a Web site that is active, so it's important to solve high concurrency, testing, and evaluation, and it should be used for caching, when necessary, Currently. NET has its own page cache, Java also has its own cache jar package to provide support, PHP has a fairly simple and useful cache for you to use. But in addition, there are a lot of third-party cache system, their performance far beyond the framework itself, so-called nosql, non-relational database, currently provides cache service has a very good redis,memcached, both of which can be very good third-party cache to handle data interaction, Prevents disk I/O from burdening the server, reducing read and write times, and giving customers a better, faster user experience.
Window server and IIS are a must-have for. NET programmers, window has a good graphical interface to make the operation more simple and convenient, so it has a large number of users around the world. IIS is no less than Tomcat in terms of performance. But why a lot of e-commerce enterprise backstage will choose Linux and Nginx, Linux cluster distribution configuration is not the same as Windows. MySQL is a small and powerful relational database that has been used by programmers. MySQL is the first to run on Linux, although there is a window version, but the pro-mom and stepmother's treatment must be different, perhaps the surface you can not see what. But you'll feel it for a long time.
The above is the basic quality of the architect's summary.
This article can be reproduced without permission, but it must be marked by the source.
2016-6-17 in Beijing
Blue Sky Email:[email protected]
Blog Address: http://blog.csdn.net/lansetiankong12
What exactly does the architect want to do?