文章
2015 年 HTTP/2 标准发表后,大多数主流浏览器也于当年年底支持该标准。此后,凭借着多路复用、头部压缩、服务器推送等优势,HTTP/2 得到了越来越多开发者的青睐。不知不觉的 HTTP 已经发展到了第三代,很多项目也在逐渐使用 HTTP/3。本文基于兴趣部落接入 HTTP/3 的实践,聊一聊 HTTP/3 的原理以及业务接入的方式。1. HTTP/3 原理1.1 HTTP 历史在介绍 HT
  • arick
  • 2021-07-11 19:21:13
  • 294
CMS:以获取最短回收停顿时间为目标的收集器,基于并发“标记清理”实现过程:1、初始标记:独占CPU,仅标记GCroots能直接关联的对象2、并发标记:可以和用户线程并行执行,标记所有可达对象3、重新标记:独占CPU(STW),对并发标记阶段用户线程运行产生的垃圾对象进行标记修正4、并发清理:可以和用户线程并行执行,清理垃圾优点:并发,低停顿缺点:1、对CPU非常敏感:在并发阶段虽然不会导致用户线
  • arick
  • 2021-06-14 00:04:21
  • 436
1.1 引言很多不同的厂家生产各种型号的计算机,它们运行完全不同的操作系统,但TCP/IP协议族允许它们互相进行通信。这一点很让人感到吃惊,因为它的作用已远远超出了起初的设想。TCP/IP起源于60年代末美国政府资助的一个分组交换网络研究项目,到90年代已发展成为计算机之间最常应用的组网形式。它是一个真正的开放系统,因为协议族的定义及其多种实现可以不用花钱或花很少的钱就可以公开地得到。它成为被称作
  • arick
  • 2021-06-10 04:30:12
  • 446
一、TCP四次挥手 第一次挥手:A->B,A向B发出释放连接请求的报文,其中FIN(终止位) = 1,seq(序列号)=u;在A发送完之后,A的TCP客户端进入FIN-WAIT-1(终止等待1)状态。此时A还是可以进行收数据的第二次挥手:B->A:B在收到A的连接释放请求后,随即向A发送确认报文。其中ACK=1,seq=v,ack(确认号) = u +1;在B发送完毕后,B的服务器端进入CLOSE
  • arick
  • 2021-06-10 04:28:29
  • 446
man strace:    strace - trace system calls and signalsDESCRIPTIONIn the simplest case strace runs the specified command until it exits. It intercepts and records the system calls which are called by a
  • arick
  • 2021-05-31 18:44:12
  • 481
(1).方案选择 使用官方推荐的kubeadm搭建。注意:现在官方推荐的是kubespray,但也是基于kubeadm;除此之外,还有kind,minikube,但是并不试用于部署生产级别集群。如果没有足够的K8S储备,生产环境还是使用阿里云的K8S集群更稳妥;阿里云的容器化服务支持多可用区的K8S集群,多可用区在物理上有隔离,可以在一定程度上避免阿里云自身的物理故障。(2).前期准备1.我们需要
  • arick
  • 2020-11-25 16:51:52
  • 1461
一、交换指令:CMPXCHG、XCHG1) CPMXCHG用于比较并交换操作数,CPU对CAS的原语支持非原子性,最早用于单核CPU2)XCHG用于交换两个操作数具备原子性,CPU会自动加LOCK前缀The LOCK prefix is automatically assumed for XCHG instruction.——From Intel手册 8.1.2.2 Software Contro
  • arick
  • 2020-08-15 14:34:52
  • 2469
每个 ChannelSocket 的 Unsafe 都有一个绑定的 ChannelOutboundBuffer , Netty 向站外输出数据的过程统一通过 ChannelOutboundBuffer 类进行封装,目的是为了提高网络的吞吐量,在外面调用 write 的时候,数据并没有写到 Socket,而是写到了 ChannelOutboundBuffer 这里,当调用 flush 的时候,才真正
  • arick
  • 2020-08-12 00:01:12
  • 2285
实现单机的百万连接,瓶颈有以下几点:如何模拟百万连接突破局部文件句柄的限制突破全局文件句柄的限制在linux系统里面,单个进程打开的句柄数是非常有限的,一条TCP连接就对应一个文件句柄,而对于我们应用程序来说,一个服务端默认建立的连接数是有限制的。如何模拟百万连接如上图所示,当服务端开启一个端口,客户端去连接,除去固定的端口,最多只能实现单机6W的连接,实现单机百万连接,最简单的方法,就是启动十几
  • arick
  • 2020-08-08 01:33:55
  • 2524
简单需求:直播的时候用户聊天的需求后台实现:分为两个接口:发送消息接口和请求消息接口主要点:redis的mget 的使用,以及key值的设计用直播期数【liveNum】作为当前期目前消息的总条数,使用incr在发送接口来累加总条数每条消息的key:直播期数【liveNum】_当前消息第几条实体类的属性public class LiveChat { /** * 当前期的第几条数据
  • arick
  • 2020-08-05 03:48:12
  • 2224
京ICP备19006603号-1 Rick ©2018