1. REST에서 xml를 서버스하는 것은 간단하지만 xml서비스를 위한 스키마 작성은 조금 해야 할 것이 있다. 2. 우선 xsd를 작성해야 하는데 그냥 하기에는 조금 부담스럽기 때문에 generator로 작성하면 좀 편하다 Free Online XSD/XML Schema Generator - FreeFormatter.com XSD/XML Schema Generator Generates a XSD (XML Schema) from a XML file. Simply copy-paste OR upload your XML document and let the generator figure out the rest. The generator will try to use a 'smart' approach to fi..
1. 스프링 부트에서 REST에서 xml 형식으로 서비스를 지원하고 싶은 경우 간단하게 pom에 의존성을 추가하면 된다. 1-1 스프링 부트를 사용하지 않는 경우에는 ContentNegotiatingViewResolver를 등록하고 라이브러리 지정해야 한다. com.fasterxml.jackson.dataformat jackson-dataformat-xml 1-2 jackson xml를 사용하지 않는 경우에는 JAXB를 사용할 수 있다. 1-2-1 문제는 jaxb는 java 8에 포함되어 배포되어 Java 8 버전 이상을 사용할 경우에는 jaxb를 별도로 추가해야 한다. org.glassfish.jaxb jaxb-runtime 1-3 서비스 호출 시에는 Accept: text/xml를 추가해야 json이..
1. 이전 포스트에서 Consumer 사용방법을 언급할 때 이미 Consumer Group를 이야기 했다. 1-1 그 포스트에서 3개의 파티션을 가진 first_topic에 first_group이라는 그룹이름으로 3개의 컨슈머를 생성했다. 1-2 그런 후 하나를 죽여 2개의 컨슈머만 남겨 두었다. 2. 컨슈머 그룹의 관리하기 위해서는 kafka-consumer-groups라는 명령어를 사용한다. 2-1 아래는 한 줄의 내용을 중간에서 나누어 붙인 내용이다. 2-2 현재 컨슈머 그룹은 first_group 하나만 존재함을 --list 옵션으로 알 수 있고 2-3 --group옵션으로 해당 그룹을 선택하고 --describe 옵션을 통해 해당 그룹의 상태를 알 수 있다. 2-3-1 아래를 보통 그룹 firs..
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는 해당 토픽의 처음메시지 부터 다 수신한다. 없으면 그..
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 -> 이..
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..
1. 카프카는 메시지 브로커이다. 2. 데이터 소스에서 발생한 데이터를 취합하고 저장하여 많은 타겟 시스템에 제공하는 것이 주요 기능이다. 2-1 통신 프로토콜, 데이터 포멧, 데이터 스키마의 제약과 서버의 부하에 대한 대안으로 제안된 기술이다. 3. 속도가 빠르다, 확장성이 좋다, 분산형이다. 복구가 쉽고, 장애 처리에 유리하다. 이런 건 당연한 내용이다. 4. 용도 4-1 메시지 시스템 4-2 실시간 활동 추적 (데이터를 실시간으로 받아서 계속 모니터링 가능하다) 4-3 다양한 장소로 부터 다양한 정보를 축척 4-4 로그 정보 저장 4-5 Streaming processing (이건 실시간 정보처리인데 reactive programming에 유리하다.) 4-6 시스템 의존성을 줄일 수 있다. 4-7 ..
- 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