2019-12-28 10:19:13 1745次浏览 2条回答 0 悬赏 10 金钱

一个系统给另外一个系统推送注册的数据,保证两个系统的注册数据保持一致,是用 Ajax 推送吗?还是使用 PHP 的 curl 推送?

  • 回答于 2019-12-29 11:34 举报

    无论ajax也好,curl也好都可以实现你说的功能,当然如果不得不两个系统通过接口继续数据同步,还是使用curl比较好,当然也可以使用ftp,sql日志比对等等类似的设计。但是功能开发出现了就真的完成了么?当然你可以说的我的数据更新频率很低,我只要满足今天的数据明天能更新过来就行了 或者哪怕手动点击也可以! 好吧,能满足业务需求的程序就是好程序。 如果真是这样,那这个问题我们就不用在深入去聊了!
    好 废话不多说,先说说你这种设计模式的弊端:
    1、无论是curl也好 ajax(还得处理跨域的问题)也好,都有一个最大的问题是无法保证数据的及时更新,也就是说你必须增加一个轮询 或者 消息通知 或者使用观察者才能表面上解决数据及时更新的问题。
    2、你推送给对方的数据,如果对方接收不到呢? 或者对方接收到了,因为对方接口的问题,导致数据没有完全同步呢? 难道你再增加一个调度器? 对失败的数据,经过两人比对失败原因,然后一条条的处理? 想想都很烦呐有没有?
    3、上边都是扯淡的,疑问一大堆问题倒是没解决! 好吧,上终极方案,使用系统中间件!
    系统中间件的好处在于,对于数据的维护和处理都是一套逻辑,你要新增 更新 删除 好你必须得经过中间件的认可,然后由中间件去共同维护同一套数据,有点跟微服务类似的意思啦 哈哈。。 数据的存储和对接可以考虑redis ,当然如果用mysql的话 就数据而言就相当于两套系统都要分库分表了。 举个栗子 微信授权中间件 数据由微信独立维护,有再多的系统,你只管对接中间件就行了。

  • 回答于 2020-01-03 11:13 举报

    怎么不使用一个数据库专门保存数据库,一个API专门验证用户,类似于单点登录

您需要登录后才可以回答。登录 | 立即注册
PHP学院的中学生
副总裁

PHP学院的中学生

注册时间:2018-10-23
最后登录:2024-09-23
在线时长:168小时13分
  • 粉丝29
  • 金钱4725
  • 威望30
  • 积分6705

热门问题