Advertisement

On ly 2.0 project Review

embian
Aug. 18, 2015
Advertisement

More Related Content

Similar to On ly 2.0 project Review(20)

Advertisement

Recently uploaded(20)

On ly 2.0 project Review

  1. On-ly 2.0 Project 리뷰 (주)엠비안 양경모,이소은 2015.07.31 soeun@embian.com mo@embian.com
  2. 목차 0. On-ly 2.0 이란? 1. On-ly 2.0 History 1.1. On-ly 2.0 첫 미팅 1.2. On-ly 2.0 기획 1.3. On-ly 2.0 개발 2. On-ly 2.0 시스템 2.1. On-ly 2.0 System Architecture 2.2. On-ly 2.0 System 부분 별 상세 설명 3. On-ly 2.0 운영 3.1. AWS 구성 4. 산출물 2
  3. 3 0. On-ly 2.0이란? On-ly 소개 자료 https://prezi.com/z5dymyp27jfj/on-ly/
  4. 4 1. On-ly 2.0 History
  5. 1.1 On-ly 2.0 첫 미팅 5 1. On-ly 2.0 History On-ly 2.0 목표 설정 : On-ly 사용자 수를 늘리자. On-ly 2.0 아이디어 토의 후 필터링 작업 당시 제안 되었던 내용 a. 친구들과 데이터를 공유하자 b. 시간 달성시 알람을 주자 c. 게임 추천을 해주자 d. 게임 별 랭킹, 게임 순위를 보여주자. e. 공짜 item을 획득하게 해주자. . . . 총 17개의 Idea [On-ly 2.0 첫 미팅 회의 자료 중 일부] 2015.04.02 On-ly 2.0 첫 미팅 2015.05.08 On-ly 2.0 기획 2015.06.17 On-ly 2.0 개발
  6. 6 1.2 On-ly 2.0 기획 1. On-ly 2.0 History 1. Elasticsearch 데이터 사이즈 최소화 2. Facebook 연동 3. 내 게임 책장 4. 나와 내 친구는 (나는 게임 폐인 일까?, 나를 폐 인으로 만든 게임은?, 내 친구들이 하는 게임 은?) 5. On-ly 2.0 추천하기 6. 게임 상세보기 7. (일일/주간)목표 달성 알림 최종 Ideas 기획 [On-ly 2.0 기획 안 중 일부]On-ly 2.0 기획안 더 보기 http://www.slideshare.net/embian/on-ly2150617083348lva1app6891 2015.04.02 On-ly 2.0 첫 미팅 2015.05.08 On-ly 2.0 기획 약 1개월 2015.06.17 On-ly 2.0 개발
  7. 7 1.3 On-ly 2.0 개발 1. On-ly 2.0 History 최종 Ideas 개발 [최종 Idea를 반영한 On-ly 2.0 중 일부] 2015.04.02 On-ly 2.0 첫 미팅 2015.05.08 On-ly 2.0 기획 2015.06.17 On-ly 2.0 개발 약 1개월 1. Elasticsearch 데이터 사이즈 최소화 2. Facebook 연동 3. 내 게임 책장 4. 나와 내 친구는 (나는 게임 폐인 일까?, 나를 폐 인으로 만든 게임은?, 내 친구들이 하는 게임 은?) 5. On-ly 2.0 추천하기 6. 게임 상세보기 7. (일일/주간)목표 달성 알림
  8. 8 2. On-ly 2.0 시스템
  9. 9 2.1 On-ly 2.0 System Architecture 2. On-ly 2.0 시스템 GPTLog(Game Play Time Log): 안드로이드에서 수집되는 로그 GPTInfo(Game Play Time Info): API에서 제공하는 정보(데이터) System Architecture는 변하지 않았지만 기능이 추가 됨 기능 추가 1. Elasticsearch 데이터 사이즈 최 소화 2. Facebook 연동 3. 내 게임 책장 4. 나와 내 친구는 5. On-ly 2.0 추천하기 6. 게임 상세보기 7. (일일/주간)목표 달성 알림 [On-ly 1.0 System Architecture] [On-ly 2.0System Architecture]
  10. a. Agent - GPTLog(Game Play Time Log) 1분 마다 수집 , 5분마다 5건의 Log를 GPTLog Collector로 전송 [수집 되는 Log 정보 ] ex) 10 2. On-ly 2.0 시스템 {"key":"27a871ab-a75f-472f-a150-9f2d3e171302","appid":"com.supercell.clashofclans","ctimestamp":"2015-06-24T12:09:22.940+09:00","appversion":"44"} 2.3 On-ly 2.0 부분 별 상세 설명 Field Value Desc key UUID 27a871ab-a75f-472f-a150-9f2d3e171302 (128bit Universally Unique Identifier) appid package name com.supercell.clashofclans ctimestamp 수집 시간 2015-06-24T12:09:22.940+09:00 appversoin On-ly 버전코드 44 2.3.1 On-ly 2.0 안드로이드 앱
  11. a. MQTT(formely MQ Telementry Transport) - 라이트 메시징 프로토콜 - On-ly 시스템에서 역할은 GPTLog 수집 b. GPT(Game Play Time)Log Indexer - GPTLog를 데이터 사이즈 최소화 한 후 Elasticsearch에 기록 c. PlayStoreCrawler - Google Play Store에서 게임 정보 수집 - Redis에 저장된 unknown인 데이터를 Google Play Store에서 정보를 조회하여, Redis에 등록 및 Elasticsearch에 업데이트 11 2. On-ly 2.0 시스템 2.3 On-ly 2.0 부분 별 상세 설명 2.3.2 GPTLog Collector Field Value Desc key UUID 27a871ab-a75f-472f-a150-9f2d3e171302 (36 bytes string) appid package name com.supercell.clashofclans (avg. 26 bytes string) ctimestamp 수집 시간 2015-06-24T12:09:22.940+09:00 appversoin On-ly 버전코드 44 Field Value Desc key UID 165 (8 bytes signed integer) appid AID 3062 (8 bytes signed integer) @timestamp 수집 시간 2015-06-24T12:09:22.940+09:00 doctype category game appversoin On-ly 버전코드 44 [GPTLOG 데이터 사이즈 최소화 하기 전 ] [GPTLOG 데이터 사이즈 최소화 한 후 ] {"key":"27a871ab-a75f-472f-a150-9f2d3e171302","appid":"com.supercell.clashofclans","ctimestamp":"2015-06-24T12:09:22.940+09:00","appversion":"44"}
  12. 12 2. On-ly 2.0 시스템 a. Redis [Redis 데이터 구조도] - On-ly 1.0에서 저장하는 역할을 보다 빠르게 데이터를 가져 오는 것(Cache)이 필요했고 심플하고 사용하기 편한 Redis를 사용하게 됨. - Redis에서는 수집 된 앱 정보, 사용자 정보 관리 Prefix Key Value Type Value Desc app appid Strings 64bit signed Integer ID (AID) AID Hashes 게임 정보(id, name, icon url, desc) aid_incr Integer AID Autoincrement user UUID Strings 64bit signed Integer ID (UID) UID Hashes 사용자 정보(key, fid, week, daily, gcm, etc..) FID Strings 64bit signed Integer ID (UID) uid_incr Integer UID Autoincrement - app_set Sets Set of appid - unknown_set Sets Set of appid [Redis 데이터 구조 표] On-ly 2.0에서 새로 추가 2.3 On-ly 2.0 부분 별 상세 설명 2.3.3 Storage com.progimax.shotgun.free8e9ec614-403b-4c6f-ba86-191519dd8a8c
  13. - On-ly 시스템에서 쌓이는 로그는 거의 Search가 대부분이기 때문에 가장 성능 좋게 search할 수 있는 Elasticsearch 사용 - GPTInfo API에서 검색 - GPTLog Collector에서 데이터사이즈 최소화 된 GPTLog를 저장 13 2. On-ly 2.0 시스템 Field Value Desc _index index name only-YYYY.mm _type types logs _id index id _score score @version index version key UID 165 (64bit signed integer) appid AID 3062 (64bit signed integer) @timestamp 수집 시간 2015-06-24T12:09:22.940+09:00 doctype category unknown, game, sns, app appversoin On-ly 버전코드 44 Elasticsearch index과정에서 생성 [Elastcisearch에 기록되는 GPTLog] 2.3 On-ly 2.0 부분 별 상세 설명 2.3.3 Storage b.Elasticsearch {"key":"165", "appid":"3062", "@timestamp":"2015-06-24T12:09:22.940+09:00", "doctype":"unknown", "appversion":"44"}
  14. 2.3 On-ly 2.0 부분 별 상세 설명 14 GPTInfo(Game Play Time Info) API GPTInfo API 요청은, HTTP 요청으로 안드로이드 앱에서 Web API 서버로 요청하는 것을 의미 수집된 GPTLog를 기반으로 “일별 플레이 시간", “주별 플레이 시간”, “게임별 프레이 시간”, “친구의 게임 플레이 시간” 등의 GPTInfo를 추출하여 안드로이드 앱에 제공 총 17개 API 존재 2. On-ly 2.0 시스템 [GPTInfo API를 사용하여 디스플레이 된 UI 중 일부 ] 2.3.4 GPTInfo API
  15. 15 3. On-ly 2.0 운영
  16. 3.1 AWS 구성 16 AWS EC2(Amazon Elastic Compute Cloud) 3. On-ly 2.0 운영 AWS LVS GPTInfo API Elsasticsearch Instance Type: t2.medium Storage Size : 16GiB Only-01 GPTInfo API Elsasticsearch Instance Type: t2.medium Storage Size : 16GiB Only-02 GPTLog Collector Elsasticsearch Instance Type: t2.medium Storage Size : 16GiB Only-03 Redis Elasticsearch Cluster API SERVER QUEUE SERVER
  17. 17 4. 산출물
  18. 18 4. 산출물 a. 주니어 개발자의 On-ly 2.0 프로젝트 경험기 - 개발편 http://blog.embian.com/89 b. 주니어 개발자의 On-ly 2.0 프로젝트 경험기 - 기획편 http://blog.embian.com/87 c. On-ly 2.0 소개 문서 https://prezi.com/z5dymyp27jfj/on-ly/
  19. Thank you 19
Advertisement