后端开发概念

1. 后端开发概念解析

1.1. 什么是服务器,后端服务

1.1.1. 服务器

服务器是一种提供服务的计算机系统,它可以接收、处理和响应来自其他计算机系统(客户端)的请求。服务器主要用于存储、处理和传输数据,以便客户端可以通过网络访问这些数据或服务。服务器可以是硬件设备,也可以是运行在硬件上的软件。

硬件角度来看,服务器以机器的形式存在各个机房类似我们的PC电脑,实际是一个硬件设备。

软件角度来看,服务器是运行在硬件设备上的软件,我们通过代码写后端服务,接收请求,处理逻辑:

  1. nginx应用服务器
  2. 类似Flask的程序逻辑服务器

1.1.2. 后端服务

在计算机科学中,后端服务通常是指应用程序的后端部分,负责处理业务逻辑、与数据库交互、执行算法等。后端服务通常运行在服务器上,提供数据和功能给客户端。它可以通过不同的协议(例如,HTTP、WebSocket)与前端或其他服务通信。

关于后端服务的一些关键概念:

  1. 业务逻辑: 后端服务包含应用程序的业务逻辑,负责处理用户请求、执行特定的功能和操作。
  2. 数据库交互: 后端服务通常需要与数据库进行交互,包括读取和写入数据,以及执行数据库查询和更新操作。
  3. API(应用程序接口): 后端服务通过API与前端或其他服务通信。API定义了可用于访问后端功能和数据的协议和终点。
  4. 安全性: 后端服务通常需要实施安全措施,以确保数据的机密性和完整性。这可能包括身份验证、授权、数据加密等。
  5. 性能和可伸缩性: 后端服务需要具备足够的性能和可伸缩性,以处理大量的并发请求,并在需要时进行水平扩展。
  6. 服务端技术: 后端服务可以使用不同的编程语言和框架实现,如Java(Spring Boot)、Python(Django、Flask)、Node.js、Ruby(Ruby on Rails)等。

总的来说,后端服务是构成分布式应用架构中的一部分,通过处理业务逻辑和数据管理,为前端或其他客户端提供服务。在现代应用程序中,通常采用前后端分离的架构,使得前端和后端能够独立开发和部署。我们学的后端技术,就是为了开发、部署、维护后端服务

1.2. 正式工作中的不同环境

在软件开发中,尤其是后端程序开发,通常会涉及多个不同的环境,以便进行开发、测试和部署。以下是一些常见的后端程序环境:

1. 开发环境(Development Environment):

用途:用于开发和调试代码。

特点:通常配置为开发人员本地机器上的环境,包含开发所需的所有工具、库和服务。

2. 测试环境(Testing Environment):

用途:用于进行单元测试、集成测试和系统测试。

特点:尽可能模拟生产环境,但通常规模较小,用于检测和解决代码中的问题。

3. 预发布环境(Staging Environment):

用途:用于测试部署到生产环境之前的最终版本。

特点:模拟生产环境,并使用生产环境相似的硬件和软件配置。

4. 生产环境(Production Environment):

用途:运行实际的生产应用程序,提供服务给最终用户。

特点:具有高可用性、性能优化和安全性,通常包括负载均衡、故障恢复机制等。

这些环境的设置有助于确保开发人员能够在相对隔离的环境中进行工作,同时在生产环境之前检测和解决潜在的问题。这也有助于提高软件质量、可靠性和可维护性。

1.3. 前后端交互流程

在 Web 开发中,前端和后端是通过 HTTP 协议进行通信的。前端负责展示用户界面,而后端负责处理业务逻辑、与数据库交互以及提供数据和服务。以下是它们之间协作的一般过程:

1. 前端请求(Request):

  • 用户在浏览器中输入 URL 或者与前端页面进行交互,触发了一个 HTTP 请求。
  • 请求中包含了与服务端通信所需的信息,如参数、头部信息等。

2. 后端处理请求:

  • 服务器接收到请求后,后端应用程序开始处理它。
  • 后端应用程序执行业务逻辑,可能包括从数据库中检索数据、验证用户身份、计算等。

3. 数据库交互:

  • 如果业务逻辑需要与数据库交互,后端会执行相应的数据库查询或更新操作。

4. 生成响应(Response):

  • 后端应用程序生成一个 HTTP 响应,其中包含了处理结果、数据等。
  • 响应通常是一个包含数据的 JSON 对象,也可以包括其他资源如图片、文件等。

5. 前端接收响应:

  • 浏览器接收到后端的响应后,前端开始解析响应,提取出所需的数据。

6. 更新用户界面:

  • 前端使用从后端获取的数据更新用户界面,可能涉及到更新页面内容、刷新列表、显示错误消息等。

7. 用户交互:

  • 用户与前端界面进行交互,可能触发新的请求,形成新的请求-响应循环。

这种前后端协作的方式被称为前后端分离(Frontend-Backend Separation)或前后端分离架构。在这种架构中,前端和后端是独立的系统,通过定义好的接口进行通信。这使得可以使用不同的技术栈来开发前端和后端,同时也更容易实现代码的重用和维护。

常见的前后端通信方式包括使用 RESTful API、GraphQL 等。RESTful API 是一种使用 HTTP 请求进行通信的方式,而 GraphQL 则允许前端请求指定其需要的数据结构。

1.4. 前后端开发流程

假如要开发一个根据商品名称查询商品信息的功能(比如网页搜索商品),这用HTTP协议举例。

1. 前后端定义好接口传输的协议格式,一般都是json格式

2. 定义好HTTP请求方法、接口名字、前端传参、后端返回的参数。

确定HTTP请求方法:

因为是查询功能,根据RESTful url的规定,HTTP请求方法是请求资源的动作,所以用GET请求。

接口名字:

起一个有意义的名字,这里是根据商品名称查询商品信息,因此接口路由起名叫 /search;

当前用 /query_by_name 也可以,合理即可;

前端将把请求发给这url,进行HTTP请求。

前端请求协议 request:

查询商品,那么我们要传入商品名称;

定义好参数名称,和参数value的数据结构,这里是string。

后端响应协议 response:

查询的结果可能如上图所示,这里在开发前应该找需求方确认好需求,心里有预期

需要给前端的信息:

我们可能只有需要知道商品的价格、名称、描述、店家、评价数目等。

搜索会搜索出很多商品信息,所以应该返回Json数组

开发:确认协议后前后端各自开发,互不影响

自测:根据协议,使用postman等工具,构造数据,测试样例进行自测,保证开发的后端功能正确,并且不影响其他接口

自测方式:使用postman等工具

本地多打日志观察数据正确性

前后端联调:

自测确认没问题了,和前端同学一起联调,实际上就是前端真正请求你后端接口的数据,观察前后端在真正请求时候的正确与否

如果联调有问题,再及时修改

提交代码,项目部署上线

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/bicheng/82251.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring AI 源码解析:Tool Calling链路调用流程及示例

Tool工具允许模型与一组API或工具进行交互,增强模型功能,主要用于: 信息检索:从外部数据源检索信息,如数据库、Web服务、文件系统或Web搜索引擎等 采取行动:可用于在软件系统中执行特定操作,如…

Spyglass:跨时钟域同步(长延迟信号)

相关阅读 Spyglasshttps://blog.csdn.net/weixin_45791458/category_12828934.html?spm1001.2014.3001.5482 简介 长延迟信号方案用于控制或数据信号跨时钟域同步,该方案将使用quasi_static约束的跨时钟域信号视为已同步,如图1所示。 // test.sgdc q…

Linux云计算训练营笔记day13【CentOS 7 find、vim、vimdiff、ping、wget、curl、RPM、YUM】

Linux云计算训练营笔记day13[CentOS 7 find、vim、vimdiff、ping、wget、curl、RPM、YUM]] 目录 Linux云计算训练营笔记day13[CentOS 7 find、vim、vimdiff、ping、wget、curl、RPM、YUM]]1.find练习2.vim高级使用2.1 命令模式:2.2 插入模式:2.3 末行模式: 3. vimdiff4. ping5.…

网络流量分析工具ntopng的安装与基本使用

网络流量分析工具ntopng的安装与基本使用 一、ntopng基本介绍1.1 ntopng简介1.2 主要特点1.3 使用场景 二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍 三、安装ntopng工具3.1 官网地址3.2 配置软件源3.3 添加软件源3.4 安装ntopng 四、ntopng的基本配置4.1 修改配置文件4.…

数据的获取与读取篇---常见的数据格式JSON

文件格式 假如你有一份想分析的数据文件,获得文件后下一步就是用代码读取它。不同的文件格式有不同的读取方法。所以读取前了解文件格式也很重要。你可能见过非常多的文件格式,例如TXT、MP3、PDF、JPEG等等。 一般可以通过文件的后缀来分辨文件的格式,例如TXT格式,一般保存…

人工智能发展

探秘人工智能领域的热门编程语言与关键知识 在当今科技飞速发展的时代,人工智能已渗透到生活的各个角落,从智能语音助手到精准的推荐系统,从自动驾驶汽车到医疗影像诊断,人工智能正以前所未有的速度改变着世界。而在这背后&#x…

超全GPT-4o 风格提示词案例,持续更新中,附使用方式

本文汇集了各类4o风格提示词的精选案例,从基础指令到复杂任务,从创意写作到专业领域,为您提供全方位的参考和灵感。我们将持续更新这份案例集,确保您始终能够获取最新、最有效的提示词技巧。 让我们一起探索如何通过精心设计的提…

Vue3响应式数据: 深入分析Ref与Reactive

Vue3响应式数据: 深入分析Ref与Reactive 介绍 作为一个流行的前端框架,其响应式数据系统是其核心特性之一。在Vue3中,我们可以使用Ref和Reactive两种方式来创建响应式数据。本文将深入分析Ref与Reactive,帮助读者更好地理解Vue3的响应式数据系…

云计算,大数据,人工智能

1. 云计算:弹性资源与分布式计算 案例:基于AWS EC2的动态资源扩展 场景:电商网站在“双十一”期间流量激增,需要临时扩容服务器资源。 代码:使用AWS Boto3库动态启动EC2实例 import boto3# 创建EC2客户端 ec2 boto…

Linux(7)——进程(概念篇)

一、基本概念 书本上的概念:程序的一个执行实例,正在执行的程序等 基于内核的观点:担当分配系统资源(CPU时间,内存)的实体。 我们知道,我们在写代码的时候,你的代码进行编译链接后生成可执行文件&#xff…

【Harmony】【鸿蒙】List列表View如何刷新内部的自定义View的某一个控件

创建自定义View Component export struct TestView{State leftIcon?:Resource $r(app.media.leftIcon)State leftText?:Resource | string $r(app.string.leftText)State rightText?:Resource | string $r(app.string.rightText)State rightIcon?:Resource $r(app.med…

Docker安装MySQL集群(主从复制)

为确保生产环境中的数据安全与可靠性,数据库普遍采用主从集群架构(一主一从)进行部署。本文将系统阐述如何利用Docker镜像实现数据库集群的容器化部署,并完整记录各配置环节的具体实现步骤。 一、主服务实例创建(可以…

开篇:MCP理论理解和学习

文章目录 零 参考资料一 MCP概念二 MCP核心架构和功能三 MCP VS OP(Others Protocol)3.1 函数调用3.2 模型上下文协议3.3 MCP VS Others Protocol3.3.1 MCP与Function Calling的对比优势3.3.2 MCP与AI Agents的协同关系3.3.3 MCP与A2A协议的互补性3.3.4 MCP与传统API的技术革新…

产品经理面经(三)

目录 为什么想做产品经理?为什么适合做产品经理? 解析 我的回答: 你觉得产品经理应该具备什么品质 解析 我的回答 想做什么方向的产品经理呢&你知道产品经理分为哪几种吗? 解题思路 为什么想做产品经理?为…

Vue3 Composition API: 企业级应用最佳实践方案

在当前前端技术迅速发展的环境下,Vue3 Composition API 成为了关注的焦点。它为开发人员提供了更加灵活和可维护的代码结构,适用于构建大规模企业级应用。在本文中,我们将探讨Vue3 Composition API的最佳实践方案,帮助开发人员更好…

CentOS大师班:企业级架构与云端融合实战

一、高级存储管理与灾难恢复 1. LVM动态卷扩展实战 pvcreate /dev/sdb1 # 创建物理卷 vgcreate vg_data /dev/sdb1 # 创建卷组 lvcreate -L 100G -n lv_www vg_data # 创建逻辑卷 mkfs.xfs /dev/vg_data/lv_www # 格式化 mount /dev/vg_da…

使用VGG-16模型来对海贼王中的角色进行图像分类

动漫角色识别是计算机视觉的典型应用场景,可用于周边商品分类、动画制作辅助等。 这个案例是一个经典的深度学习应用,用于图像分类任务,它使用了一个自定义的VGG-16模型来对《海贼王》中的七个角色进行分类,演示如何将经典CNN模型…

[创业之路-377]:企业战略管理案例分析-战略制定/设计-市场洞察“五看”:看宏观之社会发展趋势:数字化、智能化、个性化的趋势对初创公司的战略机会

数字化、智能化、个性化趋势为初创公司带来了捕捉长尾需求、提升运营效率、创新商业模式等战略机会,具体分析如下: 一、数字化趋势带来的战略机会 捕捉长尾需求:数字化技术能够帮助初创公司更好地捕捉市场中的长尾需求,满足那些…

macOS 安装 PostgreSQL

文章目录 安装安装信息 验证GUI 工具下载 安装 最简单的方式是通过 brew 安装 brew install postgresql17该版本在 brew 上的详情页:https://formulae.brew.sh/formula/postgresql17 你也可以根据需要,搜索 安装更新版本 如果你没有安装 brew&#xf…

安装openresty使用nginx+lua,openresty使用jwt解密

yum install -y epel-release yum update yum search openresty # 查看是否有可用包 yum install -y openresty启动systemctl start openresty验证服务状态systemctl status openresty设置开机自启systemctl enable openrestysystemctl stop openresty # 停止服务 system…