(点击上方公众号,可快速关注)
八年前,谷歌发现每 500ms 的延迟会让网络堵塞程度增加 20%,而亚马逊也察觉 100ms 的延迟会使销量降低 1%。从那以后,开发者就在减少延迟方面绞尽脑汁,以至于前端开发者试图从他们用的 JS、CSS 甚至 HTML 中挤出每一毫秒。这篇文章接下来要介绍的就是在设计低延迟系统是要时刻注意的一些最佳实践。大部分的建议看似荒谬却被证实为是有用的,当然有时也需要一些权衡。 选择合适的语言 脚本语言就不需要考虑这一点。虽然编程语言一直以来都在变得越来越快,只要你试图将处理时间削减最后那么几毫秒,你就不能忽视解释型语言。此外,你可能会需要一个强大的内存模式来进行无锁编程,那么你就要考虑使用 Java,、Scala、C 11或者Go。 尽量使用内存I/O会增加延迟,所以要确保所有的数据都在内存中。这通常意味着要管理你的内存数据结构,维护持久日志,这样当机器或者进程重启的时候能够恢复之前的状态。创建持久日志的工具有Bitcask、 Krati、LevelDB 和 BDB-JE。除此之外,你可能可以投巧地运行一个本地的,持久的内存数据库,比如说 Redis 或者MongoDB (当内存 |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|