Cpu Limit
cpu 利用率限制
压缩文件时如何限制CPU使用率?——几种CPU资源限制方法测试 - 墨天轮
Long Polling(长轮询)机制
很多人会疑惑为什么不用 websocket,原因有3个:
- websocket 主要考虑推模式,而推模式则有可丢,做到不丢还是有需要拉模式来兜底;
- 推模式下,需要精准维护每个时刻的在线列表,难度很大;
- longpolling 本质是一个短连,客户端实现更简单。
Distruptor
消息队列
- Disruptor 是英国外汇交易公司 LMAX 开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题(在性能测试中发现竟然与 I/O 操作处于同样的数量级)。基于 Disruptor 开发的系统单线程能支撑每秒 600 万订单,2010 年在 QCon 演讲后,获得了业界关注。
- Disruptor是一个开源的Java框架,它被设计用于在生产者—消费者(producer-consumer problem,简称PCP)问题上获得尽量高的吞吐量(TPS)和尽量低的延迟。
- 从功能上来看,Disruptor 是实现了“队列”的功能,而且是一个有界队列。那么它的应用场景自然就是“生产者-消费者”模型的应用场合了。
- Disruptor是LMAX在线交易平台的关键组成部分,LMAX平台使用该框架对订单处理速度能达到600万TPS,除金融领域之外,其他一般的应用中都可以用到Disruptor,它可以带来显著的性能提升。
- 其实Disruptor与其说是一个框架,不如说是一种设计思路,这个设计思路对于存在“并发、缓冲区、生产者—消费者模型、事务处理”这些元素的程序来说,Disruptor提出了一种大幅提升性能(TPS)的方案。
- Disruptor的github主页:https://github.com/LMAX-Exchange/disruptor