back-end developer 后端开发的一些常识
通俗易懂版
1. 通信协议
1.1 RPC (Remote Procedure Call)
客观解释: RPC是一种协议,允许程序通过网络在不同的计算机上调用函数,就像调用本地函数一样。RPC隐藏了网络通信的复杂性,使得远程服务调用看起来像是本地调用。
现实例子: 就像你在家里需要一个专业修理工来修理你的电脑。你打电话给维修公司(RPC调用),详细说明问题(发送请求)。维修工来你家(远程执行)并修理电脑(执行任务)。这过程就像你在同一城市范围内找人修电脑一样方便,实际上可能维修工来自其他城市(远程服务器)。
1.2 WebSocket
客观解释: WebSocket是一种全双工通信协议,允许客户端和服务器之间进行实时双向通信。与HTTP的请求-响应模式不同,WebSocket保持连接打开,使得数据可以在客户端和服务器之间即时传输。
现实例子: 想象你和朋友在电话里实时聊天(WebSocket连接),而不是像发短信一样发送消息然后等待回复(HTTP请求)。你们可以同时说话(双向通信),而且连接一直保持打开状态,直到你们挂断电话。
2. 数据格式
2.1 JSON (JavaScript Object Notation)
客观解释: JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时易于机器解析和生成。它通常用于客户端与服务器之间的数据传输。
现实例子: 假设你在网上购物。你在浏览器上选择商品并下单。浏览器会将你的订单信息(如商品名称、价格、数量)转换成JSON格式(打包成一个轻便的小包裹),然后发送给服务器。服务器接收到这个包裹后,解包并处理你的订单。
3. 消息队列
3.1 MQ (Message Queue)
客观解释: 消息队列是一种在不同系统或组件之间传递消息的机制,确保消息的可靠传递和处理。它通过队列存储消息,消费者可以异步处理这些消息。
现实例子: 想象你是一家餐厅的厨师。服务员(生产者)将订单(消息)放在一个传送带上(消息队列),你(消费者)从传送带上取下订单并制作食物。即使有很多订单,传送带确保所有订单都能依次处理,不会遗漏。
3.2 Kafka
客观解释: Kafka是一种分布式流处理平台,专为高吞吐量和低延迟的消息传递设计。它可以用于构建实时数据管道和流应用程序。Kafka将消息存储在主题中,并允许多个消费者订阅和处理这些消息。
现实例子: 想象你是一家大型快递公司的调度员。客户(生产者)将包裹(消息)送到不同的分发中心(Kafka集群)。各个配送员(消费者)从分发中心领取包裹并进行配送。即使有大量包裹同时到达,各个分发中心能够高效地处理和分发包裹。
4. 分布式系统
4.1 分布式系统
客观解释: 分布式系统是由多个独立的计算机组成的系统,这些计算机通过网络协同工作,表现得像是一个单一的系统。分布式系统提高了系统的可靠性、可扩展性和性能。
现实例子: 想象你在一个图书馆找一本书。这个图书馆有很多分馆,每个分馆都有不同的书籍(分布式节点)。当你需要某本书时,系统会自动在所有分馆中查找,并告诉你哪家分馆有这本书。即使某个分馆关闭,你仍然可以在其他分馆找到书籍。
5. 数据存储
5.1 Redis
客观解释: Redis是一种开源的内存中数据结构存储,用作数据库、缓存和消息代理。它支持多种数据结构,如字符串、哈希、列表、集合等,提供高性能的读写操作。
现实例子: 想象你是一家快餐店的收银员。你有一本笔记本(Redis),记录了每种食物的库存情况(数据存储)。因为笔记本就在你手边,所以你可以快速查找和更新库存(高性能读写)。如果某种食物卖光了,你可以立刻记下来,避免再卖出。
6. 容器化技术
6.1 Docker
客观解释: Docker是一种容器化技术,允许开发人员将应用程序及其所有依赖项打包成一个标准化的单元(容器),可以在任何环境中运行。Docker简化了应用程序的部署和管理。
现实例子: 假设你要搬家。你把所有的家用物品(应用程序及其依赖)打包进一个个箱子(容器)。无论你搬到哪儿(不同的计算环境),只要打开箱子,里面的物品都能立刻使用,不需要重新整理(配置环境)。
7. 容器编排
7.1 Kubernetes (K8s)
客观解释: Kubernetes是一种开源的容器编排平台,用于自动化部署、扩展和管理容器化应用。它提供了负载均衡、自动恢复、滚动更新等功能,确保应用的高可用性和可扩展性。
现实例子: 想象你是一家快递公司的调度员。你有一队送货员(容器),每个人都能送货(运行应用)。当订单量增加时,你可以增加更多送货员(扩展容器),当某个送货员生病时,你可以立即派其他人顶替(自动恢复)。你还能根据需求调整送货员的工作区域(负载均衡),确保每个区域的订单都能及时处理。
原文地址:https://blog.csdn.net/wuxiaoyu0806/article/details/140164519
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!