Skip to main content Link Menu Expand (external link) Document Search Copy Copied
  • 2023-06-10 36. Spring Cloud 기반 MSA 변환 시작-10(FE/BE 동기화) 동기화 결과 동기화 내용 : 인증서버에 유저 API 요청을 전달했을 떄, 인증서버와 채팅서버, 고객서버의 상태를 SSE로 받아옵니다.
  • 2023-06-01 개발자 취준생 일기 새로운 기술 갈망 그리고 한계 요즘 새로운 기술을 적용하고싶다는 생각을 합니다. 특히 No-sql 쪽으로요. 이유는 MSA 프로젝트를 진행하면서 RDBMS(Postgresql)가 가지는 명확한 문제점을 발견했거든요.
  • 2023-05-01 35. Spring Cloud 기반 MSA 변환 시작-9(성능이슈 해결 과정) MSA 버전과 이전 모노 버전에서의 변경된 점과 성능 문제점 및 해결 과정을 설명하려 합니다. 일단 먼저 변경점을 아래와 같이 정리해보았어요. 1.
  • 2023-04-30 34. Spring Cloud 기반 MSA 변환 시작-8(CQRS 설계) 저는 90% 이상의 쿼리를 차지하는 Read 전용 DB를 따로 떼서 검색성능을 높이고자합니다.
  • 2023-04-25 33. Spring Cloud 기반 MSA 변환 시작-7(주문서비스 이벤트 flow 및 스키마 설계) Order 서비스와 Customer/Product 서비스의 이벤트/DB 스키마 설계.
  • 2023-04-24 32. Spring Cloud 기반 MSA 변환 시작-6(MSA Project 를 진행하면서 느낀 점) (서론) MSA Project 를 진행하면서 느낀 점 지금까지 유저서비스와 주문서비스들을 MSA 로 진행하면서 느낀 점인데, 기술에 계속 파묻히고 있는것 같습니다. 그래서 왜 MSA 로 변환하고 있는지 그 목적을 상기시키고 정리하고자 이 포스팅을 쓰게 되었습니다.
  • 2023-04-24 31. Spring Cloud 기반 MSA 변환 시작-6 Kafka Topic Naming Convention 저는 현재 사용중인 Kafka MQ 에서 토픽을 어떻게 구성할지 고민하고 있습니다. 하나를 예로 들어볼께요.
  • 2023-04-19 Netty 아키텍처 및 동작과정 {: .note} 이 글을 읽기 전에 Reactor 모델 등장 배경을 설명하는 를 보고 오시면 이해에 도움이 될 것입니다! 본 포스팅은 아래의 들을 번역하고 재정리한 글입니다. 1. Netty 란? 1.
  • 2023-04-19 NIO 와 Reactor 모델 아키텍처 설명 본문은 아래의 들을 번역하고 정리한 글입니다. 1. NIO(New Input/Output) Java NIO 는 크게 3가지 컴포넌트로 이루어져 있습니다.
  • 2023-04-17 30. Spring Cloud 기반 MSA 변환 시작-5 1. Saga Choreography Architecture v5 버전인 현재 구현진행/완료 중인 아키텍처입니다. 2. Saga Choreography 이벤트 성공값 클라이언트 반환 feat.
  • 2023-04-13 29. Spring Cloud 기반 MSA 변환 시작-4 인증/권한 설정 JWT 토큰을 강제로 expire 할 수 없다는 점이 까다로운것 같아요. 예로 비밀번호를 업데이트하면, 해당 비밀번호 이전의 토큰은 여전히 사용하능하다는 단점이 존재합니다.
  • 2023-04-08 Spring Security(WebFlux) 인증/인가 설정 + JWT {: .important } Reactive 프로그래밍에서는 Spring Security 설정이 기본과는 다릅니다. 별로 레퍼런스가 없길래 아래와 같이 코드를 공유합니다. 1. LoginResponseDto 2. LoginRequestDto 3.
  • 2023-04-05 WebFlux(Reactive Programming) 1. WebFlux 한줄 정의 WebFlux는 Reactive Programming 을 편하게 사용가능하게하는 Spring 제공 객체로, Pub/Sub 방식으로 이벤트 메세지를 주고받습니다.
  • 2023-04-05 CompletableFuture vs WebFlux 일반적으로 Future와 WebFlux 를 비동기 구현에 사용하게 됩니다. Future은 별도의 스레드를 호출하여 로직 실행 후, CallBack을 통해 리턴값을 전달받을 수 있죠.
  • 2023-03-29 28. Spring Cloud 기반 MSA 변환 시작-3 인증/권한 설정 제가 구현하고자 하는 부분을 인증/권한부여 파트만 간단하게 도식화해서 나타낸다면 아래의 그림과 같을거에요. 여기의 문제점은 micro service가 늘어날 수록, 세션에 대한 부담이 늘어난다는 것입니다.
  • 2023-03-28 27. Spring Cloud 기반 MSA 변환 시작-2 API GateWay 선정 기존에 저는 nginx를 아래의 이유로 사용했어요. 통합 엔트리 포인트를 제공 리버스 프록시(백엔드 포인트 숨기기) 서비스 별 로드 밸런싱 높은 동시처리성능 1,2,3 번은 일반적인 Gateway 툴에서 제공하는 기능이구요.
  • 2023-03-27 26. Spring Cloud 기반 MSA 변환 시작-1 먼저 제 채팅 프로젝트는 아래의 형태를 추구하고 있어요. Event-Driven Architecture 를 통한 loose-coupling API-Gateway 를 통한 통합 엔트리 포인트 제공 올바른 트랜젝션 처리 비동기 멀티 스레드를 통한 동시성 성능 향상 자동화...
  • 2023-03-16 25. Postgresql indexing 활성화 인덱싱된 userid, 그러나 Sequential. 그렇다면 어떻게 사용하도록 할 수 있을까요? 영구적인 인덱싱 활용 쿼리설정(feat.
  • 2023-03-15 24. 트랜젝션과 멀티스레드의 잘못된 매칭 수정 {: .important } HikariCP를 사용하던 중, 새로운 스레드에서 hikariDataSource.getConnection() 을 수행했지만 다른 스레드에서 사용하던 Connection 이 반환되었습니다.
  • 2023-03-15 CompletableFuture 기능 별 심화이해 thenAccept/thenRun/thenApply thenAccept 는 이전에 전달받은 parameter 가 있을 때 사용되며, thenRun 은 없을 때 사용됩니다. 예시로 함께 보겠습니다.