首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Databus简介「建议收藏」

    1.背景 在互联网架构中,数据系统通常分为真实数据(source-of-truth)系统,作为基础数据库,存储用户产生的写操作;以及衍生数据库或索引,提供读取和其他复杂查询操作。后者常常衍生自主数据存储,会对其中的数据做转换,有时还要包括复杂的业务逻辑处理。缓存中的数据也来自主数据存储,当主数据存储发生变化,缓存中的数据就需要刷新,或是转为无效。这样架构自然而然的一个问题就是如何保障基础数据库和其它数据存储方的数据一致性。一个想法是双写,在有数据进来的时候就同时更新基础数据库和衍生数据库(或缓存),但这种方式如果没有很强的协议来保证,就还是会有一致性问题,比如说主数据库写入成功但是衍生数据库(或缓存)写入失败。另外的一个方案就是只写基础数据库,其它衍生数据库(缓存)通过监听基础数据库的变化来进行数据变更,这个方案要求能有一个工具能监听基础数据库的变更并且能够及时的通知衍生数据库(缓存)具体的变化,而Databus就是这样的一个系统。

    011

    如果有人再问你怎么实现分布式延时消息,这篇文章丢给他

    上篇文章介绍了RocketMQ整体架构和原理有兴趣的可以阅读一下,在这篇文章中的延时消息部分,我写道开源版的RocketMQ只提供了18个层级的消息队列延时,这个功能在开源版中显得特别鸡肋,但是在阿里云中的RocketMQ却提供了支持40天之内任意秒级延时队列,果然有些功能你只能充钱才能拥有。当然你或许想换一个开源的消息队列,在开源社区中消息队列延时消息很多都没有被支持比如:RabbitMQ,Kafka等,都只能通过一些特殊方法才能完成延时的功能。为什么这么多都没有实现这个功能呢?是因为技术难度比较复杂吗?接下来我们分析一下如何才能实现一个延时消息。

    01
    领券