Notepad
마이크로서비스 패턴(6)
dev/아키텍처 2022. 3. 31. 02:24

작성중입니다.... 비즈니스 로직 개발: 이벤트 소싱(Event sourcing) 핵심 내용 이벤트 소싱 패턴을 응용한 비즈니스 로직 개발 이벤트 저장소 구현 사가와 이벤트 소싱 기반의 비즈니스 로직 연계 이벤트 소싱을 응용한 사가 오케스트레이터 구현 이벤트 소싱 응용 비즈니스 로직 개발 이벤트 소싱은 비즈니스 로직을 구성하고 Aggragte를저장하는 또 다른 방법. 이벤트 소싱 패턴 상태 변화를 나타내는 일련의 도메인 이벤트로 Aggragte를 저장. 기존 영속화의 문제점 객체-관계 임피던스 부정합 Aggragte 이력이 없다 감사 로깅은 구현하기 힘들고 오류도 자주 발생 이벤트 발행 로직이 비즈니스 로직에 추가됨 이벤트 소싱 개요 이벤트를 위주로 비즈니스 로직을 구현하고, Aggragte를 DB에 일..

마이크로서비스 패턴(5)
dev/아키텍처 2022. 3. 24. 01:16

작성중입니다.... 비즈니스 로직 설계 핵심 내용 비즈니스 로직 패턴 적용: 트랜잭션 스크립트 패턴, 도메인 모델 패턴 DDD Aggregate 패턴을 응용한 비즈니스 로직 설계 도메인 이벤트 패턴을 마이크로서비스 아키텍처에 적용 비즈니스 로직 구성 패턴 비즈니스 로직 설계: 트랜잭션 스크립트 패턴 트랜잭션 스크립트 패턴 비즈니스 로직을 요청 타입별로 하나씩 매핑된 절차적 트랜잭션 스크립트 뭉치로 구성 단순한 비즈니스 로직에 적합 비즈니스 로직 설계: 도메인 모델 패턴 도메인 모델 패턴 비즈니스 로직을 상태와 동작을 가진 클래스로 구성된 객체 모델로 구성 객체지향적으로 비즈니스 로직 설계 MSA에서는 OOD도 한계가 있기에 OOD를 개선한 DDD가 필요 도메인 주도 설계 개요 DDD는 복잡한 비즈니스 로..

이력관리
dev/DB 2022. 3. 22. 00:47

이력관리 작성중... 점 이력 데이터의 변경이 발생한 시점만을 관리 선분 이력 시작 시점과 종료 시점을 관리 과거 특정 시점의 데이터를 조회하는 요건이 많을 때 조회 성능을 고려한 방법 선분 이력 관리 유형 인스턴스 레벨 이력 관리 하나의 인스턴스의 어떤 변경이라도 발생하면 전체 인스턴스를 새롭게 생성하는 방식의 이력 관리 유형 속성 레벨 이력 관리 이력을 관리할 대상 속성에서 변화가 생길 때만 이력을 생성하는 방식 주제 레벨 이력 관리 내용이 유사하거나 연동될 확률이 높은 것별로 인스턴스 레벨 이력을 관리하는 방법 선분 이력에서 종료점 처리 시 주의사항 종료점이 미정이므로 NULL 논리적으로는 타당하지만 비교가 불가능 인덱스를 사용하지 못하므로 수행 속도 저하 수렴하므로 최대치 부여 아직 종료되지 않았..

마이크로서비스 패턴(4)
dev/아키텍처 2022. 3. 10. 09:13

핵심 내용 모놀리식 지옥이 도래할 조짐과 마이크로서비스 아키텍처를 도입하여 이 지옥에서 벗어나는 방법 요즘 애플리케이션에 분산 트랜잭션이 잘 어울리지 않는 이유 사가 패턴을 마이크로서비스 아키텍처에 적용하여 데이터 일관성 유지 코레오그래피/오케스트레이션 방식으로 사가 편성 비격리 문제 조치 대책 마이크로서비스 아키텍처에서의 트랜잭션 관리 분산 트랜잭션의 필요성 기존 모놀리식 엔터프라이즈 애플리케이션은 모든 요청을 하나의 DB 트랜잭션으로 처리 마이크로서비스 아키텍처는 서비스마다 DB가 있기 때문에 여러 DB에 걸쳐 데이터 일관성 유지 수단 필요 분산 트랜잭션의 문제점 이전에는 분산 트랜잭션을 이용하여 여러 서비스, DB, 메시지 브로커에 걸쳐 데이터 일관성을 유지 X/Open DTP 모델이 사실상 표준 ..