后端笔记

44 阅读2分钟

一、创建后端服务需要的技术

Client客户端 -- Internet -- Server服务端 -- Database数据库

1. Backend Programming Language后端编程语言

计算机本身不能自动接收数据,这就需要后端编程语言去将Computer转换为Server,流行的后端编程语言。

  • JavaScript(NodeJs)
  • Python
  • Ruby
  • Java

2. Backend framework后端框架

直接使用后端编程语言比较复杂,使用后端框架可以编写更少的代码。

  • ExpressJS -> JavaScirpt
  • Django -> Python
  • Rails -> Ruby
  • spring -> Java

3. Package Manager包管理器

其他人编写的代码成为packages,去做常见任务:计算、与数据库通信、登录、身份验证。通常会使用很多包,为了管理这些package,使用包管理器。

  • NPM -> JavaScript
  • pip -> Python
  • bundler -> Ruby
  • Maven -> Java

4. Database数据库

数据库是一个通常运行在不同计算机上的软件,用于存储和管理数据

  • MySQL
  • PostgreSQL
  • MongoDB

二、请求

请求名称

  • request:前端 -> 后端
  • response:后端 -> 前端

请求体

  • Type:POST、GET、PUT、PATCH、DELETE、HEAD
  • Domain name
  • URL path

API:Application Programming Interface

  • API命名规则:
    • REST API:Representational State Transfer
      • POST:create something
      • GET:get something
      • DELETE:delete something
    • GraphQL API:用POST处理所有请求
    • RPC API:remote procedure call:POST+更详细的path

三、Clouding Computing云计算

三个基础:IaaS、PaaS、SaaS

Iaas:Infrastructure as a Service即租用一堆计算机 VM:Virtual Machines LB:Load Balancer负载均衡机,用于在VM中均匀分配请求

PaaS:Platform as a Service用于上传后端代码,并设置所有虚拟机和负载均衡器

Microservices微服务

  • eg:后端包含三个功能,保存订单、付款、发邮件。这个后端代码可能有数百万行代码,可以将其分为三个微服务,每个微服务有自己的后端,每个后端都有负载均衡器,有时还有自己的数据库。有助于将代码变得更小,更集中。
  • 每个微服务不必使用相同的编程语言和数据库
  • eg:Twilio提供了一个后端和一个用于发送邮件的API

SaaS:software as a Service当一家公司提供外部应用程序可以使用的后端和API时,这称为SaaS

四、Additional Technologies

  • 主流数据库:MySQL、PostgreSQL、MongoDB
  • blob store:aws、s3
  • CDN:CloudFront存储和加载用户上传的图片
  • Search Database:Elastic Search
  • Cache:Redis缓存,来减轻主数据库的压力
  • Analytical Database:snowflake这种Data Science进行数据分析
  • Job Queue:RabbitMQ