从开发到部署,从用户访问到底层数据库,介绍搭建网站系统的经典架构的10个核心部分。
(图转自bytebytego,翻译整理by dogstar)
1、使用Git管理和协同源代码,通过CI/CD或Git的Webhook方式自动同步更新部署到服务器。(PS:例如使用码云Gitee、阿里云效codeup)
2、用户请求后,经过DNS解析,请求将到达你的应用服务器。
3、使用负载均衡器和反向代理(如 Nginx 和 HAProxy)在 Web 应用程序服务器之间均匀地分配和处理用户的请求。
4、可以使用 CDN(内容分发网络) 提升静态资源文件的加速访问。(PS:例如七牛云、阿里OSS)
5、Web应用服务器,通过API接口与后端服务进行通信。(PS:后端API接口开发,可以使用PHP开源的PhalApi接口框架,或免费的API低代码开发平台 YesApi.cn)
6、后端服务通过与数据库服务器、分布式缓存进行通信交互,最后处理和返回提供数据。
7、资源密集型和长时间运行的任务将使用异步队列发送给Worker进程。
8、使用全文搜索服务提供更多搜索功能。例如:Elasticsearch 和 Apache Solr 等工具。
9、监控工具(如 Sentry、Grafana 和 Prometheus),可以帮助分析数据以确保一切正常。
10、如果出现故障,监控报警服务会通过 Slack 等平台通知开发人员以快速解决问题。