目录

  • 简介
  • 应用的构成
  • 前后端分离的演化
  • 后端的作用
    • 简单来讲...
    • 大规模后端应用
  • 数据、算法工程师各司其职

简介

前端工程师了解后端的功能和作用之后,能更好的和后端工程师进行沟通,减少沟通成本,另外也有助于向全栈工程师方向发展。在开始之前,先回顾一下应用的构成:

应用的构成

一个完整的应用通常包括前端和后端两个部分。前端是直接与用户打交道的部分,通常指的是网页,采用 HTML/CSS/JS 语言编写,运行在用户自己电脑的浏览器上。后端则是运行在远程的服务器上,用来收集和处理用户传来的数据,然后把结果再传给前端,展现给用户。

前后端分离的演化

在以前,当 web 应用还是主流的时候,前后端应用包含在同一个项目中,工程师需要同时负责这两个部分,接收到用户的请求后,处理请求,然后生成对应的 HTML页面,再把生成好的页面发送给用户。

后来随着手机和智能设备的普及,因为移动 app 必须安装在客户端手机上,这样就导致越来越多现有的 web 应用需要单独提供接口给 APP 使用,即使他们用到的数据一样的。一套程序同时维护两套接口就打破了”不编写重复代码“的原则,所以 web 页面的展现也像 APP 一般分离了出来,这样后端只需要提供一套 API,就可以让 web和APP共同使用。Web 前端也就变成了像 App 一样的客户端程序,第一次访问页面时,由服务器直接把整个前端程序发送到浏览器中,剩下的请求统一在 web 前端处理,直接访问后端 API 接口。广义上的前端,是包括 app、小程序和桌面应用的,也就是所谓的大前端,所有负责数据展现并与用户交互的程序都可以称之为前端。由此,我们前端工程师专门负责前端,后端工程师负责后端。

后端的作用

接下来看一下后端的作用和组成部分。

简单来讲…

前端应用根据一定协议(比如 HTTP) 发送请求给后端,后端接收请求后,解析请求参数,然后根据这些参数来进行数据的计算和处理,最后把结果返回给前端。

一个最基本的后端应用由三个部分组成:

  • 服务器程序,用于接收请求和发送响应。
  • 后端应用程序,用于处理请求,并完成业务逻辑,然后利用服务器程序把结果响应给前端。
  • 数据库:用于保存和业务逻辑相关的数据,便于再次使用,比如用户注册的信息、应用的内容等。

大规模后端应用

后端,根据规模,会有不一样的组成部分。一个简单的、较少用户量的小规模应用,在一台服务器上部署整个后端应用程序就足够了,而对于大规模的应用,往往部署在由几台乃至几千台服务器组成的集群中,对于这种,后端应用会根据 API 结构或者功能进行拆解,比如认证鉴权服务、订单服务、日志服务、数据库等。然后部署到不同的服务器上,每个服务也可以部署到多台服务器上用于提升性能、容灾容错。除后端服务外,大规模应用还有以下常见的几个组件:

  • load balancer(负载均衡器),用于把请求分给负载比较低的服务器上。
  • Api Gateway (API 网关),用于组合分散的 API,对外提供统一入口,也起到保护内部服务的作用。
  • Cache Service(缓存服务),用于缓存计算结果,提升性能。
  • Centrialized Service(中心管理服务),用于为服务器集群提供中心化的配置、同步和管理服务。
  • Message Service(消息服务),用于处理基于事件(或消息)的服务,支持持久化(即保存消息),常用于后端服务间的通信,或者实现 websocket 协议。

数据、算法工程师各司其职

上边介绍了后端应用的常见结构,对于现在的科技发展,单从业务逻辑上又能划分成独立的服务单元,比如

  • 大数据处理服务
  • 图像处理服务
  • 自然语言处理服务
  • 爬虫服务

由此也带来了细分的工作岗位,比如数据工程师,算法工程师,爬虫工程师等等。

给前端工程师看的后端科普相关推荐

  1. 写给刚入门的前端工程师的前后端交互指南

    转自原文 写给刚入门的前端工程师的前后端交互指南 作为刚接触前端的不久的童鞋,大家都会兴奋于CSS和JS所带来漂亮界面,然而,前端工程师除了UI重构外,还有非常重要的职责在正确的区域渲染出服务端的数据 ...

  2. 前端性能优化——写给网页设计师和前端工程师看的

    本文的作者哈利来自英国,是一位22岁的设计师.开发人员,同时也是一名作家和讲师(见下图).不错的一篇文章,推荐熟读! 英文原文:Front-end performance for web design ...

  3. 前端工程师怎么写后端?试试 koa.js + Apache APISIX 吧~

    前言 两年前,我还是一个小白开发者.当时为了上线我开发的一个网站购买了一个学生服务器,并且安装了 linux 服务器的小白之友 宝塔面板 ,相信现在还有很多朋友买到服务器了第一件事就是装个宝塔.在宝塔 ...

  4. web设计师和前端设计师的互动—前端工程师应该具备的三种思维

    如果你是一个天才工程师(马上可以离开),可以独立完成一个很多事情,你可以是一个怪咖,因为我相信没有一个人不会不佩服你.但现实归现实,多数人都不是天才,而我们在职场上也不是单打独斗,我们需要团队合作,需 ...

  5. 前端工程师的三种级别,技术决定你能拿5K,还是15K,还是25K

    随着信息技术不断发展,前端技术的发展也经历了不同的阶段.前端概念随着移动智能手机的普及被正式提出,混合APP开始被广泛开发.近年来,由于前端技术开始实现工程化,一些企业前端开发任务逐渐向后端拓展,逻辑 ...

  6. 前端工程师如何避免被边缘化

    我猜想国内很多前端工程师都想过这个问题吧.前端工程师往往属于产品研发团队,但却很容易被边缘化--后端工程师觉得自己才是主力,没有后端工程师产品就不存在了,但没有前端工程师产品还能有,只是界面非常糟糕而 ...

  7. 前端工程师后端转型实录

    采访讲师师 姜雨晴,MediaTrack音视频研发负责人.毕业于Dalhousie University,曾任字节跳动高级前端开发工程师,熊猫直播音视频研发负责人, 猫耳FM前端开发工程师.目前负责M ...

  8. 相对于就业来讲,前端工程师和后端开发哪个比较好?

    在开始这个问题前,先说一下前端和后端两者之间都是干什么的?有哪些区别?通俗地讲,前端干的工作是用户可以直接看得见的,而后端开发的工作主要在服务端,用户不太能直接看到.虽然前端开发和后端开发的工作有巨大 ...

  9. 前端工程师和后端工程师的区别?

    有很多小伙伴都听说过前端开发和后端开发,但是却不知道两种岗位都是干嘛的有什么区别,今天小千就来给大家介绍一下前端工程师和后端工程师的区别,方便大家理解. 前端工程师 前端工程师是互联网时代软件产品研发 ...

  10. 互联网首席工程师 - 全栈,懂后端的精英前端工程师

    1. 老百姓身边的互联网 逛街买衣服好累哦 大家想一下,我们在没有互联网的时候,我们买衣服是怎么买的,大家想过吗?在没有互联网的时候,大家买衣服我没猜错的话我们会去商场或者是专卖店,像北京现在天气这么 ...

最新文章

  1. 生出树状的文件夹结构
  2. Servlet的体系结构 || Servlet相关配置
  3. 要选择做有价值的事情
  4. p标签里面不能嵌套div
  5. Java Web 技术栈
  6. charles-无法抓取https包的解决办法及效果
  7. java signutil_java.util包 上
  8. Spring-beans-BeanDefinitionRegistry
  9. 准备结婚,大家买的三金都有哪些?
  10. TSX指令集之RTM无锁并发能加快速度吗?与mutex加锁比较
  11. php学习redis买什么书,redis
  12. Apizza-快如何进行API开发进度管理
  13. r语言 与python r中python环境的创建
  14. Servlet 身份验证体系结构
  15. mysql导出忽略指定前缀_mysql批量删除指定前缀或后缀表
  16. Mac OS U盘启动后出现类似禁止符号原因
  17. 迅速学tar命令对文件的打包压缩与解压缩
  18. SwiftUI之HStack和VStack的切换
  19. 供应链金融生态系统全解读,在不同的行业都有哪些模式?
  20. Hetian lab Day 10:工欲善其事必先利其器

热门文章

  1. pytorch log
  2. 2021年危险化学品经营单位主要负责人新版试题及危险化学品经营单位主要负责人考试试题
  3. 山东大学软件工程硕士天津保送班
  4. NPM安装依赖包,报错node-gyp rebuild...解决方法
  5. 公司对公回单如何补打
  6. MoFlow:生成分子图的可逆流模型
  7. 什么是表压?什么是绝压?表压和绝压什么关系?
  8. CSS3-3D变换 transform-style:preserve-3d
  9. oracle12c不使用cdb模式,12c CDB和PDB启动和关闭操作
  10. xdg在Linux中的用法,Linux实用命令之xdg-open