Spring Batch 테스트 환경 구축(With Redis)
개요 spring-batch는 사용하지만 테스트코드는 일절없는 환경. 테스트 코드를 작성할 수 있는 환경이 필요(성능 테스트 등을 위하여) 환경: spring-boot : 2.7.4 의존성 추가 spring-boot-starter-test : Junit사용 때문 spring-batch-test: SpringBatchTest 애노테이션 ...
개요 spring-batch는 사용하지만 테스트코드는 일절없는 환경. 테스트 코드를 작성할 수 있는 환경이 필요(성능 테스트 등을 위하여) 환경: spring-boot : 2.7.4 의존성 추가 spring-boot-starter-test : Junit사용 때문 spring-batch-test: SpringBatchTest 애노테이션 ...
환경 Java 17 문제 상황 운영중인 서비스의 기능중에 채팅 시스템이 있다. 채팅 시스템을 통하여 client끼리 주고받은 내용을 Redis+RDBS에 저장하여 이를 로그형태로 저장, 향후 관리자가 엑셀파일형태로 볼 수 있게 한다. 레디스에 일반적인 대화메시지를 저장하기도하고, 클라이언트끼리 파일을 주고받을 경우 파일명을 그대로 ...
읽게된 계기 업무를 진행하다보니 OS와 네트워크 등에 대한 기초지식이 필요하다고 생각했다. 현재는 네트워크에 비해 중요도가 좀 떨어지지만 리눅스 구조, 파일 시스템에 대해서 오랜만에 접해보고 싶은 마음도 있었고 다시 학습해서 나쁠건 없다 생각했다. 읽으면서 느낀점 일단 학부생때보단 잘 읽혔다. 이제 아는것도 그때보단 많아서인지 확실히 글의 이해...
RealMySQL 8.0이라는 책을 학습한 내용입니다. 시스템변수, 글로벌 변수, 세션 변수 Mysql을 사용하다분명 MySQL의 서버에 필요한 설정들이 있을 것이다. 예를 들어서 커넥션 풀이나 버퍼사이즈 등을 조절할 수 있을텐데 이러한 정보들은 MySQL에서는 시스템 변수라고 칭한다. 이는 SHOW GLOBAL VARIABLES;명령어를 통해...
클라우드 네이티브 스프링 인 액션 서적의 데모 프로젝트를 모방하였습니다. 깃 레포지토리 기존 프로젝트에는 문제가 있다. 앞단에서 요청을 받는 edge-service가 사용자 요청에 대한 인증을 처리하고 각 다른 서비스들에게 인증컨택스트를 전달해야하는데 그런 기능이 없다. 이는 OAuth2와 액세스 토큰을 통해서 해결한다. 또한 사용자 권한에 따라 ...
클라우드 네이티브 스프링 인 액션 서적의 데모 프로젝트를 모방하였습니다. 깃 레포지토리 보안은 눈에 보이기에는 힘들지만 중요도가 굉장히 높은 부분이다. 나는 회사 일을 하면서 보안에 대해서 생각하기도 한다.. 초기 프로젝트 설계할때 보안에 대해 고려할 수 밖에 없으며, 여러 페이지가 연동되어있을때 보안및 인가를 어떻게 처리할지도 고민이 되는 부분...
클라우드 네이티브 스프링 인 액션 서적의 데모 프로젝트를 모방하였습니다. 깃 레포지토리 이번 절에는 이벤트 중심 설계에대한 이야기와 이를 중심으로 래빗 MQ 및 클라우드 스트림, 함수를 적용해볼 예정이다. 클라이언트가 주문을 하면 주문 접수에 대한 알림은 이벤트 브로커에 보내고, 이벤트 브로커는 배송 서비스에 접수한 주문에 대한 알림을 준다. 그...
클라우드 네이티브 스프링 인 액션 서적의 데모 프로젝트를 모방하였습니다. 깃 레포지토리 이번장에서는 API 요청을 한 곳에서 받으며 보안, 모니터링 등 공통으로 발생하는 이슈를 다루는데에 사용하는 API 게이트웨이를 구현하고 복원력 향상을 위한 서킷브레이커를 구현한다. 웹 세션을 저장하기 위한 스프링 세션 데이터 레디스(Spring Ses...
클라우드 네이티브 스프링 인 액션 서적의 데모 프로젝트를 모방하였습니다. 깃 레포지토리 저번장에서는 k8s를 사용해서 배포를 진행하였다. 트래픽이 좀 더 많아지면 같은 요청당 쓰레드 모델로는 한계에 봉착하게 된다. 이를 극복하기 위해서 비동기적,논 블럭킹 방식의 리액티브 애플리케이션을 개발해야한다. 이번 장에서는 스프링 웹 플럭스, 스프링 데이...
클라우드 네이티브 스프링 인 액션 서적의 데모 프로젝트를 모방하였습니다. 깃 레포지토리 저번 장에서는 스프링 애플리케이션을 Docker Container로 올리고 그에 따른 CI/CD를 구축하는 작업을 하였다. 이번장에서는 k8s로 관리하는법을 학습할 것 같다. minikube를 사용하였습니다. 참고바랍니다. k8s용어에 대해서는 다루...