Category Archives: Games

LINE Game AirBorne DataCenter 소개

지난 “Spark, Mesos, Zeppelin, HDFS를 활용한 대용량 보안 데이터 분석” 글에 이어, 이번에는 LINE 게임 보안개발실에서 개발한, AirArmor1로부터 발생되는 탐지 정보를 실시간에 가까운 처리를 하기 위해 사용한 클라우드 기술과 스트리밍 처리 기법을 소개합니다.

1: LINE Game 보안개발실에서 개발하여 LINE 게임(LINE Game)에 적용 중인 모바일 게임보안 솔루션의 명칭

AirBorne DataCenter & Mesos (with DC/OS)

Apache Mesos를 기반으로 보안 데이터를 분석하는 전체적인 구성을 AirBorne DataCenter라고 부르고 있습니다. 구성에는 Big Data를 처리하기 위한 Kafka, Spark, Elasticsearch, Hadoop, Zeppelin, Spring 등의 오픈소스를 포함하고 있습니다.

도입 배경

2015년 초에 시작된 AirBorne은 Mesos 기반의 Spark를 주로 사용하며, 조회 및 시각화를 위해 Zeppelin과 Spring을 사용하여 대량의 데이터를 빠르게 조회하는 목적으로 만들었습니다. DBMS로 처리하기 어려운 대량의 데이터를 처리하는 용도, JSON 형식의 대량의 DB 데이터와 로그 데이터를 처리하는 용도 등 불가능하거나 어려웠던 부분을 해결할 수 있었고, 점차 사용성 및 분석 유형이 증가하여 물리적인 node의 확장과 각 endpoint의 모니터링과 같은 자동화의 필요성, 편리한 사용성, 안정성 등의 요구사항이 지속적으로 발생하였습니다.

특히, 주기적인 데이터의 처리 외에도 실시간 데이터 처리를 통해 즉각적인 알림을 받고 변화량을 관제할 수 있는 형태의 업무의 필요성이 발생하였습니다.

이러한 업무 환경의 변화로 AirBorne DataCenter의 구조를 추가 설계하였고 실시간 처리에 대한 새로운 영역을 추가하게 되었습니다.

Cocos2d-x에서 물리 연산 성능 최적화를 위한 멀티 스레드 병렬처리 기법

안녕하세요. LINE에서 모바일 게임을 개발하고 있는 김선태입니다. 이번 글에서는 오픈소스 모바일 게임엔진 중에서 전세계 시장 점유율 25%로 1위를 차지하고 있는 Cocos2d-x의 멀티 스레드 병렬처리 기법을 소개하고자 합니다. 기존에 싱글 스레드 기반으로 동작하는 물리 연산을 멀티 스레드 기법을 적용하여 병렬 처리를 함으로써 구조를 개선하고 성능을 향상시키는 방법에 대해서 설명하겠습니다.

멀티 스레드 기반의 물리 연산 병렬처리 구조 설계

먼저 멀티 스레드 기반의 물리 연산 병렬처리 구조를 설명하기 전에 기존 싱글 스레드 기반의 Cocos2d-x 업데이트 루프부터 설명하겠습니다.