后台架构引论(一)技术演化


一、后台架构的演化:2000~2018
  1. 2000~2008:网站时代
  2. 2009~2013:中间件时代
  3. 2013~2017:大数据时代
  4. 2018~ :AI 时代

二、web 资源介绍
  1. 静态资源:HTML、CSS、JS、图片、多媒体
  2. 动态资源:JSP/Servlet、ASP、PHP

三、
(1)2000~2008:网站时代
  • JSP/ASP/PHP + Sevlet(Tomcat)+ DB
  • 业务逻辑和网页显示混写,两层结构,MVC
(2)2009~2013:中间件时代
  • 社交网站崛起(FB TW)
  • 海量数据存储、搜索,初期的推荐系统(用户推荐)
后台架构引论(一)技术演化_第1张图片
  1. HAProxy
    • 免费的负载均衡软件(在 Linux 上)
    • 两种负载均衡能力:L4(TCP)、L7(HTTP)
    • 介绍:https://www.jianshu.com/p/c9f6d55288c0
  2. Nginx
    • 轻量的 Web 服务器、反向代理服务器
    • https://www.jianshu.com/p/5eab0f83e3b4
  3. Dubbo
    • 一种分布式框架,并可实现软负载均衡,Alibaba->Apache
      (webservice 也是一种服务框架,但不是分布式)
    • https://www.jianshu.com/p/94f145335e5f
  4. Tomcat Servlet
    • tomcat:web 应用服务器
    • servlet:运行在服务端的 Java 小程序
    • https://www.jianshu.com/p/091bbabd6b27
  5. Lucene / Solr / ES
    • 文档索引、检索服务,es、solr 基于 lucene 框架
    • solr 支持格式更多:json、xml、csv、二进制流
      es:仅 json
    • https://www.jianshu.com/p/366d9bd38d14
  6. Memcached / Redis / MongoDB
    • 都为 NoSQL
    • https://www.jianshu.com/p/49f2f325461f
  7. Beanstalkd / rabbitmq / zeromq
    • 消息队列(Message Queue) 中间件
    • https://www.jianshu.com/p/23fe3ede4756
(3)2013~2017:大数据时代
  • 移动互联网
  • 大数据、数据挖掘,精准用户推荐,云计算到 Docker 化,微服务到 Severless,流计算,DevOps, 快速迭代/AB测试
后台架构引论(一)技术演化_第2张图片
  1. Routing / Dispatching(调度)
  2. Feeds
  3. 中台
    • 介于前台和后台之间,提供一种聚合服务
    • 王健的文章:https://www.meiwen.com.cn/user/tfcxtttx.html
  4. k8s/Mesos
    Docker 与 k8s: https://zhuanlan.zhihu.com/p/53260098
    调度与容器:http://dockone.io/article/1138
  5. Hive:将 SQL 语句转化为 MapReduce任务
  6. Spark
  7. Kafka:消息队列

四、Web Framework 框架
  1. 框架是一个工具或工具集。eg:Flask,Express
  2. 开发Web App时,有一些相同的工作,将它们提取出来,就是web框架:
    • 匹配URL和HTML页面
    • 操作数据库
    • cookie和session
  3. Web框架主要解决的问题
    • URL路由:将输入的HTTP请求匹配到特定的Python代码用来调用
    • 模板引擎:能够将实现应用的Python代码逻辑和其要产生输出的HTML(或其他)分离开
    • 数据库操作
    • 请求和响应对象:封装来自或发送给用户浏览器的信息

五、 Middleware 中间件
  1. 中间件是允许一系列隔离的系统或功能进行交互的软件。
  2. Middleware 与中台
    后台架构引论(一)技术演化_第3张图片
    对比

你可能感兴趣的:(后台架构引论(一)技术演化)