본문 바로가기

Spring12

Spring With Kafka 이번 캡스톤 디자인 프로젝트를 진행하며 MSA를 사용하게 되었다. 이에 따라 서비스들을 잘게 나누었고 서비스들간의 비동기 이벤트를 처리하기 위해 Kafka를 사용하게 되었다. 본 포스팅에는 주키퍼/카프카는 무엇인지 어떻게 사용하는지 알아보도록 하자. 자세한 주키퍼/카프카의 내용은 다른 포스팅으로 다뤄 보도록 하겠다. 우선, Kafka를 알아보기 이전 Zookeeper에 관해 알아보도록 하자. (카프카의 여러 버전 중 주키퍼 없이 독립적으로 작동하는 카프카도 존재하지만,통상적으로 주키퍼와 함께 클러스터를 구축하여 동작하기에 주키퍼가 뭔지 알아보도록 한다.) Apache Zookeeper주키퍼는 이름처럼 동물원 사육사이다. 왜 이름이 이럴까? 많은 오픈 소스 프로젝트를 지원하는 Apache 재단의 프로젝트 .. 2024. 5. 5.
[QueryDSL] QueryDSL이란? QueryDSL이란? 우선, DSL은 Domain Specific Language의 줄임말이다. 뜻은 특정 영역에 특화된 언어이다. 그렇기 때문에 QueryDSL은 쿼리 생성에 특화된 프레임워크이다. 우리가 QueryDSL를 사용하면 좋은 점이 무엇이 있을까? 그것에 관한 설명을 하기 전에 JPA와 JPQL에 관한 문제점에 대해 잠깐 알아보자. JPA JPA는 객체지향 어플리케이션과 RDBMS 사이의 패러다임 불일치를 해결해주는 역할을 하는 프레임워크이다. JPA 덕분에 우리는 객체지향 관점으로 개발할 수 있게 되고 JPA 프레임워크는 자동으로 SQL 쿼리문을 생성해준다. SQL문이 JPA에 의해 자동으로 생성되기에 개발자는 SQL 관점에서 프로그래밍을 하지 않아도 된다. 하지만, 그렇다하더라도 완전한 .. 2024. 3. 30.
[Spring Cloud] Spring에서 MSA를 구축해보자 우리는 Spring에서 지원해주는 프레임워크 중 하나인 Spring Cloud를 활용하여 이전에 살펴본 MSA를 구현해볼 수 있다. Spring Cloud Netflix 스프링 클라우드 넷플릭스는 Spring Boot Application에 관한 통합 환경 구성을 지원하는 Netflix의 OSS 서비스이다. OSS: 오픈 소스 소프트웨어 Netflix OSS와 Spring Cloud Netflix Netflix OSS에는 다양한 서비스들이 존재한다. 각각에 관해 간략히 알아보자. Eureka : Discovery Server 각각의 서비스 인스턴스들이 동적으로 확장, 축소 되더라도 인스턴스의 상태를 하나의 서비스로 관리할 수 있는 서비스 Ribbon: Client Side Load Balancer 부하 .. 2024. 3. 27.
[Spring] Spring에서 로그를 설정하는 방법 로그란? 컴퓨터의 처리 내용이나 이용 상황을 시간의 흐름에 따라 기록 개인용 컴퓨터 통신에서 통신 내용의 기록, 그 파일을 로그 파일 통나무 목선 log on(승선), log out(하선)으로 유래 목적 시스템 보안이나 유지보수 목적 사고가 발생했을 때 데이터의 복원이나 사고 원인의 규명에 도움 해킹 등의 사건이 발생했을 때, 로그 파일을 분석하여 사건의 원인 파악 로그를 설정하기에 앞서 로그는 로그 레벨로 나누어져 있다. 먼저, 로그 레벨에 관해 간단하게 알아보자. 로그 레벨이란? 로그 레벨은 로그 메시지의 중요도를 나타내는 수준을 의미 로그 레벨은 로깅 시스템에서 사용되며, 로그 메시지의 중요도에 따라 해당 메시지를 기록할지 결정 로그 레벨 TRACE 가장 상세한 로그 레벨로, 애플리케이션의 실행 흐.. 2024. 3. 27.