1부터 새로운 은행 설립에 필요한 기술(Monzo 공식 블로그)


아이구


올해 (2016년) 8월 10일 영국에 새로운 은행이 탄생했다.
영국 금융 당국 "Monzo Bank Ltd"을 제한적으로 승인합니다.2015년 2월 설립 이후 다른 카드사와 제휴해 선불카드를 발급해 한정된 고객에게 스마트폰 등을 통해 즉시 이용 상황을 확인할 수 있는 서비스를 제공하고 있으며, 향후 당국과의 조정을 추진해 2017년 상반기를 목표로 은행 업무를 시작하기 위한 준비를 진행할 예정이다.

기술적 요소


과거 Uber에서 경쟁하던 Hailo와 영국의 온라인 가라오케 서비스 등에서 엔지니어로 일했고, 현재는 Monzo의 Head of EngineeringOliver Beattie 씨가 공식 블로그에'Building a Modern Bank Backend'라는 제목으로 기술적 요소에 대해 설명하고 있어 그 내용을 간단히 소개한다.

마이크로 서비스 체계 구조


세계 각국에 24시간 서비스를 제공하기 위해서는 야간 대량은 불가능하다.SPOF도 제외해야 합니다.또한 각국의 각종 사용자의 요구에 유연하고 즉각적으로 대응하고 확장 가능한 수요를 위해 처음부터 마이크로서비스로 설계했다.베타 버전이 시작될 때 100개의 서비스가 있었고 현재 150개의 서비스가 실행 중이다.

클러스터 관리


군집 관리는 내결함성과 확장성을 확보하는 데 매우 중요하다.과거에는 Mesos, Marathon을 사용했지만 최근에는 CoreOS의 Kubernetes로 전환했습니다.인프라 시설의 원가가 4분의 1에 이르렀다.

다양한 언어 지원


낮은 지연 시간 등으로 인해 주로 Go 언어를 사용하지만 전문화되고 기원된 각종 해결 방안을 이용하고 다양한 개발자를 유치하기 위해 다중 언어의 대응이 중요하다.Docker는 서비스를 봉인할 수 있지만 여러 언어로 공공 라이브러리를 관리하는 것은 매우 어렵기 때문에 공공 코드 자체를 서비스로 독립화한다.RPC를 통해 분산 잠금을 가져옵니다.앞으로 DB, 메시지 대기열 등'공동 인프라'를 모두 서비스로 제공하겠다는 구상이 있으며, 현재는 자바, 파이썬, 스칼라에서 서비스 개발을 진행할 수 있다.

RPC


여러 언어 간의 연결은 표준 라이브러리가 갖춰진 HTTP가 가장 좋지만 튼튼한 마이크로서비스를 구축하는 데 다음과 같은 과제가 존재한다. 연구 결과는Finagle과linkerd를 이용하고 있다.
  • 로드 밸런싱
  • 자동 재시도
  • 접속 풀
  • 라우팅
  • 비동기 메시지 전달


    아래의 이유로 Kafka를 이용합니다.다른 메시지 대기열과 달리 분포식 제출 로그의 구조입니다.
  • 고가용성: 수신 측의 상태(고장 등)와 상관없이 발송 측은 한 번만 발송하면 된다.
  • 확장 가능: 서비스 중단 없이 수평 배포 가능
  • 무결성: 노드가 없어져도 데이터가 사라지지 않습니다.수신자가 죽어도 재발할 수 있다.
  • 중복성: 과거 어느 시점에서 메시지를 다시 보낼 수 있음
  • 1회 "이상"배송 보증: 반드시 배송 정보.여러 개의 전송을 완전히 방지하기는 어렵지만 보통 한 번만 보내야 한다.
  • 일본어


    '공룡'은행에 싫증나? -벙커 같지 않아 29살에게
    드디어 런던에서 탄생한'응용은행'의 세계 - 화폐 공격수 공식 블로그

    참조 페이지


    https://en.wikipedia.org/wiki/Monzo_(bank)
    https://monzo.com/blog/2016/08/11/we-are-now-a-bank/

    좋은 웹페이지 즐겨찾기