关于后端技术介绍

【非常小白的后端学习笔记一】后端开发的发展过程及主要技术点 如题 阅读详情

写在开篇:本内容根据B站BV1hH4y1n7b4记录笔记

仅用于个人学习,如有侵扰,联系删除


目录

创建后端服务器需要的技术

数据库(存储和管理网站的数据,与服务器连接)

云计算

基础设施

平台即服务

微服务

最后介绍一些可能在后端看到的其他技术


两台计算机可以通过互联网进行连接,发送消息。

其中发送消息的计算机称为客户端,接收消息的计算机称为服务器。

为使计算机能够称为服务器并允许其接收消息,可以使用后端编程语言。

创建后端服务器需要的技术

流行的后端编程语言:

JavaScript(也称为Node js)、Python、Ruby、Java

但是单独使用这些语言非常困难,且需要大量代码——因此使用两种工具帮助解决此问题。

后端框架(Backend Framework)和包管理器(Package Manager)。

后端框架:帮助我们更轻松地创建服务器并且使用更少的代码。每种后端编程语言都有几种不同的框架可供选择。

包管理器:我们可以使用许多他人编写的称为包的代码来执行常见任务,例如:计算,与数据库通信,以及设置用户登录和身份验证。为了安装和管理所有这些包,则用到了包管理器。每种语言都有自己的包管理器。

语言

后端框架包管理器
JavaScriptExpress JSNPM
PythonDjangoPIP
RubyRailsbundler
JavaSpringMaven

数据库(存储和管理网站的数据,与服务器连接)

MySQL、PostgreSQL、MongoDB

当客户在前端下订单时,前端会向后端发送包括订单的消息。然后,后端讲订单保存到数据库,并向前端发回一条消息,确认订单已创建。

前端发送到后端的消息称为请求(request),后端发回的消息称为响应(response),这称为请求响应周期。这通常是Web应用程序的工作方式。

另外一个例子,假如您在系统仓库中,仓库可能有不同的前端,它向后端发送请求以获得我们的订单,然后后端从数据库中获取我们的订单并将其发送回仓库前端,之后他们继续准备我们的订单。

亚马逊为例,该公司购买了域名amazon.com,并对其进行了配置,以便任何前往amazon.com的请求都将被重定向到其办公楼中的该服务器。

后端允许的所有不同类型的请求的列表称为API应用程序编程接口。

POST https://amazon.com/orders——识别请求

类型(POST):

post:创建一些东西,用于创建新的资源或提交数据到服务器进行处理。post/orders意味着创建一个订单。

get:或许一些东西。

put:提供整个资源的新版本,通常用于更新或替换服务器上的资源。

delete:删除一些东西。

URL路径(/orders):有一个请求的命名约定,此约定称为剩余表征状态转移(RESTRespresentational State Transfer)。

REST命名约定的API称为REST api,即上述api含义。这也是我们用于API的最常见约定。

除此之外,还可以使用GraphQL(使用Post/GraphQL来处理我们的所有请求),rpc(remote procedure call,使用post和更详细的D URL路径,如POST/createOrder,POST/getOrderHistory)

云计算

基础设施

公司不是购买自己的计算机来运行网站,而是从云计算公司租用计算机。

最大的云计算公司是Amazon Web Services(AWS),Google Cloud Platform(GCP),Mrcrosoft Azure。

云计算的基本思想是租用一堆计算机,即IAS基础设施作为服务。

在幕后,AWS有一个巨大的强大的计算机,在它软件内部,运行着许多较小的计算机,我们实际上租用了其中一台较小的计算机,而这些较小的计算机只存在于这些软件中,所以我们称之为虚拟机或虚拟器。因此,为了运行我们的网站,我们从AWS租用了一个虚拟机来运行我们的后端(VM JS),我们还租用了另一个虚拟机来运行我们的数据库(VM database)。

我们必须解决的另一个问题是,如果我们的网站在假期期间非常受欢迎,并且我们开始收到服务器无法处理的大量请求和互联网流量,该怎么办?通过云计算,我们可以设置多个运行这些相同后端代码的虚拟机,然后在它们前面设置一个特殊的虚拟机,称为负载均衡器

负载均衡器将在我们的虚拟机之间均匀分配请求,假期结束后,我们可以在不需要虚拟机时关闭它们。这比购买物理计算机要方便得多,因为请求高发期结束后物理计算机资源将会被浪费掉。

平台即服务

但现在还有一个问题,我们现在有很多虚拟机需要创建和设置,这将花费大量的时间精力。云计算公司提供另一种称为PAs(PaaS)的服务。作为一种服务,PAs只是让我们上传后端代码,它将设置所有虚拟机包括负载均衡器,并为我们集成一切。

三种最流行的方式是适用于AWS的Elastic Beanstalk,适用于GCP的App Engine,适用于Microsoft Azure的App Service。

微服务

以亚马逊为例,假设后端包含将订单保存到数据库(Saves orders)、向用户的信用卡收费(Charges credit cards)、发送电子邮件确认(Sends emails)的代码。在现实世界中,这个后端可能有数百万行代码,所以我们将其分为三个代码库。然而每个代码库都有自己的后端,每个后端都有负载均衡器,有时还有自己的数据库。

当我们需要发送电子邮件时,我们的订单后端将向电子邮件后端发送请求,电子邮件后端将发送电子邮件。因此像这样将后端再细分的方式称为微服务,它有助于是我们的代码库更小更集中。每个微服务不必使用相同的编程语言和数据库。一个微服务可以使用JavaScript和MongoDB,而另一个微服务可以使用Python和MySQL。现在为了让这一切变得更加容易,像Twilio这样的公司已经创建了电子邮件服务。因此Twilio提供了一个后端和一个用于发送电子邮件的API。因此我们的后端无需创建自己的电子邮件微服务,只需向Twilio的后端发送请求即可。

当一家公司提供外部应用程序可以使用的后端和API时,这称为SaaS(软件即服务)。您在后端要做的几乎所有事情都很复杂,因此当一家SaaS公司提供了该项服务时,你可以直接使用该服务,而不必构建自己的微服务。

所以我们刚才看到的这三个概念:基础设施即服务(IaaS),平台即服务(PaaS),软件即服务(SaaS)是云计算的三个基础。

如今大多数公司使用云计算来运行其网络的后端,而不是自己购买和管理物理服务器。

最后介绍一些可能在后端看到的其他技术

之前我们提到了数据库:MySQL、PostgresSQL和MongoDB,这些有时被称为主数据库,因为它们是网站使用的主要数据库。

一般来说我们从服务器和主数据库开始我们的后端,然后在需要时引入一些附加技术。

例如:

如果我们允许用户上传图像,主数据库不适合存储图像,我们将使用aws、s3等Blob存储,和CloudFront等CDN来存储和加载用户上传的图像。

如果我们想要允许文本搜索,主数据库在这方面非常慢,因此我们会引入像Elastic Search这样的搜索数据库。

如果我们的网站流量很大并需要减轻主数据库的压力,我们会添加像Redis这样的缓存来提高性能。

如果我们想做数据科学,不想使用主数据库进行数据分析(因为我们的网站正忙于运行),我们会将所有数据复制到像Snowflake这样的分析数据库中,这对于兼职数据科学非常有用。

如果你想稍后安排任务,如亚马逊可能希望在续订Amazon Prime订阅之前向用户发送电子邮件,我们将使用像Rabbit MQ这样的作业队列来安排将来的任务。

并且还有更多类似的技术是为了解决特定问题而设计的。

以上即本文介绍的所有后端技术。

Java 开发后端开发技术栈知识点详解集锦 Java由Sun Microsystems于1995年发布,现由Oracle Corporation维护。它的设计理念是"一次编写,到处运行"(Write Once, Run Anywhere)。Python由Guido van Rossum于1991年创建,强调代码的可读性和简洁性。Node.js由Ryan Dahl于2009年创建,是一个基于Chrome V8引擎的JavaScript运行时。 阅读详情

相关推荐

ASP.NET和Web Forms页面:后端技术介绍

ASP.NET是一个强大的后端开发框架,而Web Forms页面是ASP.NET的一个重要组成部分,它提供了丰富的工具和功能来简化Web应用程序的开发过程。Web Forms页面使用了一种称为ASP.NET Web Forms的技术,它基于事件驱动的编程模型。ASP.NET是一种广泛使用的后端开发框架,而Web Forms是ASP.NET中的一个重要组成部分。下面是一个简单的示例,演示了如何使用ASP.NET和Web Forms页面来创建一个简单的登录表单。开发Web Forms页面的步骤。

BfuPhp的博客 709

后端学习】后端技术要点总结【一】

目录一、SSM框架中Dao层,Mapper层,controller层,service层,model层,entity层都有什么作用二、RESTfull 接口规范理解三、SpringBoot事务四、Mybatis动态SQL分页五、**主键生成策略**六、context上下文概念七、cookie和session八、授权认证登录之 Cookie、Session、Token、JWT 详解一、先了解几个基础概念二、Cookie浏览器Cookie详解三、什么是 Session四、Cookie 和 Session 的区别五

胡毛毛的博客 2876

后端技术

后端技术栈有以下几种: 1. 负载均衡;2. 微服务生态;3. Thrift;4. Consul;5. 数据库;6. Strutc;7. Spring;8. Mybatis;9. Shiro;10. Maven; 其中,负载均衡帮助调度者合理分配任务,保证所有后端服务器都将性能充分发挥,从而保持服务器集群的整体性能最优,提升了服务整体相应速度和系统稳定性。

JAVA开发区的博客 6890

目前常用的后端技术

后端开发中,有多种技术和框架可供选择,具体取决于项目的需求、团队的技能和经验,以及组织的架构决策。

weixin_42101997的博客 3661

爱星物联——平台后端技术介绍

本文介绍一下爱星物联后端技术栈;爱星物联云平台,是面向智能设备和智能化企业的 AIoT平台,提供成熟、安全,全球化可用的物联网服务,更是助力客户有效缩短研发周期,降低投入成本,快速开发 AIoT 产品,构建安全稳定且可定制化的 AIoT 解决方案。平台打通了终端产品到上层软件应用全套开发,包含所有安信可模组、设备固件、手机客户端、第三方语音助手、第三方云服务和爱星物联云平台,有助于节省客户对应用层开发的大量投入,从而更专注于创造企业核心价值产品。

安信可科技 1426

前端和后端技术介绍

前端技术一般指web前端开发,HTML是网页的结构,CSS是网页的外观,而JavaScript是页面的行为。后端技术主要设计数据库技术,PHP,JSP,ASP.NET等。详情请看http://www.lvyestudy.com/les_hj/hj_1.1.aspx...

Lifelong Learning Pan 8129

直播商城开发的后端技术介绍

在直播商城开发中,后端技术栈的选择至关重要。合适的技术栈可以提高开发效率、提升系统性能和可靠性。下面是直播商城开发中常用的后端技术栈。语言:Java框架:Spring Boot数据库:MySQL缓存:Redis消息队列:KafkaJava是一种流行的编程语言,具有广泛的应用。Java可以用于开发各种类型的应用程序,包括Web应用程序、移动应用程序等等。在直播商城开发中,Java是一个非常好的选择,因为它可以提供高性能和可靠性。

chenie0562的专栏 274

史上最全后端技术介绍

1.应用场景 无论面试还是工作当中总能听到一些专有术语,而不知其意,这里帮助我们简要了解其含义,或者说作为一个引子,查询手册作用。 2.学习/操作 工欲善其事,必先利其器;士欲宣其义,必先读其书。 一. 系统开发 高内聚/低耦合 高内聚指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。模块的内聚反映模块内部联系的紧密程度。 模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。一个完整的系统,模块与

fngy123的专栏 2348

原创首发 |《Java web后端技术介绍》重复率低!论文技术章节可用!

下期预告:原创首发|《Java web前端技术介绍》重复率低!还需要其他技术介绍文末留言下期继续更新噢!

我要学Java_blog 207

【系统功能开发篇】若依开源项目RuoYi-Cloud后端技术介绍

由于本专栏项目实战学习,是以若依开源项目RuoYi-Cloud为示例。所以,本文介绍一下若依开源项目RuoYi-Cloud后端技术;若依项目RuoYi-Cloud简介若依项目RuoYi-Cloud 是一个 Java EE 企业级的开源免费的快速开发平台,是一个基于Spring Boot、Spring Cloud & Alibaba的微服务的权限管理系统。如果想快速的开发一个Java EE 企业级项目,可以在若依项目的基础上,开发定制自己的项目。

分享是一种境界,勤于分享,乐于分享! 4602

后端技术秘籍之Spring框架--介绍(一)

简单理解为什么需要Spring以及什么是Spring。

上善若水 656

后端技术介绍-多线程篇

首先创建线程,在线程中并发的执行任务,这些执行的任务会,线程是执行程序的,这些线程有一个线程池管理,队列是在线程池中使用到。这个例子中是使用了阻塞队列放入到线程池中。

weixin_45620006的博客 171

后端介绍/后端技术架构深度解析:服务器、数据库与API网关

在数字化时代,后端作为软件系统的核心引擎,承担着数据处理、业务逻辑执行和系统间协同的重要职责。本文将以服务器、数据库和API网关三大核心组件为切入点,结合发展趋势,系统解析其技术原理、应用场景及协同逻辑。服务器现在大部分为云服务器数据库分为关系型数据库,非关系型数据库,分布式数据库,其他类型数据库。

2501_91003980的博客 2036

python后端技术点_一文带你了解Python四种常见基础爬虫方法介绍

这篇文章我们来讲一下在网站建设中,一文带你了解Python四种常见基础爬虫方法介绍。本文对大家进行网站开发设计工作或者学习都有一定帮助,下面让我们进入正文。一、Urllib方法Urllib是python内置的HTTP请求库import urllib.request#1.定位抓取的urlurl='http://www.baidu.com/'#2.向目标url发送请求response=urllib.r...

weixin_39887546的博客 166

后端技术是什么?

后端技术是指用于服务器端编程和开发的一系列技术,以下是常见的后端技术介绍

diandian112233的博客 1077

后端技术演进

后端技术演进

weixin_34344403的博客 148

原生php后端技术框架外包

一旦决定采取外包模式来进行原生PHP后端技术框架相关的开发工作,则需要遵循一定的步骤来确保整个过程顺利进行。良好的规划不仅可以提升工作效率,还能有效避免不必要的误解或冲突发生。下面我们就来详细了解一下具体的实施流程吧!随着云计算、大数据等新兴技术的发展,软件行业的竞争日益激烈。在这种背景下,越来越多的企业开始意识到通过外包方式获取高质量技术服务的重要性。对于那些希望利用原生PHP后端技术框架构建自己在线平台的组织来说,找到合适的合作伙伴尤为关键。

chatgpt001的博客 1168

后端技术栈科普——springboot一家

后端技术栈科普 前言 由于我毕业设计做基于Java的在线小说发布系统,所以前后端都有涉及。虽然以前端为主,但是后端的科普还是需要的。好久没碰后端了,对后端有些生疏了。 参考文章:Java开源项目之「自学编程之路」:学习指南+面试指南+资源分享+技术文章 参考书籍江南一点雨大佬写的《springboot+vue全栈开发实战》 参考Java团长的博客。 我打算分三个部分讲后端技术栈:历史、学习框架、学习路线。 文章目录后端技术栈科普前言后端技术发展后端技术发展互联网系统架构演进学习框架学习之路总结 后端技术发展

wsdchong的博客 4902
上一篇: 谷粒商城学习记录
下一篇: 关于Redis
bare_rain
博客等级 码龄6年 78粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值