网站开发—从简单到复杂

资讯中心 2023.09.17

网站开发—从简单到复杂



这个需求可是真不简单,因为,这个需求等于没有需求,用户量、并发度、页面是否需要SEO、页面兼容性、是否需要后台管理、CDN缓存是否要上等等一概不知


简而言之,无效需求


网站开发,这件事可以很简单,也可以很复杂



1. 简单网站开发


类型: 展示页,企业站点,后端 访问要求不大,SEO要完善


架构基本如下


服务器 1 台,CDN可选,后台语言推荐非阻塞的 nodejs,前端语言推荐原生或 jQuery,CSS可以原生来写, 也可以使用Bootstrap等CSS框架


数据库 非事务 mongodb /事务 mysql或pssql


反向代理 + 负载均衡 nginx


缓存 redis



2. 中等复杂度网站开发


类型: 用户频繁访问的网站, 有一定的并发要求


架构基本如下:


服务器: 若干 数据服务器, 缓存服务器, 用户认证服务器, 业务服务器要分开
后台语言: 若干 数据服务器, 缓存服务器, 用户认证服务器, 业务服务器要分开
前端: 高业务型采用前端框架 vue react, 展示型 采用jQuery
数据库: 读写分离, 主从分离, 分库分表, NoSQL存储数据
缓存: 良好设计, 定时取热数据, 增加缓存命中率, 主从分离 Redis集群
消息队列服务: 解耦数据和行为 MQ, Kafka
日志收集及监控服务:   flume ELK


3. 高复杂度网站开发


类型: 海量用户访问网站, 数据库并发压力高, 事务复杂


架构基本如下:


服务器:

多组服务器集群, 异地冷备, 同城热备, AB测试无缝切换, 广泛的负载均衡, 代码Bug追踪ID

后台语言:

复杂多样, 微服务化

前端:

和中等复杂度基本一致, 需要引入组件的全局状态管理 redux vuex等机制

数据库:

多种存储形式, 流式计算, 读写分离, 主从分离, 分表分库, NoSQL存储数据,大数据生态

日志处理:  

消息队列服务及日志收集服务