Home > Article > Backend Development > Please ask experts to answer some questions arising from using multiple ecs in Alibaba Cloud.
The best thing about Daniel is to use multiple Alibaba Cloud ecs to build load balancing. Alibaba officially recommends purchasing cloud database RDS and file storage OSS. Can such an architecture be scaled horizontally? Many people say that the disk IO of Alibaba Cloud ecs is very low. If it is suitable for running programs, does it mean that to build a high-concurrency and scalable server architecture, it must be equipped with cloud database RDS and file storage OSS
Can anyone please explain and what are the requirements for developing a server-side program with such an architecture? Can it not be used? Session, so what should I use to replace it? What are the differences between it and the program compiled with ordinary lamp architecture? Thank you for asking more questions. Thank you very much
The best thing about Daniel is to use multiple Alibaba Cloud ecs to build load balancing. Alibaba officially recommends purchasing cloud database RDS and file storage OSS. Can such an architecture be scaled horizontally? Many people say that the disk IO of Alibaba Cloud ecs is very low. If it is suitable for running programs, does it mean that to build a high-concurrency and scalable server architecture, it must be equipped with cloud database RDS and file storage OSS
Can anyone please explain and what are the requirements for developing a server-side program with such an architecture? Can it not be used? Session, so what should I use to replace it? What are the differences between it and the program compiled with ordinary lamp architecture? Thank you for asking more questions. Thank you very much
Thank you for the invitation.
Don’t be confused by the bunch of new terms they call. In fact, ECS
is equivalent to a server. You can install any server-side program on this server, such as using Nginx
to achieve load balancing. , use Redis
to implement caching, use Samba
to build a file server, and use Mysql
to build a database server.
In fact, their so-called high-end-sounding things like RDS, OSS, load balancing, etc. are all built on ECS. In other words, if you master the installation skills of the above software, you You can build it yourself to get the same functionality.
However, this does not mean that the above items are useless. They have the following characteristics:
Simple, novices can use it, you don’t need to master operation and maintenance knowledge.
Safety, the above services built by yourself are basically a disaster when the server fails. But by using their services, you can avoid this problem. Even if something goes wrong, you can still claim compensation
Low cost. It costs a lot to buy your own server to do nginx forwarding, but it is much cheaper if you buy a load balancer.
At the same time, it also brings a lot of inconveniences.
For example, load balancing requires that the cache server must be independently publicized to avoid multiple servers being out of sync. In the same way, the file server must also be independent, or use services such as rsync for synchronization. In addition, files uploaded by users, source code version control, etc. all need to be in place.
During the development process, IO operations must be avoided (because it is meaningless to write to a certain server alone). All server-side storage, including session
, must be uniformly placed on the public server (the purpose is to allow all can be accessed by the back-end server), you can choose data storage solutions such as Redis
and memcached
to solve the problem.
To sum up, if the number of concurrencies and business volume have not reached the bottleneck, do not show off just for the sake of showing off. It is strongly recommended that Alibaba Cloud simply mislead novices and ignore the experience in order to sell products!
Alibaba Cloud OSS is equivalent to CDN accelerated object storage.
RDS is equivalent to the relational cloud database that Alibaba Cloud configures for performance optimization. It can establish clusters and multiple data backups to prevent data loss.
Load balancing is mainly used by proxy software such as nginx or HAProxy to distribute requests to different application servers (such as php-fpm nginx) to reduce the pressure of concurrent requests on single-point servers and increase fault-tolerant service capabilities.
It is recommended to use nginx, and then use rds and oss for processing.