작성
·
7
답변 1
0
안녕하세요. DongJu Yoo님,
완강후 2회차 실습까지 ... 감사합니다.~
추가적으로 실무에서 알아 두시면 도움이 될만한것 중에서 운영 관점에서 몇가지 말씀드리겠습니다.
배포 자동화(CI/CD)
실시간 멀티플레이 게임은 그 특성상 패치 주기가 짧습니다. 따라서 CI/CD 구축해 자동 빌드 및 배포 환경을 갖추는 것이 중요합니다. 기존의 Github Actions, 젠킨스 같은 경우 유니티의 특성과는 다소 거리가 있기에 유니티에 특화된 Cloud Build기능을 학습하시는 것도 좋습니다.
모니터링 및 로깅
Netcode 자체만으로는 세션 상태나 네트워크 품질을 추적하기 어렵습니다.패킷 손실, 지연(RTT), 서버 상태를 실시간으로 점검하는 것이 필요합니다. UGS의 Analytis(또는 AWS CloudWatch)의 활용법을 배우시면 좋겠습니다.
확장성있는 설계 vs 확고한 설계
초기에 룸 기반 구조(Relay)로 시작하고, 유저 수가 늘어나면 전용 서버(Dedicated Server) 구조로 전환한다는 전략을 세울수 있습니다. 하지만 그 구조를 변경하는 것이 쉽지 않습니다. 더군다나 라이브 상태에서는요. 저 개인적으로는 처음부터 Relay방식으로 갈지 아니면 데디 방식으로 할지를 처음 부터 확실하게 결정하고 설계 및 구현하시길 권해드립니다.
개발환경 분리
물론 깃으로 코드를 관리하시겠지만 운영 전에 반드시 개발 코드를 개발–릴리즈(스테징)–라이브 환경을 철저하게 분리하시고, 트래픽 테스트를 거치는 것을 추천드립니다.
그리고 Unity 6 이후에는 UGS와 NGO의 통합성이 좀 더 강화되어 운영 환경 설정이 훨씬 간편하고(?) 단순해졌습니다. 특히 대시보드에서 다양한 모니터링과 기능이 계속 강화되고 있기에 예전보다 편리해졌습니다.
실습 잘 진행하시고 좋은 성과 있으시길 기원합니다.