본문 바로가기
728x90

Architecture4

멱등성 이란 ? idempotent 멱등성이란 무엇인가?: 연산을 여러번 적용하더라도 결과는 달라지만 안된다! 이게 무슨 말인가?아래와 같은 상황이 있다고 가정해보자 1. 사용자의 클릭 따닥!(한번 클릭을 했음에도 불구하고 실수 또는 화면변화가 없어 확인차 한번더 클릭을 하는 경우)2. MQ 의 사용으로 crash(충동) 이 났을때 위의 두경우 백엔드 서비스 로직에서 한번만 실행되어야하는 로직이 2번 이상 요청이 되어질 수 있다.이때, 동일한 요청에 대해 처리 되었을 때 이를 중복으로 간주하고 "한번만 실행되도록 하는 것이 바로 멱등성"이란 것이다! 그럼 어떻게 적용을 할 것인가? Transaction Id 와 같은 값을 할당해서 이게 중복요청임을 알려야한다. 기존 로직에서 이미 동일한 Transaction Id 가 있을 경우, 로직을 타.. 2025. 2. 18.
아키텍처 및 시스템 설계 by CTO 개발을 할때 가장 처음 하는 일이 있다.- 기획 리뷰- 요구사항 분석- 그리고 시스템 아키텍처 설계 이다!!! 기획 리뷰, 요구사항 분석은 CTO가 아니더라도 대부분의 애자일한 조직에서 개발자가 수행해야할 일 들중 하나이다. 하지만, 시스템 아키는 다르다. 왜?아키를 처음 제대로 설계하지 않게 되면, 모든 개발자가 영향을 받게되고, 이 영향이 개발비용 증가로 이어질 수 있다.여기서 말하는 비용은 시간적 비용과 비용적 지출 모두를 뜻하는 말이다. "토이 호어"라는 사람이 한말 중 유명한 말이 있다.https://ko.wikipedia.org/wiki/%ED%86%A0%EB%8B%88_%ED%98%B8%EC%96%B4 토니 호어 - 위키백과, 우리 모두의 백과사전위키백과, 우리 모두의 백과사전.ko.wiki.. 2024. 11. 1.
MSA로 왜 넘어가는가?? feat. MSA 장점 필자가 MSA 로 넘어간 시점도 언 6년이 다되어간다.  당시 레거시 소스전체를 다운로드 받는데에만 몇시간이 걸렸고 빌드에만 1시간 이상이 걸렸던...오류 하나 발견되어 (오류를 심지어 쉽게 찾았음에도 불구하고) 재배로 나가는 시간만 1시간 이상이...걸렸던 거대 시스템의 한 개발자로써 상당히 불편함을 느끼고 있던 도중 MSA구조는 이러한 상황을해결하는데 돌파구가 되었다. 저정도 까지의 시스템이 아니더라도 MSA구조(유사 MSA라도)로 넘어오는 회사들이 많다.물론 넘어오면서 시스템 복잡성이 증가되는 것도 사실이다. 이 글에서는 MSA 장점과 단점에 대해서 다룰려고 한다.(MSA가 perfect한 아키는 아니다) [장점]1. 빌드 시간을 획기적으로 단축 시켜준다.     가장 큰 장점 중 하나일 것이다. .. 2024. 8. 21.
MSA transaction 처리 saga 패턴 MSA 주요 패턴 중 saga 패턴에 대해 기재해 보려한다. 참조할 수 있는 대표 사이트로 는 https://microservices.io/patterns/data/saga.html 가 있는데, 주요 내용은 아래와 같다. 모놀리식 아키텍처에서 주요 사용했던 방식이 위의 다른 service layer 사이에서 발생되는 transaction 처리 부분을 동일 DB 사용하여 논리적 일관성을 유지하였는데, MSA 방식에서 service domain 영역뿐만아니라 DB 영역까지 분리되면서 타 service 간 Transaction 처리가 필요하게 되었다. 이를 RDBMS 와 Nosql 모든 영역에서 일관성있게 유지는 힘들어 졌기때문에 Data 저장결과적으로 동일한 효과를 볼수 있도록 하는 개발패턴이 필요한 상황인.. 2022. 10. 23.
728x90