전체 글
-
Kafka 기초 - Broker, ZookeeperFramework & Library/Kafka 2023. 2. 18. 17:50
Broker, Zookeeper Broker - Broker는 Partition에 대한 Read 및 Write를 관리하는 소프트웨어이다. - Kafka Server라고 부르기도 한다. - Topic 내의 Partition들을 분산, 유지 및 관리하는 역할을 수행한다. - 각각의 Broker들은 ID로 식별되며, ID는 숫자로 이루어진다. - Broker는 Topic 데이터의 일부분을 가지고 있을 뿐, 데이터 전체를 가지고 있지는 않다. - Client는 특정 Broker에 연결하면 전체 Cluster에 연결된다. - 최소 3대 이상의 Broker를 하나의 Cluster로 구성해야 되며, 보통 4대 이상을 권장한다. - Topic을 구성하는 Partition들은 여러 Broker 상에 분산된다. - Top..
-
Kafka 기초 - Topic, Partition, SegmentFramework & Library/Kafka 2023. 2. 17. 17:20
Topic, Partition, Segment Kafka의 주요 요소 - Kafka Cluster : Kafka의 Broker들의 모임, Kafka는 확장성과 고가용성을 위하여 Broker들이 Cluster로 구성된다. - Broker : 각각의 Kafka 서버, 동일 노드에 여러 개의 Broker들을 띄울 수 있다. - Topic : Kafka 안에서 메시지가 저장되는 장소의 논리적인 표현 - Zookeeper : Kafka Cluster의 정보 및 분산 처리 관리 등 메타 데이터를 저장, Kafka를 띄우기 위해 반드시 실행되어야 한다. - Producer : 메시지를 생산해서 Kafka의 Topic으로 메시지를 보내는 애플리케이션 - Consumer : Topic의 메시지를 가져와서 소비하는 애플리..
-
Kafka 기초 - Kafka란?Framework & Library/Kafka 2023. 2. 17. 16:14
Kafka란? Kafka(카프카)란? Apache Kafka는 고성능 데이터 파이프라인, 스트리밍 분석, 데이터 통합 및 미션 크리티컬 애플리케이션을 위해 제작된 오픈 소스 분산 이벤트 스트리밍 플랫폼이다. 이벤트 스트리밍이란 인체의 중추 신경계와 같다. 즉, 비즈니스가 더욱 소프트웨어화, 자동화됨에 따라 상시 가동되는 소프트웨어를 사용하는 세상을 위한 기반 기술이다. Kafka의 이벤트 스트리밍은 Fortune 100대 기업의 60% 이상을 포함하여 수많은 산업 및 조직의 다양한 사례에 적용된다. 1. 증권 거래소, 은행 및 보험과 같은 실시간으로 지불 및 금융 거래를 처리 2. 물류 및 자동차 산업과 같이 자동차, 트럭, 차량 및 선적을 실시간으로 추적하고 모니터링 3. 공장 및 풍력 발전 단지와 같..
-
Spring Boot - Jackson 라이브러리를 이용한 데이터 바인딩(2)Framework & Library/Spring Boot 2023. 2. 10. 13:51
Jackson 라이브러리를 이용한 데이터 바인딩(2) 지난 게시글에서는 getter(), setter() 메서드의 유무 또는 형태에 따라 직렬화, 역직렬화가 어떻게 이루어지는지 알아보았다. 이번 게시글에서는 생성자에서 데이터 바인딩이 어떻게 이루어지는지 여러 가지 상황을 통해 알아보겠다. 1. 기본적인 형태 @Getter @Stter public class Member { private Long id; private String name; private String address; private String email; public Member() { this.id = 0L; this.name = "No Name"; this.address = "No Address"; this.email = "No Ema..
-
Spring Boot - Jackson 라이브러리를 이용한 데이터 바인딩(1)Framework & Library/Spring Boot 2023. 2. 8. 14:52
Jackson 라이브러리를 이용한 데이터 바인딩(1) Jackson 라이브러리란? 오늘날의 거의 모든 웹 서비스는 JSON 형태로 데이터를 사용하고 생성한다. JSON 데이터를 애플리케이션 내의 POJO 객체로 변환하고 POJO 객체를 다시 JSON 형태로 변환해서 내보내는 역할이 필요한데, Spring에서는 보편적으로 이러한 역할을 Jackson 라이브러리가 도맡아 처리한다. 이처럼, Jackson은 JSON 처리를 위한 다목적 고성능 Java 라이브러리이다. Java 객체를 JSON 형태로 또는 JSON을 Java 객체로 변환하는 데 사용되는 바인딩 기능을 제공해 준다. 이번 게시글에서는 어떻게 Jackson 라이브러리가 JSON 데이터를 POJO 객체로 변환하는지를 알아보겠다. ※ POJO : 특정..
-
Spring Boot - @PathVariable & @RequestParam & @ModelAttributeFramework & Library/Spring Boot 2023. 2. 6. 13:27
@PathVariable & @RequestParm & @ModelAttribute @PathVariable http://localhost:8080/api/member/17 http://localhost:8080/api/member/25 REST API에서 위와 같이 URI에 변수가 들어가는 것을 본 적 있을 것이다. 위 URI에서 밑줄 친 부분이 @PathVariable 애너테이션으로 처리해 줄 수 있는 부분이다. 이처럼, URI에 파라미터를 포함시킨 요청을 @PathVariable 애너테이션을 사용하여 처리할 수 있다. @RestController public class MemberController { @GetMapping("/member/{id}/{name}") public String findM..