Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

Talking about the structure of large-scale website

2025-02-24 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >

Share

Shulou(Shulou.com)06/03 Report--

The architecture of a large website has never been a predefined architecture, but an evolutionary one. It is rare that a website can be immutable because it has all the attributes of a large website, from the simplest LAMP architecture to the large centralized application architecture based on IOE, and then to the current distributed application architecture. With the expansion of the scale of website users, the architecture is also evolving. From physical computer to virtual machine to current popular Docker technology, from single computer room to multi-computer room in the same city, from LAMP to J2EE, and then to all kinds of distributed middleware such as service framework, distributed message queue, configuration management middleware, distributed data access layer, from simple to complex, it is precisely the growing process of a website from small to strong, where there are challenges, where there will be changes. This is the time to make achievements as a technical person.

The scale continues to expand, but the cost can not increase linearly. Therefore, it is necessary to consider how to use the scale effect to reduce the resource cost, extract the common part, avoid repeating the wheel and improve the development efficiency and response speed. The core value of the existence of technology is for the improvement of productive forces. When the technological architecture restricts the development of productive forces, technological changes are needed. At present, there are several core technologies supporting large-scale websites, such as distribution, service-oriented and virtualization, in which distribution solves the problems brought about by scale, which includes larger and larger data scale and higher and higher traffic of visits. it also includes that the scale of the development team is getting larger and larger, and the scale of the project code is getting bigger and bigger.

The storage capacity and load capacity of a single computer must be limited. From PC to minicomputer to medium-sized computer and mainframe computer, the cost will increase exponentially, while hundreds of people developing the same project will lead to bloated system, extremely low efficiency of development and release, and the Internet will lose the flexibility to survive and return to the traditional software development mode. Through the application of vertical split and cluster distributed horizontal expansion, not only the system capacity will be improved, but also the storage and load will be distributed to large-scale cheap clusters to reduce costs, development efficiency and development mode will also be changed.

Through the extraction of public business, a number of basic services at the bottom of the system will be born, which can avoid the repeated creation of wheels with the same content and improve the efficiency of development. As the most important middleware in the architecture of large websites, the service framework simplifies the operations involved in service invocation, such as object serialization and deserialization, communication protocols, service routing, and a new term-service governance. to sort out more complex issues such as service dependencies, invocation links, strong and weak dependencies, and so on.

In addition, in the architect's weapon library, there are many middleware used in different application scenarios, such as message middleware, distributed data access layer, configuration management center, data migration tools, distributed file system, etc., these are the glue in the daily system architecture. Another core technology of large websites is the virtualization of resources. From physical computers to Xen, KVM, and then to lightweight virtualization solutions based on LXC, and then to Docker, the upgrading of technology makes the utilization of resources higher and higher, and the operation and maintenance, deployment and management of clusters become more and more convenient.

In addition, how to choose storage in different scenarios is also very important, high concurrency and big data often do not appear alone, whether to use disk, SSD or memory, whether to use distributed file system, relational database, NOSQL, or in-memory distributed cache, different scenarios will be very different, distributed file system storage capacity can be understood as almost unlimited, but low throughput Relational database has rigorous schema and powerful SQL statements, which can meet a variety of complex query conditions, but it is too troublesome to expand. In order to deal with high concurrent read and write access, master-slave, read-write separation, and sub-database table toss, not only the workload is greatly increased, and the query dimension is limited, but also need to introduce a vertical search engine to expand the query dimension. Although NOSQL can automatically partition and expand capacity, it does not support SQL. Although the cache is fast and the memory bar is too expensive, the architecture is a constant trade-off.

The reason why large companies are not as responsive as small companies is that large companies have too much accumulation, and sometimes more accumulation will become a burden, and existing models will make it difficult for new business to integrate quickly. When you encounter problems and setbacks, that is, when you think about improvement and system change, no system will never change after it is designed, the technology is always evolving, and the demand and market are constantly changing. therefore, do not expect to use one architecture to meet all the requirements, system design needs to meet the scalability for a period of time, but do not over-design. Because after half a year, you will look back and re-review, you will find that the demand has already changed, this is the fast pace of the Internet.

For the architecture of the system, the evolution of the architecture within a period of time often goes through a process from clarity, then to fuzzy confusion, then reconstruction, then clarity, and then becomes blurred. The market environment is always rapidly changing. Therefore, the design of the system should follow the principle of open to expansion and closed to modification, which can facilitate and timely access to the new process without affecting the existing process. From a macro point of view, the relationship between various systems must not be the relationship between chimneys and chimneys, but like tall buildings in the city, connected by highways. Therefore, in order to improve the speed of house construction, it is necessary to make full use of existing infrastructure and existing middleware to reduce the cost and risk of system construction.

Several levels of architecture design, no architecture is also architecture, focusing on solving existing problems can also be called architecture, and a good architecture should be able to restrain developers and liberate developers to focus on functional design. Try to make complex things simple, not simple things. Technology is never used to show off, but to solve practical problems, so we don't need to be fancy. The KISS principle put forward by Kelly Johnson, a famous aircraft designer of Lockheed Martin, is the best explanation. The concept of risk-driven architecture tells us that avoiding failure is the core of all engineering technologies, architecture is also technology, the use of architectural technology to mitigate risks and avoid going to extremes is the most fundamental responsibility of architects.

Official account of Wechat: IT .

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Internet Technology

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report