随笔分类 - 分布式程序设计
摘要:“OB有问必答”是OceanBase最新上线的互动类栏目,每周围绕一个关于分布式数据库的议题为大家详细展开解答,如果你有任何感兴趣的问题,欢迎留言,我们会每周选取一个问题为大家详细解答。 分布式一致性协议(distributed consensus protocol)是迄今为止最有效的解决服务器不可
阅读全文
摘要:一致性是一个比较抽象的概念,涉及computer science的多个领域,例如: 图右半部分,是关系数据库的consistency model。从上到下,一致性的级别越来越低,并发性能会更好些。不同数据库对于事务隔离级别的定义有所不同。 RR(repeatable read) > CS(curso
阅读全文
摘要:IDEA集成的 Thrift 插件进行 thrift 编译 注意 1.thrift文件要放在source目录,才有compile选项 2.generator list的output path不用加包名,thrift support会按约定生成对应的包
阅读全文
摘要:分布式主键的生成方式分为中心化和去中心化两大类。中心化可以继续采用数据库生成自增主键的方式,为每个不同的分库设置不同的初始值,并将步长设置为分片的个数即可,这种方式对分片个数有依赖,一旦再次水平扩展,原有的分布式主键不易迁移。还有一种中心化生成分布式主键的方式,即采用Redis在内存中生成自增序列,
阅读全文
摘要:出处: hollis 目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个 分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition toleranc
阅读全文
摘要:CopyOnWriteArrayList,顾名思义,Write的时候总是要Copy,也就是说对于任何可变的操作(add、set、remove)都是伴随复制这个动作的 A thread-safe variant of ArrayList in which all mutative operations
阅读全文
摘要:1. 分布式缓存面临比较大的三个问题: (1)数据一致性: 先写DB还是先写缓存 假设先写数据库,再淘汰缓存:第一步写数据库操作成功,第二步淘汰缓存失败,则会出现DB中是新数据,Cache中是旧数据,数据不一致。 假设先淘汰缓存,再写数据库:第一步淘汰缓存成功,第二步写数据库失败,则只会引发一次Ca
阅读全文