Develop72 Kafka 핵심 개념 [실전 카프카 개발부터 운영까지 by 고승범] 분산 시스템분산 시스템은 쉽게말해 네트워크상에서 연결된 컴퓨터들의 그룹을 말하며 단일 시스템이 갖기 못한 높은 성능을 목표로 한다. 성능이 높다는 장점 이외에도 하나의 서버 또는 노드가 장애가 발생할 때 다른 서버 또는 노드가 대신 처리하므로 장애 대응이 탁월하다. 또한 부하가 높은 경우에는 시스템 확장이 용이하다. 카프카도 분산 시스템으로 최초 구성한 클러스터의 리소스가 한계치에 도달하여 더욱 높은 메시지 처리량이 필요할 경우, 브로커를 추가하는 방식으로 확장이 가능하다.카프카에서 브로커는 온라인 상태에서 매우 간단하게 추가가 가능하다. 최초에 하나의 카프카 클러스터가 총 3대의 브로커로 운영 중이여도 서비스가 폭발적으로 증가할 경우 나중엔 총 30대 또는.. 2025. 1. 2. Kafka 개요 [실전 카프카 개발부터 운영까지 by 고승범] Kafka -> LinkedIn에서 처음 개발 도입사례잘란도의 규모가 커지고 사업이 다각화되면서 내부적으로 데이터에 대한 온갖 요구사항이 불거지기 시작 -> 데이터의 변화가 스트림으로 컨슈머 측에 전달되는 이벤트 드리븐 시스템으로 전환 -> 이를 통해 컨슈머들은 자신의 오규사항에 따라 데이터를 처리하거나 구독이 가능 Event Driven Architecture분산 아키텍처 환경에서 이벤트를 생성하고 발행된 이벤트를 수신자에게 전송하는 구조수신자는 그 이벤트를 처리하는 방식으로, 상호 간 결합도를 낮추기 위해 비동기 방식으로 메시지를 전달하는 패턴이다.각 마이크로서비스는 함께 작동하지만 서로 다른 비즈니스 로직을 적용하고 자체 출력 이벤트를 보낼 수 있으며주.. 2025. 1. 2. [JAVA] 코테 정리 보호되어 있는 글 입니다. 2024. 7. 15. [Jenkins] REAEME.md 에 블로그 최신 글 가져오기 GitHub Readme에서 Latest Blog Post 부분에 Tistory에 작성한 글을 불러오고 싶었다. 그래서 Tistory에 글 작성 시 자동으로 GitHub의 README 파일을 업데이트 하도록 Jenkins를 이용해보려 한다. Tistory에서 글 작성 시 자동으로 Jenkins가 실행되도록 하기 위해 Webhook을 설정해야 한다. 하지만 Tistory는 공식적으로 Webhook 기능을 제공하지 않지만, Tistory RSS 피드를 정기적으로 검사하여 Jenkins 트리거하는 방식으로 설계했다. 1. 플러그인 설치Jenkins에서 GitHub와의 효과적인 연동을 위해 필요한 플러그인을 설치한다.GitHub Integration과 HTTP Request 플러그인 설치 플러그인 설치 .. 2024. 6. 10. [React] 처음 만난 리액트 section(3~5) Section 3. JSX JSX의 정의와 역할A syntax extension to JavaScriptJavaScript + XML/HTML내부적으로 XML/HTML 코드를 JavaScript 코드로 변환하는 역할을 함JSX를 사용하면 react에서는 내부적으로 createElement 함수를 사용하도록 변환 됨JSX의 장점 및 사용법간결가독성 향상버그 발견 쉬움Injection Attacks 방어XML/HTML 코드 사이에 { } 를 사용해서 js 코드를 넣어주면 됨 (실습)JSX 코드 작성해보기import React from "react";function Book(props) { return ( {`이 책의 이름은 ${props.name} 입니다.`} {`이 책은 총 ${props.num.. 2024. 5. 18. [React] 처음 만난 리액트 section(0~2) Section 0. 준비하기 HTML과 CSShtml은 뼈대 css는 레이아웃 SPA(Single Page Application)하나의 페이지만 존재하는 웹 사이트 / 웹 애플리케이션기존 방식: multi page application 사용자가 페이지 요청할 때 마다 새로운 페이지가 로드됨SPA: html 파일이 하나만 존재. 단 하나의 페이지만 존재. body 태그의 내부가 동적으로 채워짐. 리액트가 이를 수행 JavaScript 소개 및 자료형ECMAScript Script Language 특징런타임시에 코드가 해석되고 실행됨 Data Type자바스크립트는 동적타이핑 방식을 사용. 변수의 자료형이 선언 시가 아닌 대입되는 시점에 정해짐 JavaScript의 연산자대입 연산자사칙연산증감연산(전위, 후위.. 2024. 5. 18. [Java] Queue 메서드 자바에서는 Queue 는 인터페이스고 필요에 따라 큐 컬렉션을 골라 사용할 수 있다.자주 사용하는 큐 컬렉션에는 LinkedList, ArrayDeque 가 있다. 코테에서는 주로 ArrayDeque사용import java.util.Queue;import java.util.ArrayDeque;ArrayDeque queue = new ArrayDeque(); 메서드설명boolean add(Object o)지정된 객체를 Queue에 추가저장공간 부족 시 IllegalStateException 발생Object remove()Queue에서 객체를 꺼내 반환비어있을 경우 NoSuchElementException 발생Object element()삭제없이 요소를 읽어온다.비어있을 경우 NoSuchElementExce.. 2024. 4. 16. [Java] Stack 메서드 import java.util.Stack; 메서드 설명 boolean empty() Stack이 비어있는지 알려준다 Object peek() Stack의 맨 위에 저장된 객체를 반환 pop과 달리 Stack에서 객체를 꺼내지는 않는다 비어있을 경우 EmptyStackException 발생 Object pop() Stack의 맨 위에 저장된 객체를 꺼낸다 비어있을 경우 EmptyStackException 발생 Object push(Object item) Stack에 객체(item)를 저장한다 int search(Object o) Stack에서 주어진 객체(o)를 찾아서 그 위치를 반환 못 찾을 경우 -1 반환 배열과 달리 위치는 0이 아닌 1부터 시작 2024. 4. 16. [Java] StringBuilder 메서드 - StringBuilder (java.lang.StringBuilder) 생성자 StringBuilder sb = new StringBuilder(): 객체 선언 StringBuilder sb = new StringBuilder("aaa"): 문자열을 바로 넣을 수도 있다. 주요 메소드 .append(): 문자열을 추가한다. (sb.append("bbb"), sb.append(4)) .insert(int offset, String str): offset 위치에 str을 추가한다. (sb.insert(2, "ccc")) .replace(): 첫번째와 두번째 파라미터로 받는 숫자 인덱스에 위치한 문자열을 대체한다. (.replace(3, 6, "ye")) .substring(int start, (int e.. 2024. 4. 15. [Java] String 메서드 [Java] 자바 문자열을 다루는 String 클래스 메소드 총정리String 클래스는 문자열의 추출, 비교, 찾기, 분리, 변환 등과 같은 다양한 메소드를 가지고 있습니다. 그중에서도 사용 빈도수가 높은 10가지 메소드를 소개합니다.리턴 타입메소드 이름(매개 변수)설명charcharAt(int index)특정 위치의 문자를 리턴합니다.booleanequals(Object anObject)두 문자열을 비교합니다.byte[]getBytes()byte[]로 리턴합니다.byte[]getBytes(Charset charset)주어진 문자셋으로 인코딩한 byte[]로 리턴합니다.intindexOf(String str)문자열 내에서 주어진 문자열의 위치를 리턴합니다.intlength()총 문자의 수를 리턴합니다.S.. 2024. 4. 15. 이전 1 2 3 4 ··· 8 다음