![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bctS7y/btqII91Gju0/LUtTLQJFPa8MeuhjFDWZZK/img.png)
1. 카프카의 메시지 전송과 수신을 명령어로도 가능하다. kafka-console-producer / kafka-console-consumer이다. 1-1 아래 명령어처럼 특정 토픽에 메시지를 보낼 수 있다. acks=all 은 acks 모드를 all로 지정한다는 의미이다. kafka-console-producer.bat --bootstrap-server localhost:9092 --topic first_topic --producer-property acks=all 1-2 이렇게 실행하면 명령에 아래에 메시지를 입력할 수 있게 prompt가 나오게 된다. 1-3 보낸 메시지를 수신하는 명령어는 다음과 같다. 1-3-1 --from-beginning는 해당 토픽의 처음메시지 부터 다 수신한다. 없으면 그..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/wNESM/btqIJarRvge/Rhki1gwIl2ShT4KUVCAHzk/img.png)
1. 토픽을 만드는 명령어 kafka-topics kafka-topics.bat --bootstrap-server localhost:9092 --topic second_topic --create --partitions 6 --replication-factor 1 1-1 --bootstrap-server localhost:9092는 어떤 카프카 서버로 연결할지를 지정한다. 1-1-1 주키퍼에 대한 환경변수 설정은 별도로 할 필요 없다. 1-2 --create는 토픽을 생성하라는 명령어다. delete는 토픽을 삭제한 것이다. 1-2-1 --alter는 토픽의 파티션수와 replica수를 설정한는데 사용할 수 있다. kafka-topics.bat --bootstrap-server localhost:9092 ..
1. 난 무조건 윈도우만 쓴다. 최고의 운영체제이다. 2. 카프카도 도커를 사용할 수 있는데, 여기서는 그냥 바이너리 설치를 적는다. 3. 순서 3-1 jdk 설치 3-2 카프카 다운로드 (http://kafka.apache.org) 3-3 압축 풀고 적절한 위치에 복사 (나는 이런 압축 풀어 사용하는 것은 c:\에 사용한다. 3-4 카프카의 bin 폴더를 path에 추가한다. 3-5 카프카 홈에 data 폴더를 만들고 그 안에 kafka, zookeeper 폴더를 만든다. 3-6 카프카 홈에 있는 config 폴더 안에 있는 zookeeper.properties에 위에 생성한 주키퍼 데이터 폴더를 설정한다. 3-6-1 dataDir=C:/kafka_2.13-2.6.0/data/zookeeper -> 이..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bmZrI3/btqIwC4tbCF/o5CX05qB2OVOom6FfeXTFk/img.png)
1. 용어(계속) 1-1 Consumers : 데이터를 받기를 원하는 클라이언트 1-1-1 컨슈머는 브로커가 죽어도 어떤 브로커가 리더인지 알 수 있다. 1-1-2 특정 파티션 내의 데이터의 순서는 항상 유지 된다. 1-2 Consumer Group : 컨슈머의 집합으로 특정한 토픽의 데이터를 받는다. 1-2-1 그룹 내에서 하나의 컨슈머는 다른 컨슈머와는 다른 파티션을 읽는다. 1-2-2 컨슈머가 파티션보다 많으면 남은 컨슈머는 논다. 1-2-3 아래 그림의 C는 컨슈머인데 그룹 A는 3개, 그룹 B는 2개의 컨슈머를 가진다. 1-2-3-1 각 컨슈머는 그림처럼 각기 다른 파티션을 읽고 있다. 1-2-3-2 그룹 B는 토픽 B의 파티션이 하나 뿐이므로 하나의 컨슈머는 논다. 1-2-4 컨슈머는 Grou..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cB3JgU/btqIGk8YecI/KM3mxwKEiK8MUSwfU8aSQ1/img.png)
1. 카프카는 메시지 브로커이다. 2. 데이터 소스에서 발생한 데이터를 취합하고 저장하여 많은 타겟 시스템에 제공하는 것이 주요 기능이다. 2-1 통신 프로토콜, 데이터 포멧, 데이터 스키마의 제약과 서버의 부하에 대한 대안으로 제안된 기술이다. 3. 속도가 빠르다, 확장성이 좋다, 분산형이다. 복구가 쉽고, 장애 처리에 유리하다. 이런 건 당연한 내용이다. 4. 용도 4-1 메시지 시스템 4-2 실시간 활동 추적 (데이터를 실시간으로 받아서 계속 모니터링 가능하다) 4-3 다양한 장소로 부터 다양한 정보를 축척 4-4 로그 정보 저장 4-5 Streaming processing (이건 실시간 정보처리인데 reactive programming에 유리하다.) 4-6 시스템 의존성을 줄일 수 있다. 4-7 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/xRr7V/btqH0pLtbov/Z7MEYsWSYFYVuIFHzZyZJ0/img.png)
1. Global variable은 define만 한 경우에도 값이 0으로 초기화 된다. 2. 반면 Local variable은 define만 한 경우에는 garbage value가 들어간다. 3. extern은 외부에서 해당 변수나 함수를 정의했다는 의미다. static의 활용 - static은 storage class specifier라고 불린다. 4. global 변수로 사용하면서 특정한 함수에서만 사용하기 원하는 경우는 4-1 함수 안에서 static으로 선언하면 된다. int main() { func1(); func1(); func1(); func1(); } void func1() { static int count = 0; printf("counter is :: \d", ++count); } 5..
1. WebFlux에서 de.flapdoodle.embed:de.flapdoodle.embed.mongo 라이브러리는 내장 mongodb를 지원한다. 1-1 기본적으로 테스트 용도로 만들어졌다. 2. 보통은 test 용도로 사용되며 gradle에서는 testImplemetation으로 지정되어 테스트에서만 활성화 된다. 2-1 아래는 Spring initializr에서 gradle로 지정하여 생성한 build.gradle파일이다. 기본적으로 test로 지정되어 있다. plugins { id 'org.springframework.boot' version '2.3.3.RELEASE' id 'io.spring.dependency-management' version '1.0.10.RELEASE' id 'java..
- Total
- Today
- Yesterday
- 도커 개발환경 참고
- AWS ARN 구조
- Immuability에 관한 설명
- 자바스크립트 멀티 비동기 함수 호출 참고
- WSDL 참고
- SOAP 컨슈머 참고
- MySql dump 사용법
- AWS Lambda with Addon
- NFC 드라이버 linux 설치
- electron IPC
- mifare classic 강의
- go module 관련 상세한 정보
- C 메모리 찍어보기
- C++ Addon 마이그레이션
- JAX WS Header 관련 stackoverflow
- SOAP Custom Header 설정 참고
- SOAP Custom Header
- SOAP BindingProvider
- dispatcher 사용하여 설정
- vagrant kvm으로 사용하기
- git fork, pull request to the …
- vagrant libvirt bridge network
- python, js의 async, await의 차이
- go JSON struct 생성
- Netflix Kinesis 활용 분석
- docker credential problem
- private subnet에서 outbound IP 확…
- 안드로이드 coroutine
- kotlin with, apply, also 등
- 안드로이드 초기로딩이 안되는 경우
- navigation 데이터 보내기
- 레이스 컨디션 navController
- raylib
- mapping
- spring boot
- Security
- Validation
- 상속
- 자바
- one-to-many
- 설정하기
- Spring Security
- 외부파일
- hibernate
- MYSQL
- Rest
- login
- 매핑
- one-to-one
- jsp
- WebMvc
- 하이버네이트
- 로그인
- 스프링
- form
- Many-To-Many
- Spring
- XML
- RestTemplate
- 스프링부트
- Angular
- crud
- 설정