121. SURO-Server
1.
클라이언트로 부터 메시지 셋을 요청받음
2. Thrift Server를 통해 데이터를 전달
1. Non-blocking (Java NIO) 멀티 쓰레드 서버 구현
2. THsHAServer :
1. TNonblockingServerTransport 를 상속받아 구현되었음
2. Half-sync/Half-async 방식의 스레드 관리함.
1. 쓰레드 풀 구성하는 방법
2. IO : 비동기, 데이터 처리 : 동기, 둘 사이에 큐 존재하는 방식 성능에 좋다.
3. 메시지 셋 프로세스 큐에 등록
1. memory queue
2. file-backed queue : 첫번째로 파일에 쓰기 때문에 데이터 유실이 없음
4. 메시지 라우터에서 메시지를 가져와
1. routingKey와 Filtering Rule에 따라 Sink에 메시지 전달
2. 하나의 router에 두개 이상의 Sink 가 연결된 경우 한쪽에만 데이터가 전달 될 가능성이 있어 보임- 좀 더 분석 필요)
5. Sink : 데이터의 목적지
1. 각 Sink는 메시지 큐를 가지고 있음.
2. 현재 Opensource 로 공개된 Sink
1. localFileSink
199. 제공
1.
sync : 동기적으로 하나의 메시지를 보내고 ACK 가 올때까지 블락됨
2. async :
1. 내부 queue에 메시지 등록
2. queue에서 메시지를 꺼내서 전송
3. batch process
4. batch size 설정 가능
5. 메시지에 대한 최대 대기시간 설정 가능
6. batch size 에 상관 없이 최대 대기 시간이 경과한 경우 전송.
3. Connection
1. Thrift client 는 NOT thread safe, 따라서 Sender의 수가 suro-server 보다 클 경우 여분의 concoction을 만든다.
202. Eureka
1.
동적 load balancing을 위해 사용함
2. netflix OpenSource Software 중 하나
3. SURO의 동적 Load Balancing을 위해 사용됨.
4. Rest based service
5. middle tier 인스턴스 검색에 사용
6. 장애 복구 및 load balance 용도로 주로 사용됨
7. 기능 :
1. load balancing
2. deployment
3. automation
4. data storage
5. caching
8. Eureka-server / Eureka-client 로 구성 됨
1. JavaBased
2. Round-Robin load balancing 제공
246. 확인
1.
hdfs 비우고..
1. ~download/hadoop/bin/hadoop fs -rmr /tmp/suroserver
2. suro server 실행
3. hdfs web ui 로 디스크 생성된것 확인
4. 클라이언트 실행
5. 카프카 토픽 목록
1. ~/download/kafka_2.8.0-0.8.0/bin/kafak-list-topic.sh —zookeeper localhost:2181
6. 카프카 콘솔 컨슈머
1. ~/download/kafka_2.8.0-0.8.0/bin/kafka-console-consumer.sh —zookeeper localhost:2181 —topic kafkaTest from-beginning
7. /sinkstat 확인
8. 동적 설정 확인
1.