美文网首页
说说前端和后端的一些不同

说说前端和后端的一些不同

作者: VioletJack | 来源:发表于2023-03-06 10:08 被阅读0次

    作为一个前端,我一直对于后端的知识云里雾里。感觉是给自己打上了前端的标签后就画地为牢,默默在自己的一亩三分地里耕耘。最近在学习了《全栈工程师修炼指南》课程后,感觉自己像是打开了新世界的大门。

    项目本质和结构

    前端项目的本质其实就是使用 HTML、JavaScript 和 CSS 将页面渲染出来。无论是 jQuery、Vue、React 等等无论用了何种工具、中间做了何种处理,结果都是一样的。而前端 SPA 应用发展到现在目录结构也趋于类同了。

    而对于后端,我理解其实是接收请求、处理数据、存储数据库、输出响应结果的过程。而从课程中我了解到,后端项目很多是基于 MVC 的设计模式的一种实现。大致的结构我参考了 egg.js 框架的文档。

    • router 路由管理请求的目的地
    • middleware 中间件
    • public 用来放静态资源
    • view 用来放视图模板文件
    • model 放置领域模型
    • controller 用来处理接口请求
    • service 用来处理业务逻辑
    • structure 用来放置定时任务

    所以,后端项目和前端一样都是有套路的。

    日志

    在前端,日志通过浏览器的 Console 面板直接查看。

    而在后端,由于后端服务运行时间久、后台运行的特点,所以是以日志文件的形式存放的。每隔一段时间后端日志会被分割以方便查找。

    服务集群

    之前一直听到集群这类名词感觉非常高大上。说下我的学习理解:

    对于前端,前端的代码是一堆静态文件,只有到浏览器拿到后才会由客户端的浏览器去解析。所以对于前端,在服务端只需要做好 CDN,让静态资源文件更快到达客户端就行。

    而对于后端,需要接收请求、处理逻辑、存取数据库、返回结果。这些行为都是需要消耗大量服务器资源的。所以单台物理服务器必然有一个承载的极限。那么对于大型系统或者高可用系统而言,自然需要一个服务集群来提供后端服务,再通过负载均衡来给这些机器分配任务。

    数据存储

    前端很少会有存储大量数据的需求。能用的有 localStorage、sessionStorage、indexdDB 这些。

    而对于后端,数据存储是一个非常重要的课题。

    首先是数据库,分为关系数据库和 NoSQL。一般场景下使用关系数据库的情况会更多一些。和后端服务一样,单台机器的数据库可以处理和存储的数据是有限的,所以会存在共享数据的分布式存储系统。分布式存储系统有一个 CAP 概念,即一致性、可用性、分区容忍性。如何权衡一致性和可用性需要根据实际场景来决定。

    其次是缓存,缓存是缓解数据库压力的有效措施。缓存可以让数据请求响应的速度更快,让数据请求吞吐量变得更大,还可以节省机器资源、保护数据库免受高并发请求导致数据库宕机的风险。

    最后

    以上是一个前端对于后端只是的浅显理解,如果有问题欢迎评论区互动留言啊。更文最后一天了。赶紧水一篇。

    相关文章

      网友评论

          本文标题:说说前端和后端的一些不同

          本文链接:https://www.haomeiwen.com/subject/bngeldtx.html