Ideas and recommendations on Internet large-scale application software architecture

Source: Internet
Author: User

I have seen many growing enterprises. With the expansion of business and the increase of data streams, their software is increasingly exposed to growth bottlenecks, then we will try out the architecture in a hurry and try our best.

There are too many such enterprises in China, and I am sorry to say a lot.

No matter what software is exposed to growth bottlenecks, there is no other reason except for the historical architecture.

There are many technical solutions to solve the data flow bottleneck. I just want to make an idea here, because I don't want to be attracted by the so-called mature solution.

In my opinion, Google is the biggest data stream software.

It is said that to solve this problem, Google adopts a series of intelligent processing methods, including hardware modularization, data memory (including virtual memory technology), multi-process multithreading, server clustering, and power cluster automation.

I think if your software is as successful as Google one day, there will certainly be a similar solution.

My idea is that if your software will be able to handle millions of concurrent jobs in the next five years, what you need to do is not millions of concurrent jobs, what you do is the controllable space for business growth in the next 20 years.

What kind of architecture idea is this )?
First, consider virtual technology, cluster technology, and distributed technology. In fact, these costs are much higher than buying expensive servers and high-speed bandwidth.

Virtual Technology is actually converting physical resources into logically manageable resources to break the barriers between physical structures. Imagine that any PC can use computer resources to the extreme, what is this concept.

Cluster technology is to use virtual technology and physical machines to the extreme and break through any high concurrency growth brought about by big data streams, and to do a good job of network and data disaster recovery.

Distributed Technology breaks through the limits of server resources and PC resources, and also solves performance problems.

Currently, these technologies are mature, and almost all large enterprises are using or trying these technical solutions.

Second, we need to consider the problems of network transmission and computer language itself.

Although the bandwidth has been greatly improved, it is important to consider the long-term development of enterprises and software. Obviously, many front-end technologies of mobile terminals and PCs have mature solutions, such as open-source frameworks such as jquery and jquery, which solve Network Transmission response problems to a certain extent, second, we need to consider the cache mechanism. There are countless open-source frameworks, such as ehcache and ehcache.

The choice of computer language is also a problem. Currently Java is widely used all over the world. It is true that Java is born for the network and has a natural advantage. But for the long term, in addition to using Java at the application business layer, it is best to combine the underlying or middleware or application layer with PHP + Java + C + Erlang. This is the most effective solution for performance, speed, and security.

The server application container has many options. ngnix or was is recommended.

Not to mention the server operating system, Linux!

This article is purely an overview of experience. In the future, I will launch targeted solutions.

Shenzhen-Linux kernel-Luo 2014/0711






Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.