网站平台需要在交易系统发起一笔交易后,进行新交易的提示,就像微博好友圈的新微博提示。采用什么办法来解决这个需求呢
网站平台和交易系统是两套系统,两套系统之间是通过dubbo互相调用服务的。网站平台就是我们公司的商户使用的平台。现在有一个新需求就是:商户的用户每发起一笔交易,在商户平台都要进行一条消息的推送,显示“您有一笔新交易,请刷新页面”这样的提醒。商户平台使用的是springmvc+spring+mybatis框架开发的。
之前记得使用过rabbitMq消息应答机制,使用它应该肯定能解决。不过现在不想通过它来实现,一是现在忘得差不多了;二、若是用它肯定还要找项目经理往服务器上进行部署,并解决单点故障问题。所以现在不太想使用这样的第三方。请问还有什么思路来实现这个需求呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
回复
我理解的是「网站平台」发起一笔交易后,在「商户平台」里面会有一个「即时」提醒,可以通过1L ajax轮询的方式,或者其他的websocket之类的,比如socket.io,需要跑一个后端的服务,网站平台发起交易后通过后端的服务广播到商户平台,商户平台接收到消息之后就该怎么着怎么着了,实现起来也比较简单,相较AJAX轮询方式来说资源占用也比较少。
回复
我对1L ajax的理解是:服务端基本上还是不断的向服务端发送请求,只不过是服务端过滤掉一些不符合推送条件的消息,即只有”新交易“了,才会返回数据。其实还是建立在交易系统做完交易后向”我们新建的一张表“中插入数据,我的商户平台则需不断的访问数据库查询?是这样吧?
回复
假如是的话,我想你能根据你的经验给我一个建议。就是我们这是新开发的一套跨境交易系统,第一批入驻的商户不会太多,推送消息实时性要求不特别高,能实现满足商户的需求即可。你觉得轮训时间,多长合适
socket.io?
几百个商户不断的要服务器发起请求,并且还要查询数据库,对服务器造成的压力会不会特别大?
每发生一笔交易的时候,交易系统
通过约定的接口,往商户平台后台插入一条交易记录的数据。接下来想做什么怎么做就是商户平台自己的事情了
首先,如果是我网站平台这边发送ajax进行交易的查询不太合理,不能每一次请求都都去查询数据库吧。交易系统那边不是我来做,我其实不太理解,我们两个系统间,应该用怎么样的一种方式,实现交易系统完成一笔”某个商户的“交易,我这边”此商户“登录的网站平台就会给使用者推送一条交易信息。 使用ajax的话,也是我这边发起请求,去调用他那边,这样不是太合理吧?不知道我的理解正不正确
如果你使用过segmentfault.com这个问答社区,你会发现,它的消息提醒就是兼容性最好,最容易实现的AJAX定时轮询,如果智能一点,你可以根据服务器负载来调整客户端AJAX轮询的间隔时间clearInterval/setInterval,30秒以内的轮询间隔我觉得还是可以接受的.