,描述返回的请求结果。...时,服务器端允许请求访问资源,但因发生请求为满足条件的情况后,直接返回304(服务器端资源未改变,可直接使用客户端未过期的缓存)。304状态码返回时,不包含任何响应的主体部分。...除此之外,也可以在服务器端拒绝请求且不想说明理由时时用。 5XX 服务器错误 500 Interval Server Error:表明服务器端在执行请求时发生了错误。...代理服务器要求客户端的认证信息 Range 实体的字节范围请求 Referer 对请求中URI的原始获取方 TE 传输编码的优先级 User-Agent HTTP客户端程序的信息 该表的Accept...当服务器提供多种内容时,将会首先返回权重最高的。 If-xxx请求首部字段都称为条件请求,服务器接收到附带条件的请求后,只有判断指定条件为真时,才回执行请求。
在这种模式下,当主服务器上发生数据变更(如INSERT、UPDATE、DELETE操作)时,主服务器不会等待从服务器确认已接收并应用这些变更就继续执行后续操作。...这意味着,如果主服务器在从服务器接收数据之前发生故障,那么从服务器可能会丢失最近的数据变更。优点: 性能较高,因为主服务器不需要等待从服务器的响应。...启动复制:在从服务器上,启动复制进程。 START SLAVE; 检查复制状态:在从服务器上,检查复制状态确保没有错误。...数据不一致问题的排查与处理 原因复制错误:从服务器在复制过程中可能遇到错误而停止复制,导致数据不一致。手动干预:在从服务器上手动修改了数据,没有同步回主服务器。...解决方法:检查复制错误:查看从服务器的错误日志和SHOW SLAVE STATUS的输出,找出复制错误的原因并解决。避免手动干预:尽量不在从服务器上手动修改数据,如果必须修改,确保同步回主服务器。
1.握手协议:负责在客户端和服务器端商定密码算法和共享密钥,包括证书认证 2.密码规格变更协议:负责向通信对象传达变更密码方式的信号 3.警告协议:负责在发生错误的时候将错误传达给对方 4....响应分为五类: 分类 分类描述 1** 信息响应,服务器收到请求,需要请求者继续执行操作 2** 成功响应,操作被成功接收并处理 3** 重定向,需要进一步的操作以完成请求 4** 客户端错误,请求包含语法错误或无法完成请求...5** 服务器错误,服务器在处理请求的过程中发生了错误 程序员最想看到的:200-OK。...④Other ❶DNS 的解析过程 浏览器搜索自己的DNS缓存 若没有,则搜索操作系统中的DNS缓存和hosts文件 若没有,则操作系统将域名发送至本地域名服务器,查找成功则返回结果,否则依次向根域名服务器...避免死锁:系统在分配资源时,根据资源的使用情况提前做出预测,从而避免死锁的发生 检测死锁:设专门的机构,当死锁发生时,能够检测死锁的发生,并精确地确定与死锁有关的进程和资源。
它可以确保系统在主节点发生故障时能够自动切换到备用的从节点,保证服务的连续性。...当节点发生故障时,集群可以自动重新分配数据,确保服务的可靠性和高可用性。 如何保证副本数据一致?...完全同步(Full Sync): 完全同步在以下情况下发生: 从服务器初次连接主服务器时。...复制数据传输: 主服务器会将全量数据或增量数据通过网络传输给从服务器。从服务器会接收并处理这些数据,更新自己的数据集。...复制过程继续: 一旦复制数据传输完成,从服务器会持续地与主服务器保持连接,接收来自主服务器的增量更新。这样,主从库之间的数据保持同步。
这样可以实现数据备份,同时在主服务器发生故障时,从服务器可以接管,提高系统的可用性。 读写分离:主从复制使得可以将读和写操作分别分配给主服务器和从服务器。...主服务器负责处理写操作,而从服务器可以负责处理读操作,从而分担了主服务器的负担,提高了系统的性能和扩展性。 灾难恢复: 在发生灾难性事件时,如果主服务器数据丢失或不可用,可以使用从服务器进行数据恢复。...从这个角度来看,主节点是无法知道这个命令的结果是最终同步给了多少个数据库的,这样可能降低数据的冗余存储程度。 不过 redis 提供了两项配置。...这个队列包含了主节点接收到的所有写命令,包括对数据结构的增、删、改等操作。 从节点记录命令的偏移量: 从节点接收到主节点传递的命令时,会记录下每个命令的偏移量。...命令队列即 Redis 的复制积压缓冲区(replication backlog)是一个固定长度的循环队列,用于保存主节点的写操作记录,以便在从节点断线后,重新连接时提供增量复制所需的数据。
当一个从服务器连接到主服务器时,它通知主服务器从服务器日志中读取最后一个更新成功的位置。 从服务器接收从那时发生起的任何更新,并在主机上执行相同的更新。然后封锁等待主服务器通知的更新。...异步复制 这种模式下,主节点不会主动推送数据到从节点,主库在执行完客户端提交的事务后会立即将结果返给给客户端,并不关心从库是否已经接收并处理。...语句复制 基于语句的复制相当于逻辑复制,即二进制日志中记录了操作的语句,通过这些语句在从数据库中重放来实现复制。 这种方式简单,二进制文件小,传输带宽占用小。...但是基于语句更新依赖于其它因素,比如插入数据时利用了时间戳。 因此在开发当中,我们应该尽量将业务逻辑逻辑放在代码层,而不应该放在 MySQL 中,不易拓展。 特点: 传输效率高,减少延迟。...在从库更新不存在的记录时,语句赋值不会失败。而行复制会导致失败,从而更早发现主从之间的不一致。
拥塞控制:网络拥塞时减少发送量,避免加剧拥堵。 数据包重组:接收方按序号重组数据包。 路由器:引导数据包至正确路径。 不可靠传输:通过TCP实现不可靠介质上的可靠传输。...窗口机制: 通过限制发送窗口的大小来控制发送速率,防止接收方处理不过来。 回退N步协议: 如果发生丢包,从最后一个已确认的包开始,重新发送所有未确认的包。...HTTP的基本概念: 请求与响应: 请求:当客户端想要获取服务器上的资源时,会发送一个HTTP请求。...响应:服务器收到请求后,会返回一个HTTP响应。响应包括一个状态码(如200 OK表示成功,404 Not Found表示未找到),可能还有头部信息和实体主体。 状态码: 用于表示请求的结果。...常见的有200(成功)、301/302(重定向)、400(错误请求)、401(未授权)、403(禁止访问)、404(未找到)、500(服务器内部错误)等。 方法: GET:请求获取指定的资源。
客户端向Web服务器发送数据时,会先发送头字段 收到请求消息后,服务器会对内容进行解析,通过URI和方法来进行处理,然后将结果放在响应消息中,响应消息开头有一个状态码,后面就是头字段和数据。...,接收缓冲区的剩余空间连续增加了,这时也只需要发送中间的结果就可以了 接收 HTTP 响应消息 发送HTTP请求消息后,需要等待Web服务器返回响应消息,浏览器需要对其进行接收,这一操作需要协议栈的参与...CRC错误校验码是同一种东西,当原始数据中某一个比特发生变化时,计算出来的结果就会发生变化 接收方计算出的FCS和发送方计算出的FCS就会不同,这样我们就可以判断出数据有没有错误 向集线器发送网络包 发送信号的操作分为两种...,那一定是发生了什么错误 客户端计算机不负责对包进行转发,因此不应该收到不是发给自己的包 注:服务器的操作系统具备与路由器相同的包转发功能,当打开这一功能时,就可以像路由器一样对包进行转发 当发生这样的错误时....jpg 除此之外,UDP协议没有其他功能了,遇到错误或丢包也一概不管 因为UDP只是负责发送包而已,并不像TCP协议一样会对包的送达进行监控,所以协议栈也不知道有没有发生错误,因此出错时就收不到来自对方的回复
Negotiation):是服务器驱动和客户端驱动的结合体,是由服务器端和客户端各自进行内容协商的一种方法 四、返回结果的HTTP状态码 A.状态码告知从服务器端返回的请求结果 1.状态码是当客户端向服务器端发送请求时...未获得文件系统的访问授权,访问权限出现问题等情况可能导致 4.404 Not Found:服务器上无法找到请求的资源,也可以在服务器端拒绝请求且不想说明理由时使用 E.5XX服务器错误 1.500 Internal...Server Error:表明服务器端在执行请求时发生了错误 2.503 Service Unavailable:表明服务器暂时处理超负载或正在进行停机维护,目前无法处理请求 五、与HTTP协作的Web...,补充了请求的附加内容、客户端信息、响应内容相关优先级等信息 响应首部字段(Response Header Fields):从服务器端返回时使用的首部,补充了响应的附加内容 实体首部字段(Entity...15.Proxy-Authorization:认证行为发生在客户端与代理之间 16.Range:告知服务器资源的指定范围 17.Referer:告知服务器请求的原始资源的URI 18.TE:告知服务器客户端能够处理响应的传输编码方式及相对优先级
使用mysqlbinlog命令查看logbin文件,结果如下: 复制模式 1. ...,可以提高数据安全性,确保了事务提交后,binlog至少传输到了一个从节点上,不能保证从节点将此事务更新到db中。...以上完成后在主服务器上执行以下语句,查询master的状态 show masterstatus; 可以看到以上结果,这儿我们使用master_auto_position配置,因此不需要关注File 和...因为要互为主从,所以现在从服务器也是master ,所以也要查看一下状态 show masterstatus; 查到相应的信息后,在原来的主服务器上执行以下命令(因为现在它现在也是另一台的从服务器)...在两台服务器的MYSQL中分别进行一些建库、建表、插入、更新等操作,看一下另一台会不会进行同步,如果可以则证明主主配置成功,否则还是上面的排错方法,进行错误排查。
写脚本需要了解请求发生的整个过程,这需要借助工具。常用的抓包工具都可以。对于普通的http请求,用谷歌浏览器查看即可,很方便。...2xx:成功--表示请求已被成功接收、理解、接受 3xx:重定向--要完成请求必须进行更进一步的操作 4xx:客户端错误--请求有语法错误或请求无法实现 5xx:服务器端错误--服务器未能实现合法的请求...get重点在从服务器上获取资源,post重点在向服务器发送数据; get传输数据是通过URL请求,以field(字段)= value的形式,置于URL后,并用"?"...name=admin&password=admin,这个过程用户是可见的;post传输数据通过Http的post机制,将字段与对应值封存在请求实体中发送给服务器,这个过程对用户是不可见的; Get传输的数据量小...,因为受URL长度限制,但效率较高,Post可以传输大量数据,所以上传文件时只能用Post方式; post较get安全性较高,get是不安全的,因为URL是可见的,可能会泄露私密信息,如密码等. get
数据中心正在从云计算时代走向AI时代 为了提升海量AI数据处理的效率,存储和计算领域正在发生革命性的变化: 存储介质从机械硬盘(HDD)演进到闪存盘(SSD),来满足数据的实时存取要求,存储介质时延降低了不止...这使得在AI数据运算和SSD分布式存储这些微秒级系统中,TCP协议栈时延成为最明显的瓶颈。...RDMA(Remote Direct Memory Access)允许应用与网卡之间的直接数据读写,将服务器内的数据传输时延降低到接近1us。...RDMA与TCP的对比 根据业务的测试数据, 采用RDMA可以将计算的效率同比提升6~8倍;而服务器内1us的传输时延也使得SSD分布式存储的时延从ms级降低到us级成为可能,所以在最新的NVMe(Non-Volatile...流量控制技术 流量控制是端到端的,需要做的是抑制发送端的发送速率,以便接收端来得及接收,防止设备端口在拥塞的情况下出现丢包。华为提供了PFC死锁检测和死锁预防,提前预防PFC死锁的发生。
协商缓存与强制缓存的区别在于强制缓存不需要访问服务器,返回结果是200,协商缓存需要访问服务器,命中协商缓存的话,返回结果是304。...提交json时,如果json格式有问题,接收端接收json,也会出现400 bad request。比如常见的json串,数组不应该有",但是有"了。...Error :服务器正在执行请求时发生错误。...错误通知的管理/新增状态码 在HTTP1.1中新增了24个错误状态响应码,如: 409(Conflict)表示请求的资源与资源的当前状态发生冲突; 410(Gone)表示服务器上的某个资源被永久性的删除...例如报文内容被篡改之后,同时重新计算 MD5 的值,通信接收方是无法意识到发生篡改。 HTTPs 的报文摘要功能之所以安全,是因为它结合了加密和认证这两个操作。
Auto-Positioning 当启用了GTID功能(GTID_MODE=ON, ON_PERMISSIVE, 或 OFF_PERMISSIVE),并且 MASTER_AUTO_POSITION被启用则表示在从库连接到主库时...已接收到的通过如下查询得出 SELECT RECEIVED_TRANSACTION_SET FROM PERFORMANCE_SCHEMA.replication_connection_status;...常见故障 如果任何应该被发送到从库的事务从二进制日志中清除了,或者在手动加入gtid_purged中了,则主库会发送一个ER_MASTER_HAS_PURGED_REQUIRED_GTIDS 错误到从库...,这时主库会发送一个ER_SLAVE_HAS_MORE_GTIDS_THAN_MASTER错误,之后复制不会启动 该问题一般发生在主库没有设置sync_binlog=1,这时如果发生服务器宕机,可能会导致事务未记录在二进制文件中...,但是已经被传输到从库了 还有种错误就是主库和从库相同的GTID被分配了不同的事物,这时我们需要手动解决冲突或者将其中一个移出复制拓扑结构中 4.
关闭连接时,客户端向服务端发送 FIN 时,仅仅表示客户端不再发送数据了但是还能接收数据。...错误通知的管理 在HTTP1.1中新增了24个错误状态响应码,如409(Conflict)表示请求的资源与资源的当前状态发生冲突;410(Gone)表示服务器上的某个资源被永久性的删除。...2xx:成功--表示请求已被成功接收、理解、接受。 3xx:重定向--要完成请求必须进行更进一步的操作。 4xx:客户端错误--请求有语法错误或请求无法实现。...6、如果用的是转发模式,此DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根DNS或把转请求转至上上级,以此循环。...这样可以达到:在TCP通信时,网络吞吐量呈现逐渐的上升,并且随着拥堵来降低吞吐量,再进入慢慢上升的过程,网络不会轻易的发生瘫痪。
目标地址 IP 是通过 DNS 域名解析获取的 Web 服务器的 IP 地址。...在进行 TCP 传输时,由于 HTTP 是经过 TCP 传输的,因此在 IP 包头的协议号字段中需要填写为 06(十六进制),表示协议为 TCP。...路由表规则可以指定特定的条件,如目标 IP 地址、接口优先级等,从而决定使用哪个网卡的 IP 地址作为源地址。根据路由表规则的判断结果,就可以确定应该使用哪个网卡的 IP 地址作为源地址 IP。...在数据包传输过程中,可能会发生噪声、干扰或其他错误,导致数据包损坏。为了确保数据的完整性,网卡在数据包的末尾添加了FCS。...接收方在接收数据包时,会利用FCS对数据包进行校验,以检测是否有损坏或错误发生。如果校验结果与FCS不匹配,接收方将知道数据包在传输过程中发生了错误。
从库还会创建一个SQL线程,读relay log,并在从库中做回放,最终实现主从的一致性 使用独立的log dump线程是异步,避免影响主库的主体更新流程,而从库在接收到信息后并不是写入从库的存储,是写入一个...主从异步复制的过程 基于性能考虑,主库写入流程并没有等待主从同步完成就返回结果,极端情况下,比如主库上binlog还没来得及落盘,就发生磁盘损坏或机器掉电,导致binlog丢失,主从数据不一致。...在从从库中,通过监控show slave status\G命令输出的Seconds_Behind_Master参数的值判断,是否有发生主从延时。...当有一个DB请求时,中间件将SQL语句发给某个指定数据源,然后返回处理结果。 优点 简单易用,部署成本低,因为植入应用程序内部,与程序一同运行,适合运维较弱的小团队。...这类中间件部署在独立服务器,业务代码如同在使用单一DB,实际上它内部管理着很多的数据源,当有DB请求时,它会对SQL语句做必要的改写,然后发往指定数据源。
brpop/blpop阻塞等待命令可以同时监控多个队列,所以可以将不同优先级的任务放在不同队列中,优先级高的队列放在前面,这样当高优先级的队列中有元素时,则取元素并执行任务。...管道 客户端与redis的通信过程是通过tcp连接进行的,命令的传输与结果的返回都是存在网络传输时延的,当要执行的命令较多时,如果每次传输执行一条命令,后续的每条命令都等待前一条命令执行结束后,才能进行传输执行...redis底层通信对管道(pipelining)提供了支持,如果多个命令的结果不相互依赖,可以通过管道一次传输多个命令,并将结果一次返回,通过降低通信次数来减少传输时延。...,也不会损失多少数据,但是当服务器硬盘故障时,仍然会导致数据丢失。...为了避免这种单点故障的情况,需要将数据存储在多个服务器上,当一台服务器上redis更新数据时,通过复制功能将数据同步到其他服务器上。
501 表示服务器不支持客户端的请求功能。 502 作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应。 503 服务器内部较忙,暂时无法相应。...受URL长度限制,GET传输数据较少,而POST传输数据量较大,一般默认为不受限制。 从幂等性的角度来说,GET是幂等的(只要参数不变,返回的结果总是相等的),而POST不是。...Priority 优先级,chrome的提案,定义了三种优先级,Low/Medium/High,当cookie数量超出时,低优先级的cookie会被优先清除 2.Cookie的生命周期 我们通常通过Expires...就像食堂打饭后排队付钱,一个队伍排到门口,现在从之前的一个窗口增加到多个窗口,同一时间做付款操作的同学多了,速度自然也就快起来了。 域名分片。...5.优先级 HTTP2.0可以对比较紧急的请求设置一个较高的优先级,服务器在收到这样的请求后,可以优先处理。
领取专属 10元无门槛券
手把手带您无忧上云