스프링

스프링

[스프링] spring batch 도커로 세팅하기 with jenkins

두둥 서비스에서는 스프링 배치 + 젠킨스 조합으로 스텝단위가 아닌 잡단위로 파이프라인을 구성해서 처리중이다. 이동욱 님께서 발표하신 내용기반으로 스프링 배치에서 스텝으로 나눈것이 아닌 잡 단위로 만들어서 젠킨스로 파이프 라인을 구성하고있다. 강의 내용중에 스프링 배치 어플리케이션의 버젼이 바뀐경우 항상 최신본을 실행시키기위해 app.jar 를 바라보게 한후에 readlink 로 v1 -> v2.jar 로 바뀌어도 실행 명령어의 변경없이 젠킨스 잡을 돌릴 수 있도록 구성하셨다. 필자는 Api 어플리케이션도 도커로 말아서 배포 중이므로, 배치 어플리케이션도 도커로 말아서 항상 최신본을 실행시킬수 있는 구성을 공유하고자한다. 목차 1. 배치 어플리케이션 도커로 세팅 2. 젠킨스 글로벌 환경변수 세팅 3. sh..

스프링

[스프링] spring thymeleaf to pdf 이미지,한글 적용하기

두둥 프로젝트를 진행하면서 통신 판매 중개업종이므로 , 호스트에게 공연 카드결제 대금 정산 작업도 배치로 돌려야 했는데, 이때 pdf로 정산서를 보내줘야할 일이 생겼다. 두둥에서는 메일도 thymeleaf를 사용해서 보내고 있으므로, pdf 도 thymeleaf 를 사용해서 보내는 방법으로 결정했다. 이미지와, 한글 적용을 하려면 꽤나 고생좀 해야하는데 그 방법을 공유하고자한다. 목차 1. flying-saucer-pdf 2. 한글 적용하기 3. 이미지 가능하게 하기 1. flying-saucer-pdf GitHub - flyingsaucerproject/flyingsaucer: XML/XHTML and CSS 2.1 renderer in pure Java XML/XHTML and CSS 2.1 rend..

스프링

[스프링] spring rate limit 적용히기 bucket4j

api를 공개하게 되면 유저가 마음대로 요청을 할 수 있다. 프론트 쪽에서는 쓰로틀링으로 막아주긴하지만, 백엔드에서는 추가적으로 요청량을 제한 해야한다. 요청량을 제한하는건 ip기반으로 하게되면, 로드밸런서에서 막아줄수도있고 , nginx 에서도 막아 줄 수 있다. 두둥 프로젝트에서는 유저 아이디 기반으로 요청량을 측정하고 싶어서 서버 내부서 제한을 걸기로 했다. 그 방법을 공유하고자 한다. 목차 1. 문제점 2. buket4j 3. 적용하기 3.1. Bucket4j 와 레디스 jcache 로 연결하기 3.2. ProxyManager 로 버킷 만들기 3.3 인터셉터에 적용하기 3.3.1. 인터셉터에서 유저정보를 불러올려면? SecurityContextHodler 3.3.2 인터셉터에 적용해보자. 1. 문..

스프링

[스프링] spring 프록시 환경에서 HttpContentCache 적용

두둥 백엔드에서는 에러로그를 cloudWatch 로도 전송하면서, 실시간으로 500번대 알림을 받아보기 위해서 슬랙으로 비동기적으로 에러를 전송하고 있다. 하지만 스프링은 한번 깐 body의 값을 볼 수 없어서 ContentCachingRequestWrapper (Spring Framework 6.0.6 API) handleContentOverflow protected void handleContentOverflow(int contentCacheLimit) Template method for handling a content overflow: specifically, a request body being read that exceeds the specified content cache limit. The..

ImNM
'스프링' 카테고리의 글 목록 (2 Page)