作者回复: 这个和bigtable还是有本质区别的,bigtable要复杂很多,bigtable可以对标开源的hbase。
作者回复: 1. LRUCache发生Eviction时才写入PersistentMap 2. Write Behind可以简单理解为将对应的insert/update写入一个queue,后台线程定期刷这个queue,写入DB
作者回复: 采用Redis也可以实现SessionServer,只是需要重新设计另外一套架构。携程当时还没有引入Redis,没有相关的运维团队,所以我们最终考虑自研Cache服务,这样把控粒度也会更好(尤其是监控埋点)。
作者回复: 并没有说要取代redis,这边的SessionServer场景,只是需要一种大容量的能够持久化Value的缓存,我们自己定制了一个bigcache,实现并不复杂,功能刚好够用,我们可以把控,而且可以细粒度埋点监控。 当然,整个SessionServer的实现,也可以考虑基于redis来实现,只是总体架构设计会有不同。
作者回复: 属于log structured KV存储结构