Architecture yet there are so many, then how can I choose? How to design a beautiful Web API?

Hot text index , adhere to the original is not easy, small partners please feel free to " recommend " support:

  1. How to design a beautiful Web API?
  2. Programmers must master tuning XYZ
  3. The programmer must understand architecture introductory course 123
  4. How to monolithic application broken down into micro-services? 【on】
  5. How to monolithic application broken down into micro-services? 【under】

 

Yesterday we talked of what architecture is ? Today we take a look at the architecture of past lives. The client - server (C / S), the browser - server (B / S), service-oriented architecture (SOA), micro-services (Microservice), no server (Serverless), function calculation (FaaS), and we have heard a lot of infrastructure-related term, but what is the relationship between them, what better architecture? Perhaps like you have a similar confusion with me, then we take a comb.

 

  • 1. Evolution Overview

From the 1950's to the present, before and after nearly sixty or seventy years, the evolution of the architecture of a total of four generations, each generation almost fifteen years. In accordance with the professional point of division, the architecture can be divided into infrastructure and application architecture, application architecture which refers to building design content business system itself needs attention, but infrastructure refers to the design content to consider when deploying business systems. We all know that any scientific technologies are to serve the business, technological innovation is the true driving business needs. From the entire evolution process, we can see the type of business has become increasingly diverse: from the initial software is mainly used for the calculation of scientific research institutions, information services and then began to rise gradually revolutionized newspapers, yellow pages and other traditional media; then the enterprise computer network as a tool to improve the internal efficiency of the various lines under manual workflow converted to a variety of enterprise applications. Finally, + from all walks of life began to enabling the Internet, our basic needs are inseparable from the software.

Evolution Overview

  • The first stage: the computer was originally born in order to solve problems in scientific computing, such as: nuclear test simulation, calculation ballistic trajectory, because the calculation of the amount of this size is beyond the capabilities of manual calculation. This stage of software complexity is low, mainly to achieve a variety of algorithms to meet the computing requirements, the use of process-oriented application architecture, when the computer or mainframe. Process-oriented application architecture are still present, especially in developing some simple software, computer courses at school or among veterans brother when I was learning C programming language is a process-oriented from the beginning.
  • The second stage: With the growing popularity of computers and Internet connectivity, many organizations began to provide external information services via the Internet. In the veterans brother my impression most profound is that Yahoo, Sina, Sohu, Netease, originally released only begin through traditional media (newspapers, magazines, radio and television) channels this information through the Internet. With respect to scientific computing, information services such software complexity is much higher, it gave birth to the business needs of object-oriented application architecture, components, by means of encapsulation, inheritance, polymorphism and other technology to reduce complexity, improve reusability and flexibility. Infrastructure at this stage is mainly based on minicomputers, mainframes with respect to its lower cost, more flexible usage scenarios.
  • Phase III: More and more companies began to use this stage to optimize the production office and other software, that time is the most popular enterprise resource planning ERP and other information management systems, around 2000 veterans brother I was in school, I was also with JSP / Servlet technology development through student housing management system, teaching management systems. Like JAVA language in the field of SSH (Struts / Spring / Hibernate) and other layered application architecture was born at this stage, the different types of technologies or the complexity of doing a separate, ancillary infrastructure is PC Server.
  • Phase IV: After Google, Baidu, Tencent and Alibaba and other companies to promote the transformation of information, communications and e-commerce industries such as the use of computer, software and the Internet, businesses are beginning to embrace the Internet that productivity, the Internet is + the maximum current trends, the various aspects of our lives, are beginning to be reconstructed optimization, including pay, travel, travel, dining, entertainment and so on. A software system is no longer an island, the rapid expansion of the scale of their start, the connection between each other more and more frequent, micro-service application architecture to be the optimal choice, then supporting cloud computing infrastructure. Spring Boot / Spring Cloud, Docker, Kubernetes and other new technology today is the most fire, but also our programmers need to learn to master.

 

  • 2. Comparison of different architectures

Recalling the evolution of the whole structure, operations become more complex, starting from research institutions gradually affects everyone's daily life, the scale and complexity of software also increases. So there are different types of architecture are not comparable it? This is our usual way of thinking, is the veteran brother had the idea, but now I feel all types of architecture is not either-or relationship, in fact, they contain a complementary relationship exists: process-oriented focus is a function of particle size complexity ; target particle size of the component of interest is a complex class objects, modules, components, etc.; multi-tier architecture of the whole system is concerned the size complexity; complexity of microcells is concern among a plurality of systems. Therefore, they are of different size complexity of solutions, each with advantages of each other, can co-exist in harmony in a software system.

If the process-oriented compared to horse-drawn vehicles, tractors compared to the object components, the multi-layer structure compared to cars, the service compared to micro supercar, these different types of vehicle price vary, but not the more expensive the better, they each have their own applicable scenarios, like the Mercedes-Benz super sports car not in the mountain road. In the choice of architecture, we need to understand the characteristics of each architecture and application scenarios, it is the best fit architecture, which is actually to find objects with almost Oh. Today being the first to share here, then we will continue to talk about architecture, take a look at what are the relationship between architecture style or pattern, libraries, modules, frameworks and architecture and so on, so stay tuned oh.

Adhere to the original is not easy, if you feel valuable, trouble moving hands pointing "below  the recommended  " button, so that more small partners can see, veterans brother will be more motivated insist on sharing. In addition, I will share subsequent career planning, job interview, skills upgrading, to build influence and other experience, welcome  attention to  this column or crooked letter Princess "  IT veteran brother  " !

Micro-channel public number "IT veteran brother."

Watch "  IT veteran brother  " program enabling life!

  • Soft skills - popular articles :( public starting number)
  1. "Fancy" deep cuts routine, you know?
  2. Suffered layoffs, how you overcome the psychological crisis?
  3. How to find a good job in the winter?
  4. 2C or 2B, have anything to do with looking for a job?
  5. Large corporations vs small companies, which would you choose?
  6. With this in mind, not afraid to find a good job!
  7. Quit, jump or not to jump, how to jump?
  8. Programmer "seeking and nurturing" Raiders Secret
  9. Very hard, why do I still marking time?
  10. From the programmer to architect, there are shortcut?

 

  • Hard skills - popular articles:
  1. Illustration Spring: mechanism and process flow of the HTTP request [1]
  2. Illustration Spring: mechanism and process flow of the HTTP request [2]
  3. Illustration Spring: mechanism and process flow of the HTTP request [3]
  4. Illustration Spring: mechanism and process flow of the HTTP request [4]
  5. Illustration Spring: mechanism and process flow of the HTTP request [5]
  6. How to properly use Spring Cloud? 【on】
  7. How to properly use Spring Cloud? 【in】
  8. How to properly use Spring Cloud? 【under】
  9. Spring core technology and product concept analysis [on]
  10. Spring core technology and product concept analysis [next] 

Guess you like

Origin www.cnblogs.com/itlaobingge/p/12122692.html