10大高性能开发宝石,我要消灭一半程序员!
图片 零拷贝技术,解放CPU,文件数据直接从内核发送出去,无需再拷贝到应用程序缓冲区,白白浪费资源。 图片 Linux API: ssize_t sendfile( int out_fd, int in_fd, off_t *offset, size_t count ); 函数名字已经把函数的功能解...
图片 零拷贝技术,解放CPU,文件数据直接从内核发送出去,无需再拷贝到应用程序缓冲区,白白浪费资源。 图片 Linux API: ssize_t sendfile( int out_fd, int in_fd, off_t *offset, size_t count ); 函数名字已经把函数的功能解...
淘宝早期秒杀系统 这个系统架构有下面几个要点: 把秒杀系统独立出来单独打造一个系统,这样可以有针对性地做优化,例如这个独立出来的系统就减少了店铺装修的功能,减少了页面的复杂度; 在系统部署上也独立做一个机器集群,这样秒杀的大流量就不会影响到正常的商品购买集群的机器负载; 将热点数据(如库存数据)单独...
image.png 2.ARouter源码分析 1.init阶段 我们找到Arouter的入口,也就是初始化的地方: if (isDebug()) { // 这两行必须写在init之前,否则这些配置在init过程中将无效 ARouter.openLog(); // 打印日志 ARouter.open...
image-20210403163557657.png 在 Flink 1.12.0 版本中对 UI 进行了改进,在 TM 的页面增加了一个内存模型图,清楚的显示了每个区域的内存配置以及使用情况. ★ Total Process Memory (进程总内存) 包含了 Flink 应用程序使用的全部内...
分布式唯一ID 使用RocketMQ时,需要使用到分布式唯一ID 消息可能会发生重复,所以要在消费端做幂等性,为了达到业务的幂等性,生产者必须要有一个唯一ID, 需要满足以下条件: 同一业务场景要全局唯一 该ID必须是在消息的发送方进行生成发送到MQ 消费端根据该ID进行判断是否重复,确保幂等性 在...
image.png 对以上问题解决办法,就是使用lua脚本,参考 https://www.jianshu.com/p/0e5d592197c1。 至此,还没有完,就是过期时间的的问题,如果高并发下,某个线程被阻塞,导致超时,那么redis过期了,就导致并发问题了,如果说过期时间设置太长,如果服务重启...
image.png 对上图进行简单的说明 基于Dledger的Broker主从架构部署 RocketMQ的4.5版本之前如果master故障,是无法自动将slave切换成master的,必须得人工介入,修改配置然后重启。4.5版本之后,引入Dledger技术之后可以实现自动切换。Dledger技术是...
image.png 2˃使用[UIImage imageNamed:imageName] image.png 两种方式都实际滑动一分钟, 可以清晰的看到,两种加载方式一开始都帧数很低,但是使用imageNamed: 的很快帧数就恢复到60帧,但是使用imageWithContentsOfFile:会...
OAuth2.0 密码模式典型架构层次 如图所示,是密码模式的最精简架构层次,在实际开发中可以此作为基础进行扩展。密码模式涉及到五种主要角色,另外还有一个用户代理/浏览器角色: 用户代理/浏览器:一般单体应用都是前后端分离的 MVC 结构,从这个角度看,这里具体可以将用户代理/浏览器理解为前端的 H...