✅ kafka 서버 3대 셋팅하기 이전 강의에서 kafka 노드 1대(= kafka 서버 1대)만 운용하면, 이 노드 1대가 고장나는 순간 서비스에 장애가 일어난다고 얘기했다. 이걸 방지하기 위해 kafka 노드 2대를 추가적으로 연결시켜보자. 현
이전 강의에서는 Kafka에서 재시도까지 실패한 메시지를 email.send.dlt와 같은 DLT(Dead Letter Topic)에 안전하게 저장하는 방법을 배웠다. 하지만 DLT에 저장하는 것만으로는 문제가 해결되지 않는다. 실패한 메시지를 직접
kafka의 고가용성(시스템이 장애 상황에서도 멈추지 않고 정상적으로 서비스를 제공할 수 있는 능력)을 확보하는 방법을 이해하려면 아래 용어들을 먼저 알고있어야 한다. ✅ 노드(node)란? 노드(node)란, 카프카가 설치되어 있는 서버 단위를 의미
토픽명과 컨슈머 그룹명을 지을 때 어떤 식으로 지어야 하는 지 고민될 수 있다. 그래서 이와 관련된 참고하기 좋은 링크가 있어서 공유한다.
✅ Spring Boot에 Kafka 연결하기 동일한 환경에서 실습을 진행하기 위해 아래 버전을 사용할 것을 권장한다. - Spring Boot는 3.x.x 버전 - JDK 21 Spring Boot 프로젝트 셋팅 application.yml에 Kaf
✅ 권한(Permission)이란? 리눅스에서는 여러 사용자 계정을 만들어서 사용할 수 있다고 했다. 그러다보니 특정 사용자가 다른 사용자의 파일을 마음대로 접근하는 걸 막기 위해 권한(Permission)이라는 기능을 추가했다. 권한(Permissi
✅ 그룹(group)이란? 리눅스에서 그룹(group)이란 사용자 계정을 묶어서 관리하기 위한 단위이다. 여러 사용자에게 공통된 권한을 한 번에 부여하고 관리할 때 유용하게 사용된다. ✅ 그룹(group)의 특징 한 사용자(user)는 무조건 하나의
✅ 내 IP 주소 확인하기 (ip) IP란 네트워크 상에서의 특정 컴퓨터를 가리키는 주소를 의미한다. 아래와 같은 값이 IP 주소이다. 13.250.15.132 실무에서 백엔드 서버와 통신하기 위해서는 백엔드 서버가 실행되고 있는 컴퓨터의 IP 주소를
Permission denied라는 에러가 발생한 원인을 분석하려면 사용자(user), 슈퍼 사용자(super user), 그룹(group)의 개념을 알아야 한다. 하나씩 알아보자. ✅ 사용자(user) 컴퓨터 환경에서 사용자(user)란 컴퓨터에 접
✅ 문자열을 터미널 화면에 출력하는 명령어 (echo) 리눅스 명령어에서 echo는 Java에서의 System.out.println(), Javascript에서의 console.log()와 같은 역할을 하는 명령어이다. 바로 실습을 해보자. $ ech