Database
ORM
JPA, SQLAlchemy
NOSQL
CAP 이론
https://sjh836.tistory.com/97
- 일관성(Consistency) : 분산된 노드 중 어느 노드로 접근하더라도 데이터 값이 같아야 한다. (데이터 복제 중에 쿼리가 되는 일관성을 제공하지 않는 시스템의 경우 다른 데이터 값이 쿼리될 수 있다.)
- 가용성(Availability) : 클러스터링된 노드 중 하나 이상의 노드가 실패(Fail)라도 정상적으로 요청을 처리할 수 있는 기능을 제공한다.
- 분산 허용(Partition Tolerance): 클러스터링 노드 간에 통신하는 네트워크가 장애가 나더라도 정상적으로 서비스를 수행한다. 노드 간 물리적으로 전혀 다른 네트워크공간에 위치도 가능하다.
이 중 2가지만 만족할 수 있다
Programming (Framework)
- SOLID
- 단일 책임 원칙(Single Responsibility Principle)
- 개방-폐쇄 원칙(Open-Closed Principle)
- 리스코프 치환 원칙(Liskov Substitution Principle)
- 인터페이스 분리 원칙(Interface Segregation Principle)
- 의존관계 역전 원칙(Dependency Inversion Principle)
- Clean Code
- IoC, DI
https://develogs.tistory.com/19
Service Architecture
Messaging
- SQS vs Kinesis
- ActiveMQ vs Kafka vs RabbitMQ