Shardcached——Booking.com的分布式缓存
讲师:
所属专题:
在Booking.com,面对持续的业务增长,我们需要寻找这样的解决方案:支持伸缩,而不必大量修改或调整业务逻辑,同时不能引入不必要的复杂性或者失效点。
为将持续的访问迁移到底层的存储中,我们采用了不同的方案。有些涉及memcached,有些涉及redis,有些还涉及提供分布式键值存储的定制中间件。每种解决方案都各有优缺点。有时只是根据我们的增长量传一些阈值,就碰到问题了。
最近我们开发了自己的键值存储和缓存层,部分是受Go语言实现的groupcache的启发,部分和memcached等价,但是可以使用存储插件,这些插件可以感知我们的基础设施,还可以包含业务逻辑,以支持从底层存储中检索数据。
为什么要开发libshardcache和shardcached呢?演讲中会介绍产生这种动机的过程和思考,并分享我们在产品中部署的初步经验。项目目前托管在Github上:libshardcache和shardcached。
Booking.com的高级软件工程师
Andrea Guzzo是Booking.com的高级软件工程师。在互联网的早期时代,Andrea就对编程很感兴趣。他在罗马学习的计算机科学,之后在意大利的一些电信公司和互联网服务企业工作过。他有深厚的网络和Unix背景,做过各种网络和安全工具的开发。
Andrea于2007年搬到了荷兰,从事过汽车相关的嵌入式开发,积累了更多内核级编程和资源受限情况下编程的经验。他于2009年加入Booking.com,在后端子系统方面工作过一段时间后,又开始投身于内部的iOS应用(iphone/iPad)的开发。目前,Andrea就职于基础架构团队,主要从事缓存子系统方面的工作。