ActiveMQ와 JMS를 사용한 SpringBoot 메시지 SpringBoot Messaging with ActiveMQ and JMS
이벤트 기반 통신은, 여러 서비스 및 관련 도메인 모델에 변경 사항이나 메시지들을 전파할 때 중요하다. 변경사항이 발생했을 경우, 여러 서비스/모델 에서 변경 사항을 적용 할 방법이 필요 메시지큐를 사용하면 안정적인 통신과 기능적용이 가능하다 메시지큐에는 여러가지가 있지...
이벤트 기반 통신은, 여러 서비스 및 관련 도메인 모델에 변경 사항이나 메시지들을 전파할 때 중요하다. 변경사항이 발생했을 경우, 여러 서비스/모델 에서 변경 사항을 적용 할 방법이 필요 메시지큐를 사용하면 안정적인 통신과 기능적용이 가능하다 메시지큐에는 여러가지가 있지...
SpringBoot를 사용해서 개발을 하다보면 Exception 처리를 해야하는 경우가 생긴다. 해당하는 경우에 어떻게 예외처리하면 좋은지, 어떤 방법들이 있는지 한번 정리해보고자 한다 Exception 처리하기 컨트롤러에 Excpetion을 하나씩 붙여나가면서 작업을 ...
스트림모듈은 아직까지는 JPA나 module-core의 엔티티를 사용 할 일이 없었다. 스트림 모듈을 세팅하면서 Kafka와 어떻게 SpringBoot가 커넥션을 맺고, Consumer와 Producer가 어떻게 세팅되는지 정리해보려고한다. Kafka는 로컬 카프카도 괜찮고...
module-api에서 module-core를 잘 호출하는지 확인 할 수 있는 간단한 API를 만들어보자 module-core에서 Customer와 Order 엔티티를 선언했는데, 이에 맞게 module-api에서는 Customer와 Order 읽어오기 / 쓰기 API를 만들어...
코어모듈은 우리가 만든 module-api, module-stream 에서 공동으로 사용하기 위해 만든 모듈이다. 가장 큰 이유는, 도메인 엔티티를 공유하려고 한다. 각각의 서버나 어플리케이션에서 따로 관리한다면, 엔티티 수정이 일어났을 경우 각각 서버나 어플리케이션에서 수정해야...
프로젝트 시작전 스프링부트를 사용해 프로젝트 sprint 1,2를 진행하면서 정말 기초적이지만 기본기능들을 만들게 되었다 진행하고 있는 이 프로젝트는, 한 개의 API서버, 한 개 이상의 Consumer Application, 차후에 생길 가능성이있는 배치서버 등으로 구성 될 ...
TestCode 작성하는 이유 코드에대한 문서화 코드에 대한 결함을 발견하기 위함 리팩토링 시 안정성 확보 TDD란? Test Driven Development 프로덕션 코드보다 테스트코드를 먼저 작성하는 개발 방법 TFD(Test First Dev...
하나의 Server에서 하나의 DB만 사용하면 너무 편하겠지만 예외적인 상황들이 있을 수 있다 중앙에서 관리하는 Server(Route역할)가 앞에서 filter를 거쳐, 뒤에 이어진 다양한 Server들을 이어주는 경우가 아니라면 여러개의 DataSource를 설정하는 고민을...
로그란? 로그는 간단하게 말해서 연속된 데이터의 기록이라고 할 수 있다 일반적으로 처음 프로그래밍을 배울 때는 보통 System.out.print 사용을 많이한다 이 때, 프로그램이 실행되면서 콘솔에 무엇인가가 출력되는데, 이런 것들이 로그가 될 수 있다 Logg...
SpringBoot2 Spring Data JPA H2 Gradle JUnit
Springboot 를 tlin을 사용하여 작성해보기 h2 데이터베이스와 JPA를 사용해서 주문모델을 구현 해 보도록 하자
데코레이터란 함수에 반복적인 기능과 역할을 할 수 있도록 만들어주는 기능이다. 함수 내부의 로직을 수정하지않고, 기능을 추가하거나 수정 하고싶을 때 사용한다.
개요 마이크로서비스 아키텍처는 여러 서비스를 배포 할 수 있도록 하는 기술이다. 각각의 서버들에 Request를 보낼 때 인증을 거쳐야 하는데, 마이크로서비스가 늘어날수록 서비스의 수 만큼 인증을 받아야 하는 번거로움이 있다 다수의 인증을 줄여주고, 한번의 인증으로 ...
Request 요청 로깅을 할 경우, 모든 REST API 컨트롤러에 로그를 남기는것도 하나의 방법이다. 하지만 모든 API 컨트롤러에 로깅을 작성하게 된다면 비효율적으로 작업이 될 수 있다.
특정 시점이나 특정 시간 간격, 혹은 정해진 시간에 실행해야 하는 작업이 있을 수 있다.