본문 바로가기

마이크로서비스5

적절한 마이크로서비스를 도입하는 시기는 언제일까? 지난 해 9월 트레바리 테크유닛으로 이직을 결정하게 된 주요 이유 중 하나는 마이크로서비스를 직접 구축 할 수 있는 기회에 있었습니다.. 이 후 약 8개월이 지난 이 시점에 '적절한 마이크로서비스를 도입하는 시기는 언제 일까?' 을 고민하는 것은 뒷북일 수 있지만, 이제는 이 부분에 대해서 어느정도 답을 할 수 있는 시점이 아닐까? 싶어 고민하게 되었습니다. 1. 다우기술에 근무할 적 약 90만 라인이 자바 코드가 모듈형 모놀리스 아키텍쳐로서 운영되는 프로젝트를 약 2년 넘게 관리했었습니다. 이 방대한 코드 속에서 마이크로서비스가 말하는 모놀리스 아키텍쳐의 단점을 운이 좋게도 모두다 겪어볼 수 있었습니다. 약 2주에 한 번씩 배포 빈도를 가집니다. 코드가 심각하게 방대해, 도메인에 집중할 수 없어 스파게.. 2022. 7. 9.
Message Relay 를 PollingPublisher 방식으로 구현하기 이벤트 소싱을 하기 위해서는 트랜잭션 아웃박스 패턴을 구현해야 합니다. 당연히 트랜잭션 아웃박스 패턴에 대한 이해가 있어야 합니다. 다만, 해당 포스트에서는 자세한 트랜잭션 아웃박스 패턴을 다루지 않을 계획입니다. 다시 트랜잭션 아웃박스 패턴를 표현하는 위 그림에서 네모난 부분이 바로 메세지릴레이를 수행하는 곳입니다. 데이터베이스에 특정 데이터가 Insert 되면, 변경분에 대해서 MessageRelay 는 특정 데이터를 읽어 Message Broker 에게 전달한다. 이 때 MessageRelay 의 구현방식은 2가지가 있습니다. 1. Polling publisher 2. Transaction log tailing 1. Polling publisher 는 일정 주기마다 변경분을 조회해서 메세지를 전달하.. 2022. 6. 19.
Eventuate.io 간단 파헤치기 https://eventuate.io/ 요즘 일주일에 2시간이상의 시간을 들여, 학습 중인 프레임워크입니다. 해당 프로젝트의 저자는 마이크로 서비스 패턴 라는 이름의 책으로 출판되었습니다. 이 책을 발견하기 전에, 마이크로서비스에서 메세지 알고리즘을 좀 더 쉽게 쓸 수 없을까? 라는 물음표를 시작으로 Eventuate 프레임워크를 알게 되었고, 점차 MSA의 문제점을 해결하는 Eventuate에 매료되었습니다. 그럼, Eventuate는 어떤 프레임워크일까요? 모놀리식에서 MSA로 변경시 가장 문제가 되는 부분은 분산 데이터 관리 문제라고 합니다. 여기서 말하는 분산 데이터 관리 문제란? 각 마이크로 서비스에는 자체 개인 데이터베이스가 있습니다. 여러 서비스에서 데이터를 검색하는 쿼리뿐만 아니라 여러 서.. 2020. 10. 29.
오케스트레이션(orchestration)과 코레오그래피 (choreography) 배경 저에게 마이크로서비스라는 것은 익숙하지 않은 분야입니다. 그래서 마이크로 아키텍처 구축 이라는 책을 읽으며, MSA에 입문하던 중, 이전에 봤던 용어인데, 익숙하지 않아서 몰랐던 용어 2가지. 오케스트레이션과 코레오그래피에 대해서 이해해보려고 합니다. 위 2개 용어는 최근 관심가는 프레임워크 eventuate.io/을 이해하던 중에 나와서 이렇게 다시 정리해볼까 합니다. 앞서 말했던 eventuate.io/프레임워크는 약결합을 통해 Saga와 CQRS 를 해결하는 좋은 오픈소스라고 판단되, 학습중에 있습니다. 어느 정도 정되면 포스팅 하겠습니다. 위 다이어그램을 활용해 오케스트레이션과 코레오그래피를 설명하겠습니다. 오케스트레이션 오케스트라 지휘자처럼 프로세스를 안내하고 구동하는 하나의 중앙 두뇌에 .. 2020. 10. 17.
마이크로서비스란? 해당 내용은 마이크로서비스 아키텍쳐 구축 책의 내용을 일부분을 정리한 포스트입니다. 들어가기 제가 근무하는 회사에서는 여전히 모놀리틱으로 구축되어 있고, 아직도 기억이 생생합니다. 근무중인 회사에서 인턴 당시, 어떤 팀장님께서 저를 시험하듯이 이런 질문을 했던적이 있었습니다. "마이크로서비스의 반대가 무엇인지 아는가?" 모놀리틱이라고 대답해서 칭찬을 받았었는데, 지금 생각해보면- 조금 기분이 언짢은 질문이라는 생각이 든다. 지금의 회사에 근무한지 2년이 지난 시점에 단, 한번도 MSA를 접해본 적도 없고, 이해하기 위한 노력이 필요하지 않았습니다. 그러나, 점차 서비스 개발 양상이 MSA로 번지고 있고, 이제는 커다란 줄기를 형성하고 있다고 생각했습니다. 그래서 주변에 추천을 받아 마이크로서비스 아키텍쳐.. 2020. 9. 30.