9 11
最近工作点滴

在目前这家电商公司刚好满两年,我觉得是时候简单总结一下最近的一些工作吧:

最近公司内部人员调整算是比较大的, 按照leader的想法, 我这边下半年开始往基础架构的建设上下更大的功夫。 而且临近双十一,相关挑战也接踵而来:目前一个”水深火热”的问题是我们内部某个基础底层的服务需要增加更可靠的分布式缓存支持日益递增的业务请求压力;

虽然说目前市面上的分布式缓存手段繁多,外面每个大厂分享的”PPT”描述得好像都很有道理,但能结合目前我们的问题的方案可就显得力不从心了,更何况当今的后端研发人员,一说到分布式缓存,不把memcache/redis挂在嘴上,都不好意思说自己懂后端开发了,但被问到如何解决实际的问题与策略,很多人就吞吞吐吐了。所以我们内部也开始研究乃至自己编写相关分布式缓存技术的组件, 希望能抗住目前项目所带来的巨大请求压力.

典型的分布式缓存思路无非就是使用类似KV形式存储和访问数据,在内存中维护一张巨大的HashTable,然后根据相关的路由算法将key进行Hash,使得在读数据是首先读缓存(内存)。如果缓存中没有数据,那么再去读存储(磁盘),并且把数据写入缓存。最终对数据查询的时间复杂度降低到O(1),保证了对数据的高性能访问。

这种手段放之四海而皆准。但往深入想一下,会发现这都是很表面的套路,一个健壮的分布式缓存应该需要同时解决以下的问题:

  • 扩容问题

  • 故障恢复

  • 存储一致性

  • 高效的读写

  • 过载保护

  • 预热功能

上述的问题,我先抛出来,主要做一个记录,先不详细说明,这段时间我会结合不断的实践,到时如果有所收获的话,再提炼相关经验分享出来吧。