Netty 실시간 게임 서버 구축

1,820 views
Skip to first unread message

Evan

unread,
Feb 26, 2019, 11:37:52 PM2/26/19
to Netty Korean User Group

안녕하세요~
Netty를 활용하여 실시간 게임서버를 구축하려고 합니다. PC RPG 급은 아니고 모바일용 대전게임 입니다.
Spring Boot를 활용하여 Netty를 구동시키는 것과 Netty만으로 구성하는 것에 큰 성능차이가 있을까요?
Webflux가 Netty를 기반으로 구동된다고 하는데,
Netty기반 Webflux로 구축하고 Websocket으로 통신해도 Netty로만 구축한것과 큰 성능차이는 없을지 궁금합니다

처음 시스템 구축을 어떻게 시작해야 할지 고민이 많이 되네요.

김남철

unread,
Feb 26, 2019, 11:56:22 PM2/26/19
to nett...@googlegroups.com
결국에 동접자 수와 Response Time의 문제라고 봅니다.

Spring Boot로 해도 동접자수가 많지 않다면 Netty와 큰 차이를 못느낄겁니다.

기존에 웹서버 개발에 익숙하다면 러닝커브만 발생할 가능성이 높습니다.

닭인지 소인지에 따라 잡을 칼을 결정하는 문제라고 봅니다.

2019년 2월 27일 (수) 오후 1:37, Evan <seen...@gmail.com>님이 작성:
--
Google 그룹스 'Netty Korean User Group' 그룹에 가입했으므로 본 메일이 전송되었습니다.
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 netty-ko+u...@googlegroups.com에 이메일을 보내세요.
웹에서 이 토론을 보려면 https://groups.google.com/d/msgid/netty-ko/18820390-25f4-4752-bce9-4d4b3e3aa2e4%40googlegroups.com 을(를) 방문하세요.
더 많은 옵션을 보려면 https://groups.google.com/d/optout을(를) 방문하세요.

이규남

unread,
Feb 27, 2019, 12:24:58 AM2/27/19
to Netty Korean User Group
저도 hanminam님 말씀에 동의합니다.
스프링부트로 개발하나 네티로 개발하나 성능의 차이가 그리 크지 않습니다.
저 같은 경우 스프링부트 위에 네티를 얹어서 개발도 해봤었는데 별 차이가 없더군요.
저야 네티 공부하느라 시간을 들여도 상관없었지만 기간제한도 있고 스터디할 시간이 없다면 원래 잘하신던걸로 개발하시는게 제일 좋으리라 생각됩니다.

Evan

unread,
Feb 27, 2019, 2:03:18 AM2/27/19
to Netty Korean User Group
빠른 답변, 좋은 경험 공유해주셔서 감사합니다. ^^

kris jeong

unread,
Feb 27, 2019, 2:22:16 AM2/27/19
to nett...@googlegroups.com
앞서 두 분들이 성능에 대한 답을 주셨네요.

조금 다른 관점에서 Netty, Netty + Spring boot을 비교해봤습니다.

Netty를 쓰는 이유가 고성능 네트워크 애플리케이션을 쉽게 하기위해라면
Spring boot를 쓰는 이유는 Spring boot에서 제공하는 다양한 기능을 쉽게 사용하기 위해서여야 겠지요

게임서버라고 말씀하셨으니 데이터 저장소 및 캐시 레이어 등과 같은 기능도 필요하실 텐데요
이런 부분도 같이 고려한다면 Netty 단일 구현 보다는 Netty + Spring boot 조합도 충분히 고려할 만합니다.

즐거운 개발 되세요.

2019년 2월 27일 (수) 오후 4:03, Evan <seen...@gmail.com>님이 작성:
빠른 답변, 좋은 경험 공유해주셔서 감사합니다. ^^

--
Google 그룹스 'Netty Korean User Group' 그룹에 가입했으므로 본 메일이 전송되었습니다.
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 netty-ko+u...@googlegroups.com에 이메일을 보내세요.

Evan

unread,
Feb 27, 2019, 7:43:36 AM2/27/19
to Netty Korean User Group
Spring boot + netty와 netty기반 webflux와는 큰 차이가 있을까요?

Jun Ho Lee

unread,
Feb 27, 2019, 7:57:44 PM2/27/19
to nett...@googlegroups.com
Spring boot + netty vs webflux를 쓰기 이전에 proactor/reactor pattern 그리고 actor model에 대한 지식이 좀 필요합니다.
Netty가 고성능이라하고 하는 것은 event 방식과 Non-blocking I/O를 기반으로 하고 있기 때문입니다. 하지만 Database와 같이 Sync 기반의 System과 연결을 한다면 Nonblocking으로 모든걸 처리하기에 부적절할 수 있습니다. (예: transaction rollback 등)
게임 서버에서 repostoriy의 성격도 함께 따져서 아키텍처를 고려하는 것이 바람직하죠.

그리고 또 따른 질문은 아래와 같이 WebFlux는 서블릿 컨테이너 뿐만 아니라, Netty, Undertow와 같은 네트워크 어플리케이션 프레임워크도 지원하므로,  HTTP와 Reactive Stream 기반으로 웹 추상화 계층을 제공합니다. 
image.png

저라면 webflux를 선택할 것 같네요.

2019년 2월 27일 (수) 오후 9:43, Evan <seen...@gmail.com>님이 작성:
Spring boot + netty와 netty기반 webflux와는 큰 차이가 있을까요?

--
Google 그룹스 'Netty Korean User Group' 그룹에 가입했으므로 본 메일이 전송되었습니다.
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 netty-ko+u...@googlegroups.com에 이메일을 보내세요.

이규남

unread,
Feb 27, 2019, 9:18:33 PM2/27/19
to Netty Korean User Group
주노님의 말씀에 덧붙이자면 rx로개발하시면 db도 reactor용이 있으므로 같이 적용하시는게 더 좋을거라 생각됩니다.
굳이 spring boot + netty로 할 필요가 전혀 없죠.
개발 비용도 덜 들고 설정 및 사용하기도 편한 webflux로 개발하시는게 좋으리라 생각됩니다.

Evan

unread,
Feb 27, 2019, 11:19:13 PM2/27/19
to Netty Korean User Group
약간의 스터디는 필요하겠지만, WebFlux로 구축 해보겠습니다.
답변 주신 모든 분들에게 감사 드립니다. ^^
Reply all
Reply to author
Forward
0 new messages