로블록스는 2021년 10월 28일부터 10월 31일까지 73시간의 장애 대한 디브리핑을 하고 자사 블로그에 공개했습니다.
최근의 개선사항과 계획된 작업들 중 인상적인 내용 몇가지를 기록합니다.
모니터링 시스템 개선
모니터링 시스템이 메인 시스템 간 순환 종속성 제거했습니다.
메인 시스템 장애가 모니터링 시스템 장애로 이어졌고, 그로 인해 장애 원인를 찾을 데이터를 빠르게 확보할 수 없었음
장애의 주 원인(Consul and BoltDB) 모니터링 시스템을 확장했습니다.
서비스 시작과 설정 관리방식 개선
서비스 재시작 시 서비스에 필요한 캐시 배치, 웜업을 위해 서비스 복구가 느려졌습니다.
이 프로세스를 자동화하고 오류가 덜 발생하게 하기 위해 도구와 프로세스를 개발하고 있습니다.
특히 캐시 배포 매커니즘을 재설계했습니다.
개요
2월 19일(금) 23:22 ~ 2월 20(토) 19:00 까지 쿠키런: 킹덤 긴급 점검이 있었습니다.
원인
아마존웹서비스 장애로 인한 긴급 점검이라고 안내하고 있습니다.
특이사항
동일한 원인(AWS 도쿄 리전 장애)으로 의심되는 리그 오브 레전드의 경우 2월 20일 00:45 에 정상화되었는데, 왜 19:00 까지
점검이 지속되었는지 궁금합니다. 아마 서버 아키텍처의 유연성 차이 또는 데이터베이스의 HA 구성 차이일 것으로 짐작됩니다.
참고자료
쿠키런: 킹덤 긴급점검이 있었습니다. 접속자 수 증대와 함께 증가하는 부하를 개선했는데, 어떤 작업이 있었는지 궁금합니다.
개요
- 업데이트를 위한 점검(06:00~11:00)
- 점검 내용: 길드 시스템, 신규 쿠키 추가 및 오류사항 수정 등
- 15:00시 서버 안정화를 위한 긴급 점검 시작
- 22:00시 긴급 점검 완료
채용공고에서 흥미로운 부분
우대조건에 아래와 같은 내용이 있는데 어떤 마음인지 알 것 같습니다.
try-catch 와 null 에 현실자각타임이 오신 분
평소 흥미롭게 보던 기술스택이 있습니다.
언리얼 엔진의 UE_LOG 매크로는 컴파일 시점에 입력값의 오류를 검사하지 않습니다.
따라서 실행 중 로그를 기록하려다 의도하지 않은 동작(크래시 등)을 발생시킬 위험이 있습니다.
예)
FString temp;
UE_LOG(LogClass, Log, TEXT("%d, %s"), *temp);
_stprintf_s
언리얼 엔진 4
커스텀 네비게이션 시스템
박재완
jaewan.huey.park@gmail.com
목차
- 네비게이션 시스템 개요
- 왜 커스텀이 필요한가?
- 커스텀 네비게이션 데이터 구현 맛보기
- 참고자료
- Q & A
네비게이션 시스템
인공지능 에이전트가 경로 찾기를 사용하여
레벨을 탐색하는 기능을 제공

벽을 피해 목적지로 가고 싶다면?

그냥 사용하시면 됩니다
왜 커스텀이 필요한가?
이유 1.
특별한 연출
언리얼 엔진 4 에 내장 네비게이션은
recastnavigation 기반
일반적인 상황에서 잘 작동하지만
특별한 연출을 보여주기엔 아쉬운 부분들이 있음
언리얼 엔진 플러그인
박재완
jaewan.huey.park@gmail.com
플러그인
에디터 안에서 프로젝트 단위로
켜고 끌 수 있는 코드 및 데이터 모음
할 수 있는 일
- 런타임 게임플레이 기능 추가
- 엔진 기능 수정
- 새 에셋 유형 생성
- 에디터 메뉴, 툴바 명령 추가
엔진 시스템 중 일부도
플러그인으로 확장되어 있음
하고 싶은 일(오늘 해 볼 일)
데이터 테이블을 확장하여 좀 더 편하게 데이터 추출(json 또는 csv?)
작업 순서
- 새 플러그인 생성
- 데이터 테이블 확장 클래스 추가
- 팩토리 추가
- 액션 추가
- 팩토리에서 ConfigureProperties 가상함수 구현
- 액션에서 OpenAssetEditor 가상함수 구현
- 아이템 정보를 csv로 저장
- 에셋 저장시 csv도 자동저장
- 레벨 에디터 툴바에 버튼 추가
1. 새 플러그인 생성
Edit -> Plugins -> New Plugin
트랜잭션
몽고디비는 4.0버전(2018년)부터 여러 도큐먼트에 대한 트랜잭션을, 4.2버전(2019년) 부터는 샤딩된 컬렉션에 대한
분산 트랜잭션을 지원하고 있습니다.
여러 도큐먼트에 대한 ACID 트랜잭션 지원은 다양한 상황에서 개발자가 쉽게 대응할 수 있게 합니다. 스냅샷 격리수준과
아토믹한 실행은 샤딩된 클러스터에서도 트랜잭션이 필요한 워크로드를 제어할 수 있게 합니다.
- In version 4.0, MongoDB supports multi-document transactions on replica sets.
- In version 4.2, MongoDB introduces distributed transactions, which adds support for multi-document transactions on sharded clusters and incorporates the existing support for multi-document transactions on replica sets.
IMPORTANT: 대부분의 경우 멀티 도큐먼트 트랜잭션은 큰 부하를 일으키며, 효율적인 스키마를 대체하지 않아야 합니다.
대부분의 시나리오에서 비정규화된 데이터 모델(임베디드 도큐먼트 또는 배열)로 최적화 가능합니다.