형님들 혹시
텍사스 홀덤 같은건 서버 아키텍처를 어떻게 짜야합니까?
유저가 게임 룸 만들고 두명 이상일 때 자동 실행 등의 기능을 넣으려고 하고
샹각했던 걸로는 event driven 방식으로 stateless 분산 확장 가능하게 구현하려고 했는데 설계를 하면 할수록 미궁으로 빠져드네요
게임 룸 별로 게임서버에 stateful 하게 쓰레드 잡고
해당 룸에 조인하는 유저한테 게임서버에 직접 소켓 붙도록 설정해야 할까요..
텍사스 홀덤 같은건 서버 아키텍처를 어떻게 짜야합니까?
유저가 게임 룸 만들고 두명 이상일 때 자동 실행 등의 기능을 넣으려고 하고
샹각했던 걸로는 event driven 방식으로 stateless 분산 확장 가능하게 구현하려고 했는데 설계를 하면 할수록 미궁으로 빠져드네요
게임 룸 별로 게임서버에 stateful 하게 쓰레드 잡고
해당 룸에 조인하는 유저한테 게임서버에 직접 소켓 붙도록 설정해야 할까요..
룸별로 쓰레드 관리하는건 별로 좋지 않아 보임.(쓰레드는 늘어나면 컨텍스트 스위칭 부하만 늘어날듯) 일반적인 형태로 네트워크 처리부만 쓰레드 쓰고(검증된 라이브러리 사용), 로직은 네트워크의 패킷을 싱글 쓰레드로 처리해도 충분 게임자체가 실시간성을 크게 요구하지 않기 때문에... 게임 자체가 가볍고 각 방마다 개별적이기 때문에 동일한 서버 데몬을 여러개 띄워도 하나의 거대한 서버처럼 눈속임하는건 어렵지 않을듯 근데 그런류의 캐주얼 서버는 이미 공개된게 여럿 있음 그걸 학습하기 귀찮으면 그냥 어디서 채팅방 서버 코드 긁어와서 쓸듯.
요약 : 스테이트풀 서버로 만드셈