찾다

 >  Q&A  >  본문

前端 - 前后端的数据如何实时对接?

PHP中文网PHP中文网2828일 전544

모든 응답(3)나는 대답할 것이다

  • 阿神

    阿神2017-04-18 10:00:32

    머신 추가...

    회신하다
    0
  • 巴扎黑

    巴扎黑2017-04-18 10:00:32

    라운드로빈인 이상 반드시 이런 시간간격이 있을 것입니다.
    MySQL에는 데이터 모니터링 메커니즘이 없는 것 같습니다
    앞에 redis 또는 mq 계층을 추가할 수 있습니다
    1. 작업을 프런트 엔드에 추가
    2. mysql에 쓰기
    3. 백엔드는 redis/mq를 모니터링하고 작업 실행을 획득하며 실행이 완료된 후 mysql을 업데이트합니다

    말할 필요도 없이 mq는 모니터링이 전부입니다
    Redis는 이를 위해 pubsub를 사용합니다
    redis pubsub는 사용이 매우 간단합니다. http://redis.cn/commands/pubs...
    이러한 방식으로 백엔드에서도 작업을 동시에 수행할 수 있습니다

    회신하다
    0
  • 黄舟

    黄舟2017-04-18 10:00:32

    프런트엔드는 데이터베이스에 직접 쓸 수 없어야 하며, 백엔드는 쓰기 작업을 완료한 후 프런트엔드의 요청을 실행해야 합니다. 데이터베이스에 작업 실행을 요청하는 또 다른 메시지를 직접 보낼 수 있습니다.
    물론 이 메시지는 프런트엔드가 성공적인 쓰기 메시지를 받은 후에 시작될 수도 있습니다. 그러나 이는 불합리해 보이고 서버 리소스를 낭비합니다.
    이런 방식으로 백엔드가 작업을 수행하는 방식은 폴링이 아니라 응답 수신으로 변경되어야 합니다. 새 작업의 실행 요청이 모니터링되면 데이터베이스에서 데이터를 가져와 작업 대기열에 추가합니다.

    회신하다
    0
  • 취소회신하다