Architecture

database per service patternとは msaArchitectureで使われるパターンの一つで、一つのサービスに一つのdatabaseを使うパターンであります。 下図のようにorderServiceとcustomerServiceはそれぞれ異なるdbのtableを使用すると見えます。 このようにする理由 monolithicProjectが巨大するほど理解, 変更, 拡張などが難しいです。 各サービスでdbをprivateに管理するためセキュリティが上がります。 dbを分けて使うのでその分負荷が減少し、頻繁に使用されるdbと頻繁に使用されないdbのスペックを異なるように設定することで、リソースの無駄を減らすことができます。 サービスのスキーマの所有権が明確になり管理しやすいです。 する前に確認 サービスとdbのドメインがうまく区分されていない場合は、orderS..
aws summit에서 첫 번째로서버리스 기반 SaaS 데이터 처리 및 데이터 웨어하우스 구축 사례'를 들었다 2개의 회사에서 기술적인 issue를 로직 변경 혹은 aws 기능 사용을 통해 해결했다는 내용이다 첫 번째 회사: 애이슬립 AI모델로 수면을 정확하게 분석하여 맞춤형 수면 서비스를 제공하는 Saas 서비스를 제공하는 회사 before 초기 architecture의 3가지 문제점이 있었다고 한다 설명이 전부 기억나지 않아 내 예상을 조합해서 설명한다 -> 요점은 client에서 user가 ui를 이용 시 요청하는 api와 수면 분석의 stream data를 저장하는 요청이 동일한 elb를 통해서 일어나고 아래 이미지와 같은 문제가 발생한다는 점이다 after 설명이 전부 기억나지 않아 내 예상을 ..
oop란 object-oriented programming의 약어다 말하자면 현실의 객체를 지향하는 개발 방식이다. 이게 어떤 말일까 이해하기 쉽게 예시를 들어보자. 내가 차를 운전한다를 oop적으로 만들어보자 여기 사용되는 객체는 driver와 car가 존재한다 car에는 handle, accelerator, break, engine, key, gearShift 등의 장치가 존재한다 그럼 car는 각 장치 중 필요한 장치를 장착(상속)한다 위처럼 객체들을 나누어 하나하나 명확히 정의하고 개발하는 방식이라고 보면 된다 특징과 원칙이 있다. 4가지 특징은 아래와 같다 Encapsulation: 캡슐화 Abstraction: 추상화 Inheritance: 상속 Polymorphism: 다형성 특징의 상세가 ..
SRP: Single Responsibility Principle (단일책임의 원칙) class나 module은 하나의 책임을 가져야 한다는 말이다 이게 뭔소릴까 싶다 chat-gpt를 사용해서 sample code를 만들어보자 밑에 있는 첫 번째 sample code를 확인해 보자 class Customer: def __init__(self, name, email, phone): self.name = name self.email = email self.phone = phone def place_order(self, order_items): # 주문 정보 검증 및 처리 pass def send_email(self, subject, message): # 이메일 전송 pass customer라는 주체에 다른..
tenchoi
'Architecture' 카테고리의 글 목록