2019. 8. 18. 11:33ㆍIT/파이썬
사용자의 다양한 환경에 작동하는 것을 확인하기 위한 로깅.
하이퍼 커텍트
Ai기술을 바탕으로 새로운 사람을 연결하는 기능.
최근에 하쿠나는 1인 방송 서비스도 하고 있는데 좀더 쇼셜 기능을 추가.
시청자 1명을 초대하여 방송할 수 있는 스트리밍
성장
azar 매출은 점점 커져 2019년 전세계 5위까지!
그 원동력은 기술력
WebRTC를 최초로 사용화.
- 전 세계 어디서든 영상 통화 가능.
- 더 안정적 낮은 가격의 인프라
지금은 사진을 통해 이미지를 바꿔주는 기능을 시연중(예 아이유)
데이터를 직접 전송하지 않고 기기상에서만 돌아감.
개요
다양한 피쳐들을 적용하고 있고, 유저 행동을 분석하기 위한 데이터 파이프라인.
파이썬 기반의오픈소스를 사용하고 있어.
또한 데이터 전처리, 머신러닝에서 텐서블로우를 사용
수많은 앱들도 있지만, 대부분이 파이썬 백엔드로 개발중.
앞으로도 파이썬으로 개발 예정
회사 복지도 좋음
Azar WebView Logging
이준형 팀장 발표
로깅의 중요성
로깅의 중요성
점점 증가하는 개발 복잡도, 그에 반에 로깅을 제대로 하고 있지 않다!
문제점
장애가 나서 로그를 보려고 ssh접속하려고 하는데 안됨.
확인해보니 메모리가 부족. 다시 볼륨을 늘리고 보면 로그 데이터가 용량을 차지하고 있어.
ssr입장에서는 클라이언트 정보를 알 수 없어. 그래서 장고에서도 유저 정보를 알수 없어.
당연히 azar에서 에러가 나면 어떤 사용자가 어떤 경로를 요청했는지 알 수 없다.
목표
1. 로그를 중앙화
2, 모든것을 로깅
- 로깅만 보고 해결할 수 있도록
3. 커스텀 헤드 활용
- 이걸 통해 트랜잭션 레이어 구성 가능
- 유저 정보를 전달
4. TX 레이어 로깅
모든 것을 로그
세팅정보, 요청 정보 , 비전 같은 것은 마스킹 처리
심지어 로컬 환경에서도 로깅하는데, 디버깅에 사용하기 위함.
서버 유저로 구분하여 사용자별로 구분하여 처리.
인바운드, 아웃바운드 도 전부 로깅
커스텀 헤더
POST 바디 사용하다 헤더로 이둉
네트워크 의존성을 제거
통계적인 기능
- 파편화가 심한데, 의사결정하는 것은 다 수집하는 것이 좋다는 판단
- 정보 의존성 제거
트랜잭션 레이어
각 단계별 레이어를 추가. 헤더 값을 계속 포워딩을 함.
이 정보를 저장해서 로깅 정보를 통해 파악 가능
장고 로깅
requst_finsished 시그널을 사용
리퀘스트 라이브러리를 많이 사용하는데 타임아웃 옵션을 적용
예외처리를 통해 정상적으로 처리
케이스별로 따로 따로 처리 가능
개선점
디버깅 시간이 극적으로 줄어듬
문제를 정확히 파악 가능
장애 대응에 큰 도움이 됨,
타 팀과의 의존성이 많이 제거됨
배운점
로깅은 정말 중요하다.
TMI 설정은 필요없어 보이지만 디버깅시 유일한 희망
로깅 전략은 프로젝트 매우 초기에 해야 한다.
우리팀이 할 수 있는 것은 우리팀이 하자.
'IT > 파이썬' 카테고리의 다른 글
[파이콘] 윤소영 - 실시간 의료 인공지능 데이터 처리를 위한 Django Query Optimization (0) | 2019.08.18 |
---|---|
[파이콘] 이홍주 - 집에서 만든 머신러닝 기반 자동번역기 (NO 딥러닝) (0) | 2019.08.18 |
[파이콘] 최규민 - 추천시스템, 이제는 돈이 되어야 한다. (0) | 2019.08.18 |
[파이콘] 테스트에 걸리는 시간을 *92%* 줄이기 (0) | 2019.08.17 |
[파이콘] 고득녕 - 엔터프라이즈급 네트워크 운영 관리 (0) | 2019.08.17 |