TAG

#Spring

10 posts

Rate Limiting - 넘치면 막는다

Rate Limiting · Scaling

Rate Limiting - 넘치면 막는다

더 받는 법으로는 막을 수 없는 유입이 있다. 토큰 버킷 하나를 깊게 보고, 무엇을 기준으로 세고 서버가 여러 대일 때 카운터를 어디에 두는지까지 간다.

부하를 견디는 법 7편

캐시 - 같은 답을 두 번 만들지 않는다

Cache · Performance

캐시 - 같은 답을 두 번 만들지 않는다

한 번 만든 결과를 들고 있다가 다시 준다. 쉬운 이야기라서 위험한데, 진짜 알맹이는 무엇에는 캐시를 붙이면 안 되는가다.

부하를 견디는 법 2편

Persistence Context

JPA · ORM

Persistence Context

save()를 안 불렀는데 UPDATE가 나간다. JPA가 엔티티를 관리하는 공간, 영속성 컨텍스트로 그 수수께끼를 푼다.

ORM

ORM · JPA

ORM

자바 객체와 DB 테이블 사이를 손으로 나르지 않는다. JPA로 개념을 잡고, ORM이 만드는 SQL까지 본다.

Middleware

Middleware · Spring

Middleware

핸들러마다 반복되는 공통 처리를 요청과 응답 사이 한 줄로 세운다. Spring의 Filter로 개념을 잡는다.

Aggregate

Aggregate · Design Pattern

Aggregate

어디까지가 한 덩어리인가. 함께 지켜야 할 것을 묶고, 그 경계를 트랜잭션과 저장소가 따라간다.

도메인 모델링 3편

Entity와 Value Object

Value Object · Design Pattern

Entity와 Value Object

무엇으로 같음을 판단하나. 식별자로 같은 것과 값이 같으면 같은 것, 그 둘을 갈라 쓰는 이유.

도메인 모델링 2편

로직을 어디에 둘 것인가

Domain Model · Design Pattern

로직을 어디에 둘 것인가

업무 규칙을 절차에 늘어놓을 것인가, 객체에 넣을 것인가. 트랜잭션 스크립트와 도메인 모델, 그리고 둘을 가르는 기준.

도메인 모델링 1편

DTO

DTO · Design Pattern

DTO

엔티티를 그대로 내보내면 DB 구조가 곧 API 계약이 된다. 계층을 건너는 전용 그릇을 따로 두는 패턴.

Service Layer

Service Layer · Design Pattern

Service Layer

컨트롤러에 업무 절차가 쌓인다. 절차를 서비스 계층으로 옮겨, 입구가 여럿이어도 규칙은 한 곳에 있게 만드는 패턴.