后台架构引论(一)技术演化
2019-06-20 本文已影响0人
咩咩的毛球
一、后台架构的演化:2000~2018
- 2000~2008:网站时代
- 2009~2013:中间件时代
- 2013~2017:大数据时代
- 2018~ :AI 时代
二、web 资源介绍
- 静态资源:HTML、CSS、JS、图片、多媒体
- 动态资源:JSP/Servlet、ASP、PHP
三、
(1)2000~2008:网站时代
- JSP/ASP/PHP + Sevlet(Tomcat)+ DB
- 业务逻辑和网页显示混写,两层结构,MVC
(2)2009~2013:中间件时代
- 社交网站崛起(FB TW)
- 海量数据存储、搜索,初期的推荐系统(用户推荐)
- HAProxy
- 免费的负载均衡软件(在 Linux 上)
- 两种负载均衡能力:L4(TCP)、L7(HTTP)
- 介绍:https://www.jianshu.com/p/c9f6d55288c0
- Nginx
- 轻量的 Web 服务器、反向代理服务器
- https://www.jianshu.com/p/5eab0f83e3b4
- Dubbo
- 一种分布式框架,并可实现软负载均衡,Alibaba->Apache
(webservice 也是一种服务框架,但不是分布式) - https://www.jianshu.com/p/94f145335e5f
- 一种分布式框架,并可实现软负载均衡,Alibaba->Apache
- Tomcat Servlet
- tomcat:web 应用服务器
- servlet:运行在服务端的 Java 小程序
- https://www.jianshu.com/p/091bbabd6b27
- Lucene / Solr / ES
- 文档索引、检索服务,es、solr 基于 lucene 框架
- solr 支持格式更多:json、xml、csv、二进制流
es:仅 json - https://www.jianshu.com/p/366d9bd38d14
- Memcached / Redis / MongoDB
- Beanstalkd / rabbitmq / zeromq
- 消息队列(Message Queue) 中间件
- https://www.jianshu.com/p/23fe3ede4756
(3)2013~2017:大数据时代
- 移动互联网
- 大数据、数据挖掘,精准用户推荐,云计算到 Docker 化,微服务到 Severless,流计算,DevOps, 快速迭代/AB测试
- Routing / Dispatching(调度)
- Feeds
- 中台
- 介于前台和后台之间,提供一种聚合服务
- 王健的文章:https://www.meiwen.com.cn/user/tfcxtttx.html
- k8s/Mesos
Docker 与 k8s: https://zhuanlan.zhihu.com/p/53260098
调度与容器:http://dockone.io/article/1138 - Hive:将 SQL 语句转化为 MapReduce任务
- Spark
- Kafka:消息队列
四、Web Framework 框架
- 框架是一个工具或工具集。eg:Flask,Express
- 开发Web App时,有一些相同的工作,将它们提取出来,就是web框架:
- 匹配URL和HTML页面
- 操作数据库
- cookie和session
- Web框架主要解决的问题
- URL路由:将输入的HTTP请求匹配到特定的Python代码用来调用
- 模板引擎:能够将实现应用的Python代码逻辑和其要产生输出的HTML(或其他)分离开
- 数据库操作
- 请求和响应对象:封装来自或发送给用户浏览器的信息
五、 Middleware 中间件
- 中间件是允许一系列隔离的系统或功能进行交互的软件。
- Middleware 与中台 对比