일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- clean code
- 동시성
- 실전사례
- 클린코드
- 데이터레이크
- kafka
- 해커컵
- wait region split
- 개발자로살아남기
- functional thinking
- 데이터야놀자
- 켄트백
- coursera
- 개발7년차매니저1일차
- spray
- datalake
- 개발자
- 2017회고
- 데이터유통
- Raw-Request-URI
- 알고스팟
- 함수형 사고
- 박종천
- 회고
- 2016년회고
- 테스트주도개발
- 데이터플랫폼
- 코딩인터뷰
- 단위테스트
- hackercup2017
- Today
- Total
목록솔루션 (6)
Software Engineering Note
문서 설명이 좀 애매한데 이 값들을 다 조정해줘야 한다. https://kafka.apache.org/documentation/ Apache Kafka Apache Kafka: A Distributed Streaming Platform. kafka.apache.org (사용하는 버전에 맞는 것을 참고하시게) producer (kafka client / producer config) - max.request.size broker (kafka server / server.properties) - message.max.bytes - replica.fetch.max.bytes: message.max.bytes 보다 크거나 같게 - socket.request.max.bytes 이 값도 충분히 커야 하지만 보통 1..
spray에서 (reserved characters) 를 내려줄 때 character에 따라서 렌더링을 다르게 해준다. 디코딩 되는것 => !, *, ', (, ), ;, :, @, &, =, +, $, ,디코딩 안되는것 => /, ?, #, [, ] 사용자가 날린, 날 것의 인코딩된 문자를 이용하고 싶다면 "Raw-Request-URI" 헤더를 이용하면 된다. 설정 파일에 "spray.can.server.raw-request-uri-header = on" 으로 설정 해주면, spray에서 요청을 받을때 "Raw-Request-URI" 헤더를 붙여서 올려준다. 그런다음, optionalHeaderValueByName(`Raw-Request-URI`.name) { hv =>....} 이런식으로 이용하면 되..
특정한 조건을 갖는 값들만 리전으로 분리하려고 split 하다가 연속으로 split을 호출하면 먹혀버리는(?) 현상을 겪고 해결책을 찾아보았다. 결국은 이 코드를 참고https://github.com/apache/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/util/RegionSplitter.java#L670-L757 1. 분할된 리전이 온라인 상태로 올라왔는지 확인하고2. major compaction이 끝났는지 체크한다. 위 코드를 이용해서 현재 상황에 맞게 수정해서 해결. 분할된 리전을 다시 쪼개려고 할때 유용하겠다.
kafka 메시지를 처리하는 클라이언트 입장에서는 크게 simple consumer, high level consumer로 나누어진다. 대부분 high level consumer로 문제를 해결할 수 있지만 세세한 컨트롤이 필요한 경우에는 simple consumer를 써야한다. 얼마전에 http api로 데이터를 뒷단에 줘야하는 일이 있었다. 데이터 큐로 kafka를 사용하고 있었는데 여기에 있는 데이터를 넘겨줘야 했다. 그런데 한 번 주고 끝나는 것이 아니라, 과거에 줬던 데이터들을 다시 줘야 하는 경우가 있었다. 그걸 처리하기 위해서 db에 넣었다가 주는 등의 해결책이 거추장스럽게 느껴져 바로 꺼내줄 수는 없을까? 고민했는데 아래와 같이 http client를 만들어둔걸 보고 가능하리라 생각했다. h..
apache kafka home: http://kafka.apache.org/github: https://github.com/apache/kafka kafka 홈에 가보면 "A high-throughput distributed messaging system." 이렇게 소개하고 있다. 처음에는 큐라고 생각하고 접근했는데 큐보다는 훨씬 더 광범위한 기능을 가진, 그야말로 분산 메시징 시스템이다. kafka에는 몇가지 개념이 있는데 대략 이런 것들이 나온다. 원문First let's review some basic messaging terminology: - Kafka maintains feeds of messages in categories called topics.- We'll call processes ..
본 포스팅에서는 톰캣로그를 수집하는데 ELK를 적용한 내용을 기술합니다. 소개 수 많은 서버가 있는 환경에서 모든 서비스가 제대로 동작하는지 확인하기 위한 방법으로 로그 수집은 의미가 있습니다. ELK는 로그수집에 적합한 솔루션으로 로그 수집부터 시각화까지 모든 것을 해결해주죠. ELK는 Elasticsearch + Logstash + Kibana의 조합으로 흔히 ELK Stack이라고 부릅니다. 로그 수집에 ELK를 적용할 때 각 모듈의 기능은 다음과 같습니다. Elasticsearch: 로그 저장소Logstash: 로그 수집기/처리기 Kibana: 수집된 데이터 시각화 여기에 Redis를 끼워넣는 등 다양하게 확장이 가능합니다.(확장과 관련된 포스팅: http://www.ianunruh.com/201..