일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- lambda
- cache
- redis
- 열 속성
- 바이너리 카운팅
- 인덱스
- jwt
- 테스트 코드
- DDL
- stream
- MSA
- StringBuilder
- KEVISS
- static
- select_type
- docker
- hashcode
- 재정의
- 조합
- VUE
- 생성자 주입
- equals
- Spring
- 필드 주입
- AOP
- java
- SQL
- Test
- DI
- jpa
- Today
- Total
목록전체 카테고리 (196)
백엔드 개발자 블로그
[참고](https://toss.tech/article/slash23-data) 토스증권이 Elasticsearch 클러스터로 대규모 로그를 처리하는 방법을 살펴보자 로그 수집 현황 서비스와 인프라에서 피크 시간에 초당 200만 이상의 인덱싱, 하루 기준 170억 건의 로그를 처리 Elasticsearch 클러스터는 커질수록 공간롸 관리 부담이 있어서 효율적인 관리가 필요 안정적인 Elasticsearch Hot-warm 아키텍처 도입 효율적인 Elasticsearch 클러스터를 위해 Hot-warm 아키텍처 도입 Hot-warm 아키텍처 Hot 노드보다 큰 Warm 노드를 생성 생성된 지 오래 된 로그는 Warm 노드로 이동, 일정 기간이 지나면 삭제 최근 로그를 더 오래 보관하고 싶으면 Hot 노드 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/deaODi/btsC87mL5vu/lGzhNsiyS5OCn2U9XP3qxK/img.png)
[참고](https://toss.tech/article/slash23-server) 토스에서는 Gateway를 어떻게 사용하고 있는지 살펴보자 Gateway란? 등장배경 : 공통 로직을 모든 서버에 적용하고 배포하는 것은 큰일임 그래서 개발됨 ex) 유저 정보, 보안 정책, 모니터링, 역할 라우팅 필터 작동 공통 로직 처리 개발 방법 Spring Cloud Gateway를 사용하여 구성하고 개발 결과 외부에 노출되는 엔드포인트에 대해 중앙 집중식으로 관리할 수 있도록 도와줌 트래픽 모니터링, 속도 제한, 요청 및 응답을 요구사항에 맞게 수정 MSA를 보다 쉽게 확장, 모니터링 할 수 있도록 함 공통 로직처리 Request 전처리, 후처리 Sanitize : Client로부터 올바르지 않은 요청이 올 경우..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bGQzQh/btsC8T9UEsd/t4dUcksfoI9QxIA5PqxMN0/img.png)
[참고](https://toss.tech/article/slash23-corebanking) 토스 코어뱅킹 시스템 중 지금 이자받기 서비스를 MSA로 전환하는 과정입니다. 현재 은행 시스템 채널계 + 코어뱅킹(계정계) 채널계 : 고객의 요청을 코어뱅킹 서버로 전달 코어뱅킹 : 금원과 관련된 메인 비즈니스 로직을 처리 모바일 트렌드와는 맞지 않는 20년 전의 모놀리식 아키텍처를 대부분의 은행에서 사용 중, 점점 모놀리식 형태로 몸집을 불려가고 있음 토스뱅크 현재 시스템 채널계 + 코어뱅킹 채널계 : MSA 아키텍처 코어뱅킹 : Redis, kafka 등 모던한 기술을 사용하고는 있었지만, 모놀리틱 모놀리식 아키텍처 장단점 장점 트랜잭션 관리 용이 여러 하위 도메인의 데이터를 ACID하게 변경할 수 있음 개..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bRk3a0/btsB7RZmuvJ/F10KTcKh2dPRADMk9qsNRk/img.png)
AOP 시작하기 먼저 AOP는 스프링의 특성이기 때문에 스프링 프로젝트를 준비하고, build.gradle 파일에 의존성을 추가해줍니다. implementation 'org.springframework.boot:spring-boot-starter-aop' 먼저 AOP를 사용하기 위해서는 다음과 같은 Annotation들을 알아야 합니다. @Aspect AOP로 정의하는 클래스를 지정함 @Pointcut AOP기능을 메소드, Annotation 등 어디에 적용시킬지 지점을 설정 지점을 설정하기 위한 수식들이 매우 많음 @Before 메소드 실행하기 이전 @After 메소드가 성공적으로 실행 후 (예외 발생 되더라도 실행 됨) @AfterReturning 메소드가 정상적으로 종료될때 @AfterThrowin..