세미나, 영상 요약정리
-
토스 - SLASH 22 - 토스뱅크의 완전히 새로운 대출 시스템세미나, 영상 요약정리 2023. 9. 15. 00:01
https://www.youtube.com/watch?v=SLamxuykpnw 토스뱅크에서 대출서버 Server Developer 민재슬님의 발표를 듣고 정리해보고자 합니다. 전통 금융 회사의 아키텍처 전통금융회사는 비즈니스 로직이 계정계라 불리는 모놀리식 코어뱅킹에서 구현됩니다. 채널계라 불리는 서비스 서버의 역할을 사용자와 연계하여 제품을 사용하는 게 필요한 요청과 응답을 코어 뱅킹 시스템의 전문 규격에 맞추어 변환하고 전달하는데 중점을 두고 있습니다. 모놀리식서버의 단점으로 신규 제품 개발에 더 많은 시간이 소요되게 됩니다 (분석을 위해..) 토스 뱅크의 아키텍처 마이크로서비스의 장점을 가져와서 서비스서버와 코어뱅킹서버를 각각 독립된 API 서비스로 정의하여 독립된 서비스가 비즈니스 로직을 처리할 ..
-
알림 서비스로 시작하는 서버 개발세미나, 영상 요약정리 2023. 9. 10. 00:01
https://www.youtube.com/watch?v=CmTO68I2HSc 개요 if(kakao) 2022 발표에서 카카오뱅크의 김민수 님의 발표인 알림 서비스로 시작하는 서버 개발을 요약해보고자 합니다. 카카오뱅크의 알림 이체, 카드 사용, 광고 등의 이벤트 발생 시 알림을 생성하였습니다. 카카오뱅크에서는 알림 시스템을 어떻게 만들었을까요? 카카오뱅크의 알림 시스템 V1 현재 아키텍처는 알림 생성과 조회를 담당하는 알림 서버의 구조입니다. 하지만 이체나 카드 사용량이 많아져 알림 생성에 부하가 걸린다면 어떻게 될까요? 알림 서버의 CPU 사용량이 100%에 가까워지거나 스레드가 고갈될 수 있습니다. 이렇게 되면 알림생성으로 발생한 장애가 알림 조회까지 전파가 됩니다. 카카오뱅크의 알림 시스템 V2 ..
-
Spring Camp 2023 - 대규모 엔터프라이즈 시스템 개선 경험기 - 1부세미나, 영상 요약정리 2023. 8. 27. 00:01
https://www.youtube.com/watch?v=UwAoUshVpgM 임형태 님의 발표를 요약해보고자 합니다. 흔히 발생할 수 있는 상황 장애, 코드리뷰등의 두려움을 매 순간 개발자가 극복해야 합니다. 유지보수성이 중요합니다. 이때 유지보수성이란 두려움, 주저함, 저항감 없이 코드를 변경할 수 있는 능력입니다. 전통적인 시스템의 높은 결합도 데이터베이스 공유 무결성과 공유의 책임을 DB에 위임 조직이 성장하여 특이점을 넘어서면 기술 부채가 급증됩니다. 수정하기가 두려워서 유사한 필드, 유사한 칼럼이 추가되는 경우가 시그널이다. 행위 중복 소스코드 1개 & API N개 이메일 유효성 검사 1개, 이메일 입력 API 5개 이러면 이메일 유효성 검사를 수정하면 API를 5개 검증해야 합니다. 소스코드..
-
토스 SLASH 23 - Kafka 이중화로 다양한 장애 상황 완벽 대처하기세미나, 영상 요약정리 2023. 8. 20. 00:01
https://www.youtube.com/watch?v=Pzkioe7Dvo4 토스증권의 Data Engineer인 강병수 님의 발표를 요약해보고자 합니다. 대주제 : IDC 장애가 발생한 상황에 서비스를 지속할 수 있는 방법 토스증권 Kafka 활용 현황 거래서 정보, 체결가, 서비스 간 통신 및 비동기처리, 로그, cdc 등 매우 다양하게 kafka를 활용하고 있습니다. 실시간으로 발생하는 로그를 필요에 맞게 변환하기 위해 스트리밍 프로세싱 플랫폼이 필요한데 ksqlDB를 적극적으로 활용하고 있습니다. 위와 같이 핵심이 되는 부분이 kafka를 통해 이루어지기 때문에 kafka는 시스템에서 막중한 임무를 가지고 있습니다. Kafka 이중화 목적 Kafka Cluster 내의 일부 노드 장애 -> 가용..
-
토스 SLASH 22- 애플 한 주가 고객에게 전달 되기까지세미나, 영상 요약정리 2023. 7. 30. 00:01
https://www.youtube.com/watch?v=UOWy6zdsD-c 토스증권 서버 개발자 이승천 님의 발표를 요약해 보겠습니다. 해외주식 아키텍처 게이트웨이, 채널계, 해외원장, 국내 원장로 구성되어 있습니다. 대부분의 증권사들의 원장계는 C 기반 모놀리틱으로 구성되어 있지만 토스증권은 MSA 기반으로 구성되어 있습니다. 토스증권은 한국법인으로 나스닥과 같은 현지 거래소와 직접 거래할 수 없습니다. 따라서 브로커를 통해 주문을 제출하게 됩니다. 매매 서버 -> 매매 요청 서버 -> 브로커에게 전달 -> 브로커는 현지 거래소에 요청 체결 수신 서버 -> kafka를 거쳐 매매서버에서 처리가 이루어집니다. 매매 요청서버와 체결 수신서버가 별개로 이루어진 이유는 나중에 밝힙니다. 동시성으로부터 고객..
-
How to use Spring Cloud Dataflow - 이세왕세미나, 영상 요약정리 2023. 7. 26. 00:01
https://www.youtube.com/watch?v=awIHq5CyxPg 라인플러스의 이세왕님의 발표를 요약해 보면서 Spring Cloud DataFlow에 대해 알아보고자 합니다. 주요 내용 Spring Cloud Dataflow란? 실무에서 어떻게 사용되는지? Spring Cloud Dataflow란? 데이터를 Function 단위의 Application으로 파이프라인을 구성할 수 있게 함 Batch, Stream을 구성하는 application과 application 간의 Channel을 관리해 줌 kafka로 예시를 들면(topic, group, partition 등을 관리) Target Platform에 따라 application을 배포해줌 실행하기에 필요한 플랫폼들 docker dat..
-
Batch Performance 극한으로 끌어올리기: 1억건 데이터 처리를 위한 노력세미나, 영상 요약정리 2023. 5. 31. 00:01
https://if.kakao.com/2022/session/65 if(kakao)dev2022 함께 나아가는 더 나은 세상 if.kakao.com 카카오페이 정산플랫폼팀의 베니님의 발표를 요약해보고자 합니다. 발표에서 다루고자 하는 내용 대량 데이터 read 데이터 Aggregation 처리 대량 데이터 write batch 구동 환경 대량 데이터 처리 방식 총정리 개발자들은 언제 Batch를 사용할까? 특정 시간에 많은 데이터를 일괄 처리하는 경우 특정 시간에 상품 주문 배송 정보를 고객에게 문자로 일괄 전송하는 경우 서버 개발자는 Batch로 개발해서 16시에 스케줄을 걸어놔야겠다고 생각합니다 일괄 생성 READ -> CREATE -> WRITE 기존의 정보를 조합하여 새로운 정보를 만들어낼 때 일..
-
유지보수하기 좋은 코드를 구현하는 방법 - 박재성(자바지기)세미나, 영상 요약정리 2023. 5. 17. 00:01
유지보수하기 좋은 코드를 구현하는 역량과 개발 문화 어떻게 만들 것인가? - 박재성(자바지기) 달리는 마차에 바퀴를 갈아끼는 것은 고통스럽고 힘든 일일 수 있지만 중요하다. 맹목적으로 믿는 것이 가장 위험하다. 항상 의심하는 습관을 들인다. 변화는 어떻게 만들 것인가? 회고문화, 코드리뷰문화 문화등을 어떻게 만들것인가 개인의 변화를 만들어 성장하고 다른 사람들에게 영향을 미치도록 하자. 하지만 개인의 변화는 어렵고 다른 사람들을 변화시키는 것은 훨씬 어렵다. 개인의 변화 의지력이 아닌 환경이 중요하다 ex) 꾸준히 학습에 투자하고 싶다 -> 퇴근 후 스터디 카페로 퇴근한다. 투자 -> 비싼 교육, PT 사회적 압력 - 공개적인 약속 책임감 - 리더, 아이 등 의식적인 연습 치아를 닦는 것을 계속한다고 해..