Architecture/design_pattern

database per service patternとは msaArchitectureで使われるパターンの一つで、一つのサービスに一つのdatabaseを使うパターンであります。 下図のようにorderServiceとcustomerServiceはそれぞれ異なるdbのtableを使用すると見えます。 このようにする理由 monolithicProjectが巨大するほど理解, 変更, 拡張などが難しいです。 各サービスでdbをprivateに管理するためセキュリティが上がります。 dbを分けて使うのでその分負荷が減少し、頻繁に使用されるdbと頻繁に使用されないdbのスペックを異なるように設定することで、リソースの無駄を減らすことができます。 サービスのスキーマの所有権が明確になり管理しやすいです。 する前に確認 サービスとdbのドメインがうまく区分されていない場合は、orderS..
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/design_pattern' 카테고리의 글 목록