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


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

          子系统                      职责

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

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

        CRM          客户关系管理

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

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

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

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

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

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

  • 相关阅读:
    Tomcat基于MSM+Memcached实现Session共享
    Zabbix简介及安装
    redis简介
    Ansible详解(二)
    Ansible详解(一)
    WAMP3.1.10/Apache 设置站点根目录
    最长回文子串--轻松理解Manacher算法
    一篇文章彻底了解Java垃圾收集(GC)机制
    java内存模型详解
    Java中23种设计模式--超快速入门及举例代码
  • 原文地址:https://www.cnblogs.com/jjyjjyjjy/p/1339516.html
Copyright © 2020-2023  润新知