使用Materialise物化视图解耦微服务架构

22-02-22 banq

Materialize 是一个流式数据库,它获取来自不同来源(如 Kafka、PostgreSQL、S3 存储桶等)的数据,并允许用户编写聚合这些数据的物化视图,并允许您使用纯 SQL 查询这些视图。
与传统的物化视图不同,Materialize 旨在将数据保持在连续状态并保持视图增量更新。这意味着如果您有一个不断更新的视图,您可以实时查询数据。正常的物化视图每次需要更新时都会进行全表扫描,这可能非常昂贵。
有关 Materialise 的更详细说明,请参阅Materialise 文档
  

使用 Materialise 解耦微服务架构
感谢 Materialize,我们可以解耦微服务架构,并使用实时物化视图来存储聚合数据。Materialize 将保持物化视图增量更新,并允许我们以亚秒级延迟实时查询数据。
这将消除对事件驱动架构的需求,还将消除扩展目录服务以将更改事件发送到篮子服务的需要。

由于 Materialise 与 Postgres 有线兼容,我们不需要使用任何第三方库来使用 Materialize,并且没有学习曲线。您需要记住的一件事是,就目前而言,Materialize 没有持久性。这意味着如果您重新启动服务,物化视图将需要重新聚合数据。
 

 GitHub

1
猜你喜欢