온라인 청년센터 활용법실시간 상담청년정책 정보 검색무료 이용 공간(23614업데이트)

온라인 청년센터 활용법실시간 상담청년정책 정보 검색무료 이용 공간(23614업데이트)

NodeJS 기반으로 이것 저것 해보려고 알아보던 중, Unity 기반으로 멀티플레이로 뭔가 검증 해 볼 것이 있어 Firebase 기반의 Unity 연동에 관해 알아보고자 합니다. 일단은 Firebase에서 제공되는 튜토리얼을 한번 살피어 보도록 하겠습니다. 제공되는 샘플 앱MechHamster도 있는데, 나중에 막혀서 필요하면 보기로 하고, 일단은 튜토리얼 따라서 한번 해보도록 하겠습니다. Unity용 SDK 받기 Unity용 SDK는 unity package 형태로 되어 있으며, Firebase에서 제공되는 여러 서비스별로 분리 되어 있습니다.

SDK는 압축 파일로 되어 있었으나 다운로드 받아 압축을 풀면 여러 개의 Firebase 서비스별 unity package가 보입니다.


Unity 프로젝트 생성
Unity 프로젝트 생성


Unity 프로젝트 생성

New project로 새 프로젝트를 만듭니다. 프로젝트 템플릿은 Firebase와 직접 연관이 없고, Firebase와 연동하여 구현 할 Unity application의 성격을 고려하여 템플릿을 선택합니다. 저는 여러 개의 오브젝트가 한 공간 내에 돌아다니는 application을 만들 것이라 3D 템플릿을 선택 합니다. SDK를 설치하기 전의 상태는 아래와 같습니다. 순서가 좀 애매합니다만, 갑자기 Firebase Project 생성으로 넘어가 보겠습니다.

요청응답 파생 패턴 확장
요청응답 파생 패턴 확장

요청응답 파생 패턴 확장

앞서 얘기한 대중대중교통 상황과 내비게이션 건조 예제에서 요청응답 파생 패턴을 사용하면 수평 확장이 정말 잘 동작합니다. 잘동작하는 이유는 2가지인데, 첫번째는 클라이언트에서 요청을 할 때 상태state 정보가 없습니다.는 점입니다. 즉, 클라이언트는 실행되고 있는 임의의 서버에 요청을 날리면 됩니다. 두번째는 상태를 저장하지 않는다는 특성으로 인해 현재 실행 중인 서버에 특별한 작업 없이 신규 서버를 쉽게 추가하면 됩니다.

이같이 비상태기반stateless 서버 증가 방식은 아마존과 같은 클라우드 기반 서비스에 아주 널리 사용됩니다. 이런 클라우드 서버 호스팅 업체들은 리소스 사용량에 따라 서버 대수를 늘리거나 줄일 수 있는 오토 스케일링 기능을 제공합니다. 수평 증가 특징을 가지기 위함뿐만 아니라 언제든 차량으로부터 요청을 받을 수 있도록 서버 또한 비상태기반으로 만든다.

윈디로 실시간 태풍 보는 방법

저장한 하트 지역 누르시면 상세 정보가 시간, 기온, 비, 바람, 돌품, 풍향 순으로 나옵니다. 태풍 때는 여기서 바람과 돌풍을 유의해서 보면됩니다. 바람은 평소 부는 바람이 불어오는 초속이 나오고, 돌풍은 순가적으로 세게 부는 바람이 불어오는 초속이 나옵니다. 돌풍이 지속해서 계속 되면 간판이 날아가거나, 현관문이 날라가는 등의 피해가 생깁니다. 서울을 기준으로 8월 10일 한반도를 관통 예정인 태풍의 돌풍을 확인해봤더니, 20ms이 나옵니다.

실시간으로 반영되기 때문에 수치는 조금 바뀔 수 있습니다. 하단에 표시방법 ”기본”을 변경하여 윈디 예보 모델 4개의 풍속을 비교해서 확인 가능합니다. ”Meteog”를 누르시면 설정된 예보모델에 따라 hPa 기압을 제공하기도 합니다.

체크포인팅

체크포인팅의 경우 수많은 문서들에서 체크포인팅 기반 프로토콜을 설명하지만, 공통적인 두가지 특징이 있습니다. 전역 스냅샷Global snapshot 수집 단계의 상태 뿐만 아니라 시스템 전역 상황에 대한 스냅샷을 주기적으로 특정 저장소에 저장 데이터 유실 가능성Potential for data loss 가장 요새 기록된 전역 상태까지 복구할 수 있도록 합니다. 해당 지점 이후에 처리되고 제작된 모든 메시지는 유실된다 전역 스냅샷 특징은 우리들이 자주 사용하는 문서 편집 소프트웨어인 마이크로소프트 워드 혹은 구글 독스의 자동 저장 기능에서 전역 상태 저장의 예시를 확인할 수 있어요.

스트리밍 시스템에서 내결함성을 구현하기 위해 체크포인팅을 사용할 때는 2가지를 염두해 둬야 합니다.

데이터 검색

데이터는 직접 조회GetValueAsync 하거나 이벤트를 연결하여 이벤트 발생 시 공지 되도록 합니다. 조회도 비슷하게 데이터베이스 레퍼런스를 통해 처리 합니다. 이벤트를 통하면 지정 된 경로 하위 모든 데이터의 변경에 대한 통지를 받으니, 좋은 수준을 잘 유지해야 겠습니다. 리더보드 점수 검색의 예 입니다.

자주 묻는 질문

Unity 프로젝트 생성

New project로 새 프로젝트를 만듭니다. 좀 더 구체적인 사항은 본문을 참고하시기 바랍니다.

요청응답 파생 패턴 확장

앞서 얘기한 대중대중교통 상황과 내비게이션 건조 예제에서 요청응답 파생 패턴을 사용하면 수평 확장이 정말 잘 동작합니다. 궁금한 내용은 본문을 참고하시기 바랍니다.

윈디로 실시간 태풍 보는

저장한 하트 지역 누르시면 상세 정보가 시간, 기온, 비, 바람, 돌품, 풍향 순으로 나옵니다. 궁금한 내용은 본문을 참고하시기 바랍니다.

Leave a Comment