sequence
Most readers are probably wondering why, in this era of micro-services to dubbo, spring cloud represented, I would also like to organize this already "obsolete" high-availability cluster architecture?
I work most of the team is 7-15 people compiled by the development team, the company corresponding projects are mostly small and medium sized project, the largest project PV / UV, it was only 10w / 2w. In such a scenario, companies are generally small and medium entrepreneurs started not long, most of them need the spirit of "cut costs", "with minimal costs to maximize output." Micro-service architecture compared to the high-availability cluster architecture, understand, members of the technical team for the preparation of relatively little, server deployment costs should be relatively higher.
As technical team leader, will certainly have to consider the overall costs, otherwise not be long before the pay talks is an army of the bar. . .
First, how to choose
1, high availability clustering
For small and medium infrastructure project start-up companies and small technical team fast iterative release deployments, pre-low-cost operation, the amount of investment costs by a lateral expansion server compressive outbreak. http://m.qd8.com.cn/yiyao/xinxi21_3709996.html
Features:
Low upfront cost of technology development
Certain server expansion costs
The core team preparation and requires less skill
Project Releases deploy almost no dependence on low cost time
Server operation and maintenance costs in general
Large and separate project module design
A more efficient and more stable technical architecture selection
Micro Services Architecture obsessive-compulsive disorder NA
2, micro Services Architecture
Compression architecture for server business in large infrastructure projects of large technology companies, the system can be split multiple projects alone operations, large-scale technical team, standardized management platform products, some of the initial investment cost, low-cost expansion of the specified service.
Some of the early technology development costs
Lower server expansion costs
The core team preparation and skill requirements higher
Published deployment project dependencies, one by one deployment, high time costs
Server operation and maintenance costs are generally higher or
Clearer separation module design project
More and more fashion tide of technical architecture selection
Second, high availability clustering architecture
1, the necessary server list
Server load balancing
web server project
Cache server
The database server (standby)
Note: Some may ask, if small-scale projects stand-alone service, load balancing, if you do not need? The main job was to distribute the load balancing requests to a server, and the other role is to protect the source server, the server does not expose the real IP, significantly reduce the risk of server is *** of DDoS, refer to "being DDoS ***, and analysis about the principles and protection, " a text. Gastrointestinal Hospital Medical Jiaozuo Guo good: http: //jz.lieju.com/zhuankeyiyuan/37324643.htm
2, expand the server list
More web project server (cluster load)
Asynchronous service server (distribution center, message queues, job tasks, etc.)
The database server (separate read and write, from the master copy)
file server
2, Chart
Third, micro Services Architecture
1, the server list
dubbo / spring cloud server family bucket assembly
Server load balancing
A module web server project
B module web server project
C module web server project
XXX module web server project
Cache server
The database server
file server
Asynchronous service server (distribution center, message queues, job tasks, etc.)
2, Chart
Note: Source http://yun.itheima.com/open/217.html
IV Summary
In summary, our services for high-availability cluster and micro-architecture to do a simple scene graph analysis and architecture, not to say what the scene must use what is architecture, not to say what the most current on what architecture, but based on the actual costs and output as a starting point to choose.
Venture company has just started, funds may also hundred million, or engage in micro-service architecture, technical team and the cost of the optical server month accounted for the bulk of a company, not the product line, the company has been closed down;
Have the resources of the company, at every turn you can get ten million even many financing, a higher level of business direction, if just with high-availability architecture, all business modules are bloated in a project, whether it is on code management or personnel management They are huge consumption of resources.