java吧 关注:1,249,987贴子:12,732,313
  • 14回复贴,共1

吧里有没有大佬?不懂就问!

只看楼主收藏回复

已知服务器要接收硬件的刷卡信息,信息量较为巨大,甚至1S会达到上千条上万条,求个解决方案


1楼2020-08-18 16:22回复
    救救我吧


    2楼2020-08-18 16:23
    回复


      3楼2020-08-18 16:26
      回复
        关键还是即时返回


        4楼2020-08-18 16:31
        回复
          大佬呢


          5楼2020-08-18 16:38
          回复
            要么扩展服务器,要么MQ


            IP属地:上海来自Android客户端6楼2020-08-18 17:09
            收起回复
              搞个异步线程池,mq 应该没啥问题。1s上千,上万也没多少啊,rocketmq/kafaka 支持10w+并发的,消息队列本来就是搞异步削峰的。把数据缓存起来,异步获取并处理信息,然后在发个mq出去,完事。我只是提供个思路,仅供参考。当然里面会涉及到mq 消息丢失,是否顺序发送的问题。自己慢慢搞吧


              IP属地:安徽7楼2020-08-18 17:31
              收起回复
                你是接收到了直接返回
                还是接收到了要做数据库操作业务逻辑处理之后返回哦。
                如果可以异步处理,则可以通过 nginx + dubbo + MQ(多端消费) 的架构解决
                如果是同步的,那你要考虑数据库压力、服务器压力,做分布式架构处理勒


                IP属地:江西8楼2020-08-18 18:04
                收起回复
                  1.是否需要从数据库查询并判断?
                  如果需要查询和判断,就用redis.
                  2.是否需要保存用户信息到数据库,仅保存还是需要行其它业务?
                  如果仅保存就用消息队列,然后直接返回成功信息,并注意保证消息别丢失。
                  3.接上是否进行其它复杂业务?
                  如有请说明一下。


                  IP属地:河南来自Android客户端10楼2020-08-18 18:29
                  回复