web后端开发——技术选择(一期)
2017-12-23 本文已影响1010人
王晓航
后端技术选择
web框架:Django
标签:MVC、大而全、社区活跃、立刻部署、轮子多
MVC模式的核心是将功能完整的程序分成了业务逻辑上可以独立的三个部分:视图、模型、控制器。
在Django中,MVC模式的实现是:模型(Model)、模版(Template)、视图(View)——MTV。
应用情况:豆瓣,知乎,果壳,饿了么,搜狐。
RESTful APIs
标签:网站即软件、按这个设计没错
"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点。遵循RESTful接口设计有助于更规范化的网站开发。
(1)每一个URI代表一种资源;
(2)客户端和服务器之间,传递这种资源的某种表现层;
(3)客户端通过四个HTTP动词,对服务器端资源进行操作,实现"表现层状态转化"。
最常见的一种设计错误,就是URI包含动词。
MySQL
关系型数据库,作为后端的数据支撑
redis
面向内存的数据库,用来处理缓存
Nginx
标签:非阻塞IO、高并发、轻量级
Nginx最近大火,原因离不开目前的前后端分离技术。
轻量级,同样是web 服务,比apache 占用更少的内存及资源
抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能
高度模块化的设计,编写模块相对简单
社区活跃,各种高性能模块出品迅速
纸上得来终觉浅,以上观点出自下面这个链接
OAuth 2.0
标签:授权登录
OAuth2 广泛应用于 web 、桌面应用、移动 APP 的第三方服务提供了授权验证机制,以此实现不同应用间的数据访问权限。
Docker(可能会用到)
轻量级的虚拟化技术