1. STOMP 개요 1.1. STOMP란? STOMP(Simple/Streaming Text Oriented Messaging Protocol) 텍스트 기반의 메세지 프로토콜이다. STOMP는 클라이언트와 서버 간 전송할 메시지의 유형, 형식, 내용들을 정의한 규칙(FRAME)으로 TCP 또는 WebSocket과 같은 양방향 네트워크 프로토콜 기반으로 동작한다. HTTP와 같은 프로토콜에서 사용되는 request-response 패턴과는 다르게, STOMP는 브로커와 연결된 클라이언트 간에 메시지를 교환하는 방식으로 동작한다. STOMP는 기본적으로 Publish-Subscribe 구조로 되어있으며, 이 구조는 메시지를 공급하는 주체와 소비하는 주체를 분리해 제공하는 메시징 프로토콜이다. 1.2. ST..
선행 작업 Spring Boot Actuator가 설정되어 있어야합니다. (2019/12/30 - [프레임워크/스프링 & 스프링 부트] - Spring boot actuator) Spring Boot Admin? Spring Boot Atuator를 사용하면 모든 리소스 내용을 볼수 있지만 json text형식이라 한눈에 파악하기 힘든점이 있음. Spring Boot Admin을 사용하면 Actuator의 내용을 실시간 형태의 Dashboard로 손쉽게 파악이 가능하다. (물론 설정은 나의몫...) 고정 서버 환경 (No Cloud Environment) Spring Boot Admin 서버와 Actuator EndPoint를 제공하는 Client 서버가 고정적일 때의 설정입니다. Spring Boot ..
Spring boot actuator? Spring Boot Actuator란 Spring Boot 기반의 애플리케이션을 손쉽게 모니터링 할수 있는 데이터를 제공해주는 라이브러리이다. 웹의 상태 모니터링과 metric, traffic정보 그리고 database의 상태등을 알 수 있다. 이러한 모니터링 데이터를 직접 구현할 필요없이 간단한 설정으로 사용할 수 있다는 것이 큰 장점이다. (물론 설정은 나의몫....) Configuration JAVA8, Spring Boot 2.1.4.RELEASE, Gradle 기준 Gradle Depengency 추가 compile("org.springframework.boot:spring-boot-starter-actuator") spring boot 2 부터는 기본으..
객체 관계 불일치 관계형 데이터베이스와 메모리 내의 데이터 형식의 불일치를 의미한다. 테이블의 경우 행과 열의 형식으로 데이터를 나타낸다. 이와 달리 객체(메모리내)데이터 형식은 제약이 없어 복잡한 구조(중접)를 저장한다. 이러한 구조를 저장하려면 관계형 구조로 변환해서 저장해야만 한다. 이와 같은 불일치를 해결하기 위해 ORM이 나타났고 Mybatis(정확히는 ORM이 아님), JPA(Hibernate)가 개발됨. 객체 관계 매핑(ORM) 객체와 관계형 데이터베이스의 데이터를 매핑시켜준다. ORM사용 시 쿼리를 자동으로 생성해주므로 SQL에 종속되지 않고 비즈니스 로직에 집중해서 개발이 가능하다. DB에 종속적이지 않은 개발이 가능하다. 러닝 커브가 높으며 세세한 쿼리 조작이 불가능하다. criteri..
MVC? 디자인 패턴의 종류중 하나를 뜻한다. Model, View, Controller의 약자를 뜻한다. 사용자 인터페이스와 비즈니스로직을 분리하여 서로 영향없이 쉽게 수정/개발할 수 있도록 개발이 가능하다. (관심사의 분리: SOC) MVC 구성요소 Controller View와 Model의 중간다리 역할을 한다. 모델(Model)에 명령을 보내 원하는 비즈니스 로직을 실행하고 뷰(View)에 필요한 데이터를 전달하여 출력할 수 있도록한다. View 뷰는 모델에서 수행한 비즈니스 로직의 결과물을 컨트롤러를 통해 전달 받아 사용자에게 출력한다. Model 컨트롤러에게서 요청받은 비즈니스 로직을 실행하여 결과물을 반환한다. 뷰에 의존하지 않는다. 출처 https://ko.wikipedia.org/wiki..
@SpringBootApplication 스프링 부트의 시작점 @SpringBootConfiguration, @EnableAutoConfiguration 및 @ComponentScan을 포함한다. @ComponentScan @Component. @Configuration, @Repository, @Controller, @Service, @RestController 위의 어노테이션을 가진 클래스를 빈으로 등록해준다. @EnableAutoConfiguration 미리 정의되어있는 빈들 가져와서 등록한다. public @interface EnableAutoConfiguration { String ENABLED_OVERRIDE_PROPERTY = "spring.boot.enableautoconfiguration..