一、Web/ApplicationServers
-
服务器端语言
1.1 Node.js、Ruby、Java、PHP、Python、Go、Scala、Clojure
1.2 每种语言都有自己的“Web框架”(例如基于 Java 的 Spring,基于 Ruby 的 Rails,或基于Node.js的Express) -
Web服务器
2.1 使用的原因- 快速重定向某些请求而不必通过后端代码执行此操作(状态码404页面)
- 存储在Web服务器的文件系统上的静态内容(例如图像, CSS, JS)比通过后端代码访问更快
- 某些服务器端语言(例如 PHP)没有内置的生产级 Web服务器,因此需要通过专用的 Web服务器进程启动
2.2 Apache、 Nginx、 Tomcat和 Node.js四者的区别是什么
- Tomcat 只能跟 Java配合, Node.js只能跟 JavaScript
- Apache 能和其他语言配合(通常跟 PHP 配合居多),但需要借助不同的模块
- Nginx则是通过端口转发,所以 Apache和 Nginx可以和各种编程语言一起使用
- Nginx和 Apache是纯 web服务器,不具备解析动态语言(比如php文件和js文件)的能力.
- Tomcat和 Node.js 能够解析这些脚本语言,提供应用服务, WebServer算是附加的功能
二、域名解析系统, DNS
- 当用户在其地址栏中输入 URL时,浏览器将获取 URL的域部分(例如 www.google.com)并调用DNS 。DNS解析发回该网站服务器的IP地址位置(例如172.217.23.4)。一旦它具有IP地址,它就可以发送对网页的实际请求
- 如果你的Web应用程序使用负载均衡器,则应将域名配置为指向负载均衡器的域名或IP地址
- 如果您没有使用负载均衡器,那么您可以将域名直接指向应用程序服务器的域名/ IP地址
三、Blob / 文件存储
- 虽然数据库通常用于存储动态数据(例如,由最终用户或API客户端生成),但是存在某些类别的数据( 非结构化数据),这些数据不能由用户改变或者基于文件而不适合数据库存储,例如:
1.1 前端网站资源,如图像, Javascript, CSS,字体,音频,视频文件
1.2 用户通过表单上传的各类文件 - 关于 Blob 存储
直接向浏览器提供图像或文档
存储文件以供分布式访问
对视频和音频进行流式处理
向日志文件进行写入
存储用于备份和还原、灾难恢复及存档的数据
存储数据以供本地或 Azure 托管服务执行分析