zoukankan      html  css  js  c++  java
  • 前端新技术Serverless的认知

    一、认识Serverless

    相信前端都知道,开发一款软件,我们前端只能负责UI交互、数据交互、业务逻辑,至于数据库、文件存储、服务器等后台技术,却是无法自己负责。而换成后台来讲,所掌握的后台语言一般也能做一些前端所能做的事情,甚至更好,而前端掌握的语言却不能负责服务端的东西。前端和后台两者之间的区别待遇也是明显的


    一个完整的后台服务,自己要装操作系统、web服务器、数据库,自己处理热备,自己新购服务器来应对高并发,自己抗DDOS攻击...

    如今,Serverless来了,真正的把计算、存储的能力进行了云化,开发者只需要按量租用这些计算和存储能力,再也不用买虚拟机,自己装服务器了。就连前端离全栈也不是很远了,掌握Serverless就能负责后台所负责的版块,前端无须花精力去学习后台语言:Python、PHP、Java、C++等之类的,懂得Node.js就能上手,不过Serverless是泛语言的,后台和前端都能使用。

    Serverless的理念是将服务器管理、数据库优化等“粗活”交给云平台,从而前端开发者能够将交互逻辑、业务逻辑、数据全部掌控在自己手中,这是真正意义上的全栈。

    二、Serverless两大技术:Faas和Baas

    Serverless由开发者实现的服务端逻辑运行在无状态的计算容器中,它由事件触发, 完全被第三方管理,其业务层面的状态则被开发者使用的数据库和存储资源所记录。Serverless涵盖了很多技术,分为两类:FaaS和BaaS。

    Faas(Function as a service,函数即服务)

    主要业务是云函数SCF:事件驱动、自动部署、弹性伸缩、监控日志。云函数能取代后台请求接口,能直接对数据库进行增删改查,前端直接调用云函数即可拿到数据

    Baas(Backend as a service,后端即服务)

    主要业务是云数据库和云存储这两种:

    云数据库MongoDB:增删改查、权限控制、索引管理

    云存储COS:快速上传、权限控制、CDN加速

    稍微去了解一下MongoDB就可,就能上手云数据库,不需要你安装MongoDB

    云存储也无需再像传统模式那样单独去购买存储空间、CDN映射、流量采购等,一般直接开通就行;

    读到这,我相信你会有种感受,后台的开发成本大幅度下降了,我们前端只需专注自己的业务,其它什么服务器运维、弹性扩容、防DDos攻击,全都不要担心。

    三、Serverless的工作

    与使用虚拟机或一些底层的技术来部署和管理应用程序相比,Serverless计算提供了一种更高级别的抽象。因为它们有不同的抽象和“触发器”的集合。

    拿计算来讲,这种抽象有一个特定函数和抽象的触发器,它通常是一个事件。以数据库为例,这种抽象也许是一个表,而触发器相当于表的查询或搜索,或者通过在表中做一些事情而生成的事件。

    比如一款手机游戏,允许用户在不同的平台上为全球顶级玩家使用高分数表。当请求此信息时,请求从应用程序到API接口。API接口或许会触发AWS的Lambda函数,或者云函数,这些函数再从数据库表中获取到数据流,返回包含前五名分数的一定格式的数据。

    一旦构建完成,应用程序的功能就可以在基于移动和基于 Web 的游戏版本中重用。

    这跟设置服务器不同,不是必须要有Amazon EC2实例或服务器,然后等待请求。环境由事件触发,而响应事件所需的逻辑只在响应时执行。这意味着,运行函数的资源只有在函数运行时被创建,产生一种非常高效的方法来构建应用程序。

  • 相关阅读:
    IDEA下Git分支开发
    spring boot+spring security集成以及Druid数据库连接池的问题
    spring boot中的声明式事务管理及编程式事务管理
    odoo10中的邮件提醒
    Odoo10.0中的工作流
    odoo10甘特图gantt view
    odoo10同一模型的不同视图不同群组权限控制
    Odoo10中calendar视图点击事件
    Kettle中配置oracle RAC
    Docker部署Redis集群-小白入门
  • 原文地址:https://www.cnblogs.com/murenziwei/p/13565035.html
Copyright © 2011-2022 走看看