• 不同系统之间数据的交互


          最近公司的项目要实现几个子系统的数据同步,讨论了几种方式,现记录如下.背景介绍:

          子系统                      职责

        MarketResearch       实时更新基金产品价格数据,为其它子系统提供数据服务

        Order Managment System  customer下单管理系统,管理各种交易订单,需要MR和CRM数据

        CRM          客户关系管理

    方案一:  把所有需要公共交换的数据独立出一个子系统,所有其它的子系统通过一公共API访问.由于CRM是外购其它的公司的产品,改动风险太大,外加其它非技术因素,此方案被不否决.

    方案二: 各系统提供单独的API实现数据的交互. 但也有二种方式. 

    1)消息机制 + pull 模式   数据源发出数据更新通知,其它数据接收者接到通知后自行调用数据源API获取数据

    2)push 模式  数据源直接调用其它数据获取者API更新数据

    由于各个子系统需要的数据不同, 因此需要一个统一方式描述数据. XML自然是首选,即我们定义一个统一的XML格式来描述各种数据,各个子系统只需要解析一个统一XML文件. 各个子系统也可以实现相对的松藕合.

    插一点个人体会:本质上我们最终是定义了一个简单的XML通迅协议,一直觉得协议通信应该也算一种模式,而且在我目前所见的模式中也许是最"松"的藕合.

  • 相关阅读:
    elasticsearch插件开发
    elasticsearch启动流程
    HBase结构
    Scala统计一个文件所有单词出现的次数
    es基础知识
    Linux中Swap与Memory内存简单介绍
    linux 常用命令
    巅峰对决之Swarm、Kubernetes、Mesos
    【JS】JS知识小结
    【HTTP】HTTP状态码详解
  • 原文地址:https://www.cnblogs.com/jjyjjyjjy/p/1339516.html
Copyright © 2020-2023  润新知