Article

금융서비스 Redis 적용기- Read, Write, Transaction 과 Event Strategy
안녕하세요, FINDA 현금흐름 PG 백엔드 개발자 김형래 입니다.이번 글에서는 현금흐름 PG 의 금융서비스 안에서 Redis 를 이용해 Read, Write, Transaction 과 Event Strategy 가 무엇인지를 살펴보고 실무에서 어떻게 적용했는지 알아보도록 할게요! Redis Cache Strategy 란 ? Redis Cache Strategy 는 웹 서비스 환경에서 시스템의 성능을 향상시킬 수 있는 중요한 기술입니다. Cache 는 RAM 을 사용하기 때문에 DB(Database) 보다 더욱 빠르게 데이터를 응답할 수 있어 사용자에게 빠른 서비스를 제공합니다. Cache 를 이용할 경우, 반드시 데이터 정합성이라는 문제를 만나죠!데이터 정합성이란, 데이터가 Cache 와 DB 사이에서..

금융서비스 MSA 전환기- 서버 간 비동기 메시지 기반 통신 처리(3편)
안녕하세요, FINDA 현금그로스 PG 자산/신용관리 PT 백엔드 개발자 김형래 입니다. 이번 글에서는 자산/신용관리 PT 에서 대량 트래픽에서 운영 서비스에 유입되는 트래픽을 원활이 처리하기 위해서 서버 간 메시지를 정의해서 비동기로 처리했던 프로젝트에 대해 알아보도록 할게요! 왜 비동기 처리를 선택했나? 이전 글에서 다뤄본 CircuitBreaker 로 대량 트래픽 처리 시, 해결되지 않는 부분이 존재했습니다. CircuitBreaker 는 온전히 트래픽 유입을 조절하는 부분에 초점이 맞추어져 있습니다. 그러나, 내부 서비스들 간의 통신에서 Latency 가 오래 걸리는 API 가 있고, Thread 를 더욱 안정적으로 사용하기 위해서는 다른 방법을 강구해 봐야 한다고 판단했습니다. 실제 FINDA ..

금융서비스 MSA 전환기- BFF 와 CircuitBreaker 적용(2편)
안녕하세요, FINDA 현금그로스 PG 자산/신용관리 PT 백엔드 개발자 김형래 입니다. 이번 글에서는 자산/신용관리 PT 에서 기존 서비스를 Frontend 에 서빙하기 편리한 구조인 BFF(Backend For Frontend) 와 대량 트래픽에서 운영 서비스에 유입되는 트래픽 조절을 위한 CircuitBreaker 적용에 대해 알아보도록 할게요! 왜 BFF(Backend For Frontend) 서비스를 필요로 할까요? BFF 패턴 간단히 말하면, Frontend 를 위한 Backend 서버를 말합니다. BFF 패턴이 생겨난 이유는 다양한 디바이스 장치가 생겨나면서 각각의 환경에 맞는 UI 가 필요해졌기 때문입니다(WEB, Mobile, Watch, Tablet 등). 같은 서비스라도 사용하는 디바..

금융서비스 MSA 전환기 - DB 분리(1편)
안녕하세요, FINDA 현금그로스 PG 자산/신용관리 PT 백엔드 개발자 김형래 입니다. 이번 글에서는 자산/신용관리 PT 에서 기존 및 신규 서비스를 MSA(Micro Service Architecture)로 전환하는 첫 단추를 끼우는 작업에 대해 알아보도록 할게요! 왜 기존 서비스를 마이크로 서비스(MSA) 로 전환해야 할까요? Why 를 팀원 들과 논의하게 된 시점은 KCB 의 금융명의보호 서비스를 개발하면서 시작되었어요. 금융명의보호 서비스(이하 금명보 서비스)는 아래와 같아요. 이 서비스에 가입해 두면 누군가가 자신 몰래 카드를 신규 발급받거나 카드론 등을 신청할 경우 곧바로 ‘알림 정보’가 옵니다. 아예 금융사가 자신의 신용정보를 조회하지 못하도록 ‘차단’ 기능을 설정할 수도 있습니다. 피해 ..