아하
생활

생활꿀팁

근면한천산갑160
근면한천산갑160

firebase realtime database 효율적인 트래픽 사용 방법 질문입니다

안녕하세요 Bitpump 앱 운영중인 개발자입니다.

현재 앱 내에 firebase realtime database를 이용해서 채팅 서비스를 제공하고 있는데요

문제는 올해 비트코인 시장의 활성화로 사용자가 기하 급수적으로 늘어남에 따라 채팅 데이터 요청 시 트래픽에 대해 고민을 많이 하고있습니다.

현재 채팅 데이터의 구조는 아래와 같습니다.

여기서 트래픽이 고민이 되는 부분은 아래와 같습니다.

1. 현재 채팅데이터는 마지막 100개의 데이터를 불러와 보여줍니다. (lastTolimit 100 사용중) //이 경우 가장 마지막 데이터 100개만 가져오기 때문에 트래픽 증가는 없어보임.

2. 하지만 여기에 order by , where 문 등의 조건식이 들어가게되면 전체 채팅 데이터를 조회-> 조건 탐색 -> 채팅 표시 과정을 진행해서 인지 firebase realtime database에는 트래픽이 채팅 데이터 전체로 잡히는 것 같습니다.

3. 구현 하고자하는 내용은 like(좋아요 한 디바이스 아이디 저장)가 일정갯수 (30개 이상)이상 이되면 인기글 페이지에 나타나게 최대 20개 정도 나타나게 하고 싶은데 문제는 조건식이 들어가야 하기 때문에 트래픽이 엄청나게 늘어날 것같아 무턱대고 진행하지 못하는 상황입니다.

현재 하루 평균 2~5기가 정도의 다운로드 량을 기록하고 있으며 1g가당 1$의 가격이 책정되기 때문에 한달 누적으로는 무시할 수 없는 수준입니다.

결론은 . 좋아요 갯수에 따른 인기글을 가져올 때 어떻게 하면 트래픽을 최대한 적게 사용해서 가져올수 있을까요?

감사합니다.


55글자 더 채워주세요.
1개의 답변이 있어요!
  • pay2id.com
    pay2id.com

    제가 해당 채팅을 사용해보지 않아서 잘 모르겠으나,

    만약에 하나의 그룹방에서 여러명이 대화하는 형식이라면?

    예를 들어 100명이 같은 방에 있다고 가정을 할때,

    프록시개념으로 처리해보시는건 어떨까요? 프록시개념의 채팅서버는 단독서버를 따로 구축하여

    거길 통해서 자료를 받게 만드는것입니다

    즉, 100명이 전부 프록시채팅서버에 접속하여 대화하게 되면?

    프록시채팅서버가 sql질의문을 분석하여 시간적으로 반복되는것들을 1번만 처리되게

    하면 되지 않을까 생각해봅니다