Serverless:无服务器技术,是继虚拟机、容器之后的云计算第三代通用计算技术

    BFF(Backend For Frontend):在微服务和前端中间的 BFF 层,可对接口进行聚合、裁剪后再输出给前端。作为当前 Node.js 在服务端较为广泛的应用

    • 概念:Serverless 是一种构建和管理基于微服务架构的完整流程,不需服务器管理应用部署
    • 特点:

      • 无运维:无需对服务器进行监控、配置、更新、扩容等运维操作
      • 无状态:每次函数执行可能使用的不同容器,无法进行内存或数据共享。共享数据只能通过 Redis、COS 等第三方服务
      • 低成本:按需调用、按需伸缩、按使用收费
      • 事件驱动:云函数在平台中需要通过事件来触发执行,如 HTTP 请求事件、文件上传/处理、消息事件、定时器事件、IoT 某个事件
    • 应用场景:小程序、IoT(未来涉及)
    • 技术方向

      • BaaS:Backend as a Service,后端即服务平台。后端、FaaS、前端都可通过对应 SDK/API 调用 BaaS 服务。如小程序云开发即直接在前端调用 BaaS 服务

        • CDB:云数据库
        • COS:云对象存储
        • CMQ:云消息队列
        • API:API 接口
        • Credis:云缓存
        • Log、Monito & Alert:日志、监控报警
      • FaaS:Function as a Service,函数即服务平台。触发器与平台自己的后端服务相关,使用相应的 SDK 或 API 来连接和调用 BaaS,实现业务逻辑层

        • BFF 实现:前端向 BFF 发起的请求是 FaaS 的一个 HTTP 触发器,触发函数的执行,实现针对该请求的业务逻辑,然后将处理结果返回给前端
        • SSR 实现:每个请求的 path 都对应服务端的每个路由,将路由都拆分为一个个函数,再在 FaaS 上部署。请求 path 对应的就是每个单独的函数
      • Webassembly(未来涉及)

    Serverless 初略 - 图1

    • 更多了解(https://zhuanlan.zhihu.com/p/109428222