zoukankan      html  css  js  c++  java
  • 《数据蜂巢架构演进之路》---阅读

    该文章一开始列出各业务系统为使用mysql的业务数据,重复开发出多套数据同步工具,一方面难以管理,另外部分工具性能也偏差。需要一个统一为mysql数据提供同步服务的平台。该平台需支持离线同步,实时订阅,实时同步三大基本功能等。

    那各功能如何实现?离线同步:可理解为将根据一个sql查询出的数据同步到其它目标存储上;实时订阅:通过实时解析mysql-binlog,将数据的变动封装成事件存于消息队列,供用户订阅消费;实时同步:提供一些常见的订阅客户端料现,实时消费消息,将数据的变动应用于目标存储上。

    如何将三个功能集成在一个平台架构下?将离线同步,实时订阅,实时同步三个需求抽象为三种作业,分别为BatchJob,StreamJob,PieJob。

    i. BatchJob参考Sqoop的模式,将需同步的数据先根据指定的规则进行分片,然后将作业根据分片拆分成多个任务,每个任务只同步本分片的数据,多个任务可同时运行,以加快同步效率;ii. 以BatchJob的模式为基础,StreamJob也可根据需要采集的mysql实例分成多个任务,每个任务负责采集解析一个mysql的binlog,并将解析后的事件封装成消息存于本地供订阅者消费;iii. PieJob是对订阅客户端的封装,每一个订阅客户端即可看作一个任务。

    三种不同的作业最终都可以通过分片分成多个任务去运行,使用统一的模型。

    文章最后介绍了集群此昂管内容,这也是我们近期有过接触的内容。

    集群的1、高可用2、数据本地性3、负载均衡解决了很多问题。

  • 相关阅读:
    Linux 下curl模拟Http 的get or post请求
    ShopNC学习笔记(转)
    (转) shopnc数据库操作
    Mysql开发规范
    长连接、短连接、长轮询和WebSocket
    一个支付宝没有安装app时看不到web网页,无法支付的问题
    MVVM设计模式
    c中的scanf和printf
    import和class关键字的区别
    oc中的注释
  • 原文地址:https://www.cnblogs.com/mm20/p/11048868.html
Copyright © 2011-2022 走看看