Large website system features:
High concurrency
Large Flow
High availability
Massive Data
Wide distribution of users and complex network conditions
Bad security environment
Rapid changes in requirements and frequent releases
incremental development
The final version of the large website evolution:
CDN server cluster
Reverse proxy server cluster
Load balancing scheduling server cluster
Application server split and cluster
message queue server cluster
Distributed server cluster
application
local cache
Unified Data Access Module
Distributed cache server cluster
Distributed file server cluster
Distributed database server cluster
Search engine server cluster
NoSQL server cluster
core value:
Flexibility to respond to site needs
major force:
Website business development
Misunderstanding:
Blindly following the big company's solution
Technology for technology's sake
Attempt to solve all problems with technology
model:
Layers (horizontal: applications, services, data)
Segmentation (vertical: each layer is segmented and then refined)
Distributed (different modules are deployed on different servers and work together through remote calls)
(Distributed applications, services, static resources, data storage, computing, configuration, locks, files, etc.)
Clustering (clustering of deployed servers)
Caching (CDN, reverse proxy, local cache, distributed cache)
asynchronous
Redundancy (backup)
Automation (release, code management, testing, security detection, deployment, monitoring, alerting, failover, failover, downgrade, resource allocation)
Security (identity authentication, information confidentiality, program attack website, XSS, SQL injection, spam sensitive information filtering, risk control)
element:
Performance (response time, TPS, system performance counters)
Availability (downtime, release)
Scalability (cluster)
Extensibility (demand)
Security (Anti-Attack)