Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat/1 redis sortset queue #2

Merged
merged 12 commits into from
Oct 24, 2023
Merged

Feat/1 redis sortset queue #2

merged 12 commits into from
Oct 24, 2023

Conversation

junha-ahn
Copy link
Member

@junha-ahn junha-ahn commented Oct 16, 2023

What is this PR?

Redis Sorted Set 기능을 이용해 Nodejs API 개발

image

Key Changes

  • add redis client
  • add queue-ticket API using redis (발행 및 체크 총 2개의 Endpoint)

Test Checklist

@junha-ahn junha-ahn linked an issue Oct 17, 2023 that may be closed by this pull request
2 tasks
@junha-ahn junha-ahn changed the title feat: add RedisClient Feat/1 redis sortset queue Oct 17, 2023
@minjun3021
Copy link

대기열 서버가 spring application에 입장해도되는지 확인하는 과정은 없나요?
대기열서버가 그냥 몇초마다 몇명 임의로 입장시키는 건가요?
아니면 부하테스트를 하면서 몇초마다 얼마나 입장 시키면 되는지 정하는건가요?

@junha-ahn
Copy link
Member Author

@minjun3021 이미지를 보시면 (4)번 과정이 스프링애플리케이션이 직접 대기열 서버로 요청을 전송하도록 했습니다.

Waiting => Running으로 옮기는 과정은 #3 에서 Node.js로 스케줄러를 만들 계획입니다.

@minjun3021
Copy link

4번은 해당 티켓 번호가 유효한지 확인하는 작업아닌가요?

제가 말하는 거는 Waiting => Running으로 옮기는 과정에서
서버 상태(활성화된 쓰레드갯수 , 서버 쓰레드 queue대기중인 수)를 같은걸 고려하지않고
그냥 몇초마다 몇명 입장 시키는건가요?

@junha-ahn
Copy link
Member Author

junha-ahn commented Oct 18, 2023

그렇게 현재 자원을 비교해서 대기열을 조정 하는건 진행하지않습니다.

스파이크 테스트를 통해서 DB가 1개의 자원에대해 1초동안에 안정적으로 응답 가능한 수가 100 리퀘스트면, 스케줄러가 1초에 50명씩 입장시킨다.

이렇게 구현 예정입니다 (inteval, move per inteval 설정)

Copy link

@ParkJeongseop ParkJeongseop left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM
설계하신대로 잘 구현한 것 같습니다.

다만 동시접속자가 많지 않을때도 위와 같이 일관적으로 위와같은 모든 프로세스를 거치는것인가요?

@junha-ahn
Copy link
Member Author

넵 그부분이 아쉽긴하지만 동접자에따라 구분하는 기능 넣기는 구현 복잡도가 올라갈거같아 제외했습니다

Copy link

@ParkJeongseop ParkJeongseop left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@junha-ahn junha-ahn merged commit 7158713 into main Oct 24, 2023
1 check passed
@junha-ahn junha-ahn deleted the feat/1-redis-queue branch October 24, 2023 13:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Redis Sorted Set 기능을 이용한 대기열 API 개발
3 participants