CentOS7 Kafka 2.12-3.4.0 jdk 11 Kafka 설치 kafka 설치는 공식 홈페이지 https://kafka.apache.org/downloads 에서 받을 수 있다. kafka는 zookeeper가 있어야 돌아가므로 zookeeper먼저 실행후 kafka를 실행 시킨다. bin/zookeeper-server-start.sh config/zookeeper.properties bin/kafka-server-start.sh config/server.properties 이다. 기본포트는 zookeeper는 2181이고 kafka는 9092 이다. 포트는 각 설정 properties에서 할 수 있다. error가 없으면 기동 한것이다. 나는 나중에 kafka와 spring boot로 연결하..
Kafka Kafka는 Pub/Sub(Publisher/Subscriber) 모델을 사용하는 분산 스트리밍 플랫폼으로, 대량의 데이터를 실시간으로 처리하고 전달하는 데 사용된다. Kafka는 대용량의 데이터를 안정적이고 빠르게 처리할 수 있는 고성능 메시징 시스템으로 분류된다 Kafka cluster kafka cluster는 여러개의 kafka 서버(브로커)를 구성하고있는 집합체이다. Kafka 아키텍처 Kafka 아키텍처는 Producer, Broker, Consumer로 구성된다. Producer는 Kafka Topic에 데이터를 생성하고, Broker는 Kafka 클러스터에서 데이터를 저장하고 분배한다. Consumer는 Broker로부터 데이터를 가져와 처리한다. Topic은 분산 데이터 저장소..
예전에 유지보수중인 사이트중 사이트에서 다른사이트로 넘어가는 링크가 있었는데 이부분에서 sesison clustering이 제대로 되지 않아서 session Clustering을 하는 방법을 찾아보다가 그 당시에 많이 썻었다는 redis를 이용한 session Clustering을 만들었었다. 하지만 유지보중인 서버의 메모리가 좋지않아,,, memory기반인 redis는 결국 쓰지 못했다. 이번프로젝트에는 사용할 수 있는 cloud 서버여서 다시 적용해보기로했다...! 개요 -Redis 오픈 소스 In-Memory 데이터 구조 저장소이며, Key-Value 형식으로 데이터를 저장하고 캐시, 메시지 브로커 및 데이터베이스로 사용할 수 있다. Redis는 매우 빠른 속도와 고성능을 가지고 있어서 대규모 웹 ..
개요 Freestyle project에 있는 자주 쓰는 다양한 설정들을 알아보겠다.!!! 설명 1. General - 오래된 빌드 삭제 빌드내용은 항상 jenkins에 저장되어 있다. 위치는 {JENKINS_HOME}/jobs/{빌드 프로젝트이름}/builds 안에 빌드 번호로 1부터 쭈욱 있다. 이것도 내버려두다 보면 나중에 용량을 생각보다 많이 차지하게 된다. 그래서 빌드 유지기간, 보관할 최대개수를 설정하면 자동으로 삭제가 된다. - 이 빌드는 매개변수가 있습니다 빌드시 매개변수를 추가하는 것이다. 해당종류는 매우 다양하다. 해당 매개변수를 실제로 사용해본 예시를 들어 설명할 것이다. -Boolean Parameter 빌드 배포 시에 해당 톰캣등 서비스를 띄울 때 내리고 올리는 경우가 있는데 스테틱..
요즘 새로운 프로젝트에는 거의 쓰이진 않지만 유지보수 중인 프로젝트에 jenkins를 추가해달라는 요청이 있어해 주기로 했다.! 개요 dynamic web project 같은 경우에는 maven이나 gradle 처리 별도로 라이브러리가 저장되어 있는 repository를 사용하는 게 아니라 WEB-INF/lib에 라이브러를 넣고 web.xml 파일에 세부 설정을 해줘서 web을 사용하는 방식이다. 이 dynamic web project를 쉽게 컴파일하여 빌드해주는 것이 ant build이다. ant build는 build.xml파일에 어떻게 컴파일 및 빌드를 할지 설정한다. 사용할 프로젝트는 https://github.com/victory940209/testspringboot.git 안에 있는 testW..
개요 maven Java 프로젝트의 빌드, 의존성 관리 및 문서화를 자동화하기 위한 빌드 자동화 도구이다. Maven은 Java 기반 프로젝트에서 표준 빌드 프로세스를 정의하고 의존성 관리를 쉽게 처리할 수 있도록 지원한다. pom.xml 파일을 이용하여 프로젝트를 빌드하고 의존성을 관리한다. 해당 글은 pipeline을 이용한 것은 아니다 pipeline은 따로 정리할 것이다. 구현 1. 생성 + 새로운 item 버튼을 누르고 Freestyle project를 선택한다. 2. 형상관리 연결 해당 소스가 올라가 있는 형상관리를 선택하여 정보를 입력해 준다. 형상관리 연결 시 Credentials에 형상관리 연결 시 사용하는 계정아이디 비번을 치면 된다. username - 형상관리 ID password ..
개요 Jenkins는 소프트웨어 개발 시 지속적으로 통합 서비스를 제공하는 툴로 CI (Continuous Integration) 툴이라고 불린다. 빌드 자동화, 테스트 자동화, 코드 품질 분석, 배포 자동화 등의 기능을 제공하며, 이를 통해 소프트웨어 개발 및 배포를 자동화하여 생산성을 높일 수 있다. jenkins는 다양한 플러그인을 지원하며 다양한 어플리케이션과 연동이 가능하며 대부분의 운영체제와 다양한 클라우드 서비스에도 제공되고 있다. 설치 방법 jenkins는 https://get.jenkins.io/war-stable/ 에서 다양한 버전을 받을 수 있다. java 버전에 따라 jenkins버전 확인이 필요하다.! jenkins version 1.612
구성도 두 개의 서비스에 해당 traceId가 동일하게 되어있는지 확인할 것이다. 앞서 만든 restTemplate를 이용하여 springboot01에서 springboot02를 호출한다. 1. zipkin화면 springboot01,springboot02가 찍히는 것을 볼 수 있다. 2. garafana 왼쪽 사이드 Explore메뉴로 들어 Loki를 선택하고 위에 zipkin에서 TraceID를 복사하여서 검색을 하면 springboot01과 springboot02의 로그가 같이 나오는 것이 보인다....! logtracing이 잘되었으니 이제 이중화된 서버나 api가 서로를 호출하는 경우에 로그 확인이 더 편해질 것 같다.