본문 바로가기
728x90

야미스터디/Backend18

[Youtube] kafka 조금 아는 척하기 2편 - 프로듀서 토픽에 메시지 전송 - 토픽, 키, 값prperties - 프로듀서가 사용할 속성을 설정한다 (설정 정보)브로커 목록, 키와 값 직렬화를 위한 serializer, ack, 배치 사이즈 등을 설정카프카 프로듀서 객체는 send 메시지를 지원한다프로듀서 레코드는 토픽 이름, 키, 값으로 생성한다 → 카프카에 저장될 메시지 = 레코드 프로듀서의 기본 흐름 프로듀서 기본 흐름 순서send() 메소드를 통해서 레코드를 전송한다Serializer를 통해 byte 배열로 변환하고, Partitioner를 통해 변환된 메시지를 보낼 파티션을 결정한다이후 변환된 메시지를 배치로 묶어서 버퍼에 저장한다Sender가 묶인 배치를 카프카 브로커로 전송한다 Sender의 기본 동작sender는 별도 스레드로 동작한다sende.. 2024. 9. 4.
[Youtube] kafka 조금 아는 척 하기 1편 - 개발자용 kafka란?Apache Kafka고성능 분산 이벤트 스트리밍 플랫폼  kafka 기본 구조카프카 클러스터메시지(이벤트)가 저장되는 곳데이터가 이동하는데 필요한 핵심 역할을 수행한다여러 개의 브로커로 구성된다브로커는 일종의 서버로 생각하면 된다브로커가 메시지를 나눠서 저장하고, 이중화 처리, 장애 시 대체 등 다양한 역할을 한다주키퍼 클러스터카프카 클러스터 관련 정보가 기록된다이를 통해 카프카 클러스터가 관리된다  Topic & Partition토픽메시지를 구분하는 단위파일시스템의 폴더와 유사하다한 개의 토픽은 한 개 이상의 파티션으로 구성된다파티션메시지를 저장하는 물리적인 파일프로듀서는 메시지를 카프카에 저장할 때 어떤 토픽에 저장해야하는지 요청하고, 컨슈머는 어떤 토픽에서 메시지를 읽어올 지 결정한다.. 2024. 8. 21.
개발자가 알아야 할 인터페이스 개념💡 유튜브에서 우연히 아래 영상을 보고 정말 쉽고 간단하면서도 중요한 개념이라는 생각이 들어서 간략하게 영상의 내용을 정리해봤습니다! 호출벨을 인터페이스의 예시로 들며 누구나 이해하기 쉽고 재미있게 설명해주시니 가볍게 시청하시면 좋을 것 같습니다 😊 https://youtu.be/a6F7rIKaxzo 인터페이스는 약속이다 인터페이스는 상호 작용을 위해서 미리 정의된 약속이다 ex) A 함수를 호출하면 B가 호출된다, 리모콘, 변기 레버, 호출벨 등.. API 또한 인터페이스의 일종이다 API : Application Programming Interface 기능을 사용하기 위한 코드나 문서 같은 세트 프론트와 백엔드 역시 API 라는 약속을 통해 기능을 연결한다 인터페이스 = 호출벨 저기요~! → 구버전 인터.. 2023. 6. 27.
개발자로 성장하는 꿀팁 5가지🍯 https://youtu.be/DmK7d0xB2j0 요즘 제 기강이 좀 떨어진거 같아서 지원서 쓰다가 급발진으로 영상보고 너무 유익한 내용이라 정리하고 가려고 합니둥 어차피 평생 공부해야할 거 빨리 습관 들이자 나 자신... 열쩡염 얼른 소환하란말이야~! 1. 다음은 오지 않는다. '이번만, 다음에!' 하지 않기 지금 당장 바쁘다고 모르는 내용에 대한 공부를 다음으로 미루지 말자! 어차피 미루다 보면 또 똑같은 문제에 직면하게 될 것이고, 그럼 그 때도 어영부영 넘어가게 된다 따라서 모르는 내용이 있다면 무조건 시간을 내서라도 이해하고 넘어가는 습관을 들이자! 2. 깨어있기 (사고하기) 개발을 하다보면 코드 한 줄마다 생각하고 짜기보단 기계적으로 구현하는 경우가 많다 그게 아니라 의식적으로 계속 생각하고.. 2022. 11. 7.
[Etc] Docker 📌 🐳 Docker란? 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼이다 소프트웨어를 컨테이너라는 표준화 된 유닛으로 패키징한다 컨테이너는 라이브러리, 시스템 도구, 코드 등 소프트웨어 실행에 필요한 모든 것이 포함되어 있다 즉, 도커는 컨테이너 환경에서 독립적으로 애플리케이션을 실행할 수 있도록 컨테이너를 만들고 관리하는 것을 도와주는 도구이다 도커를 통해 애플리케이션을 실행하면 독립적인 환경에서 일관된 결과를 보장한다 도커의 핵심 개념은 이미지와 컨테이너이다 컨테이너 컨테이너는 격리된 공간에서 프로세스가 동작하는 기술이다 기존의 가상화 방식인 OS 가상화가 아닌, 프로세스를 격리하는 방식으로 동작한다 리눅스에서 프로세스를 격리하는 방식을 리눅스 컨테이너라고 한다 단순히 프로세.. 2022. 10. 11.
[Etc] DTO 📌 👜 DTO Data Transfer Object / dto package 계층 간 데이터 교환을 위해 사용하는 객체 로직을 갖지 않는 순수한 데이터 객체이다 데이터를 전달하기 위해 사용하는 객체이기 때문에 오직 getter/setter 메서드만을 가지며 다른 로직은 갖지 않는다 데이터를 담아서 전달하는 바구니라고 생각하면 된다 주로 데이터베이스와 통신하거나 소켓에서 받은 메시지의 구문을 분석할 때 유용하게 사용된다 DTO를 사용하는 이유 Core 클래스인 Entity 클래스 보호 View Layer와 DB Layer의 역할 분리 다양한 비즈니스 로직과 요구사항에 대한 유연한 대응 Controller와 Service 사이의 강한 의존 방지 트랜잭션으로 처리되어야 하는 DTO 항목이 요청으로 들어온 결과값과.. 2022. 9. 28.
728x90