课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
我们在前几期的文章中给大家简单介绍了分布式数据库架构的一些基础知识,而今天我们就通过案例分析来了解一下,分布式数据库架构实践都有哪些方法。
以代码库方式发布:不引入独立的服务,将Saga和Kafka相关的逻辑抽取成公共代码库按版本发布,随着位于组合编排器层的服务一起部署和升级。
生产者和消费者以1:1共存于同一个进程:需要发起和管理分布式事务的服务,每个节点都会启动一个生产者和一个消费者,并且借助现有的集群部署工具(AmazonEKS),保证该服务的所有节点都可以互相连通,并且可以连接Kafka。这种部署方式允许我们从消费者节点直接回调生产者节点,无需引入额外的消息总线或其他数据共享机制。后续可以根据需要,将生产者和消费者部署在不同的服务上,只要它们的节点之间可以相互连通。
支持Kafka和Gochannel两种队列模式:Kafka队列模式符合ACID的定义,Gochannel队列模式只能保证ACID中的A,不能保证I和D。开发和单元测试阶段可以使用Gochannel模式,服务集成测试和线上部署时一般使用Kafka模式。线上Kafka服务整体不可用时,发起分布式事务的服务可降级为Gochannel模式。
共享Kafkatopic和partition:多个服务或流程可以共享Kafka的topic和partition,使用消费者组来进行区分消费进度,使用TxType来做事件分流。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。