일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- transactionaleventlistener
- Spring JPA
- spring
- entity graph
- kafka
- Entity
- mysql
- JPA
- Kotlin
- bean
- PAGING
- mirror maker2
- offsetdatetime
- producer
- QueryDSL
- centos7
- AWS
- K8s
- CI
- cd
- API
- CodePipeline
- Streams
- git
- Spring Data JPA
- spring kafka
- topic생성
- consumer
- ECS
- Kubernetes
- Today
- Total
목록전체 글 (100)
Yebali
Spring event란 스프링에 데이터를 전달하는 방식 중 하나로메서드를 직접 호출하는 것이 아니라 이벤트를 발행(Publish)하고 수신(Listen)하는 형태로 사용됩니다. 이런 방식을 사용하면 모듈 간 의존성이 낮아지고 관심사를 분리할 수 있다는 단점이 있습니다. 구현하는 방법은 일반적으로 ApplicationEventPublisher를 통해 이벤트를 발행하고,@EventListener, @TransactionalEventListener를 통해 이벤트를 수신합니다. 기본적인 사용방법은 이미 아시는 분들이 많을 거라 생각합니다.이 글에서는 @EventListener, @TransactionalEventListener가 Transaction과 함께 이벤트를 처리할 때 어떻게 동작한는지에 대해 알아보겠..
요즘엔 다양한 방식의 인증/인가 시스템이 존재합니다AWS Cognito나 Firebase Authentication 등 클라우드 서비스도 있고,Keycloak 같은 IAM(Identity and Access Management solution)도 존재합니다. 이렇게 다양하고 좋은 서비스들이 있지만 오늘은 가장 기본적인(?)Spring Security으로 JWT을 발급해 주는 인증/인가 서비스를 만들어보려고 합니다. 아래 내용은 Spring Security를 사용해 회원을 관리하고,로그인에 성공하면 해당 회원의 권한이 인가된 JWT를 발급하고, 발급된 JWT를 사용해 API를 호출하는 예시입니다. 의존성 추가// gradle.build.ktsdependencies { // Spring Security..
AWS ECS 구축하기 (근데 이제 ALB를 곁드린...)세상에는 서버를 배포하는 많은 방법이 존재합니다.FTP로 수정된 파일을 서버에 직접 올리고 stop.sh, start.sh으로 Tomcat을 끄고키는 방법부터k8s 환경에서 argocd를 사용하는 방법까지 다양합니다. 이yebali.tistory.com앞선 포스트에서 ECS를 구축하는 간단한 방법을 설명했습니다.이번 포스트에서는 코드가 수정되었을 때 ECS에 자동으로 배포할 수 있게 AWS CodePipeline을 사용해 CI/CD를 구축하는 방법을 알아보겠습니다. CodePipeline 구성CodePipelineAWS 콘솔에서 CodePipeline 생성을 해줍니다.template를 사용하지 않고 custom pipeline을 선택합니다. 파이프..
세상에는 서버를 배포하는 많은 방법이 존재합니다.FTP로 수정된 파일을 서버에 직접 올리고 stop.sh, start.sh으로 Tomcat을 끄고키는 방법부터k8s 환경에서 argocd를 사용하는 방법까지 다양합니다. 이번 포스트는 그중 AWS의 CodePipeline과 ECS를 사용해서 CI/CD를 만드는 방법에 대한 내용입니다. AWS ECR 생성 및 Docker 이미지 업로드하기가장 먼저 해야 할 일은 ECR을 생성하고 Docker 이미지를 업로드하는 일입니다.이 포스트에서는 ECR에 Docker 이미지를 업로드하고 ECS가 ECR에서 이미지를 가져다가 배포하는 방식으로 다룰 예정입니다. ECR(Elatic Container Repository)은 Docker이미지를 업로드할 수 있는 저장소입니다...
Coroutine 이란?위키의 표현을 빌리자면 coroutine은 실행을 일시중단(suspend)하고 재개(resume)할 수 있도록 하여비선점형 멀티태스킹을 위한 서브루틴(subroutine)을 일반화하는 컴퓨터 프로그램 구성요소이다. 서브루틴(Subroutine)서브루틴(subsroutine)이란 routine 내에서 실행되는 또 다른 routine으로 함수, 메서드 등을 의미하는 포괄적인 용어이다. 비선점형 멀티태스킹(Non-preemptive multi tasking)컴퓨터 내부에서 실행되는 프로세스들은 한정된 CPU, 메모리 등의 자원을 사용하기 위해 서로 경쟁한다.이때 OS은 하나의 프로세스가 자원을 무한정으로 점유하는 것을 막고 자원을 효율적으로 사용하기 위해스케쥴링을 하는데, 스케쥴링 방식..
스텝페이에서 적용했던 Spring Cloud Config을 사용하여 재시작 없이 Spring Cloud Gateway의 Route을 동적으로 추가하도록 했던 경험 남기기. Spring Cloud Gateway란? 먼저 Spring Cloud Gateway은 Spring을 기반으로 API Gatewa기능을 제공해 주는 프로젝트이다. 일반적으로 MSA환경에서는 서버를 구성할 때 Gateway을 앞단에 배치하여 클라이언트들의 요청을 받고 요청 경로에 따라 알맞은 서비스에게 그 요청을 전달하게 한다. 이때, 요청을 어느 서비스에 전달할 지에 대한 Predicate, 요청/응답에 적용할 Filter 등의 정보를 가지고 있는 것을 Route라고 한다. Route을 등록하는 기존 방식 일반적으로 Gateway의 ro..