개발하면서
-
Kafka Consumer Lag 모니터링, Burrow를 알아보자 (2)개발하면서/코드보면서 2019. 8. 21. 01:09
이전 포스트에서 Burrow의 기본 구조와 Consumer group list 관리가 어떻게 되고 있는지 알아보았습니다. 이번에는 Burrow의 모듈 중 storage, evaluator를 알아보겠습니다. storage는 Burrow에서 수집하는 데이터(Topic/Consumer 정보) 저장/조회 역할을 담당하고 있습니다. evaluator는 Consumer Offset/Lag을 지켜보면서 Consumer Group의 상태를 판단하는 역할을 합니다. Topic/Partition 상태를 판단해서 가장 안 좋은(?) 상태가 Consumer Group의 상태가 됩니다. storage storage는 카프카의 topic, offset, consumer offset 정보를 저장/조회 역할을 하는 모듈입니다. Bu..
-
Kafka Consumer Lag 모니터링, Burrow를 알아보자 (1)개발하면서/코드보면서 2019. 5. 28. 09:34
카프카 모니터링을 적용 하다보면 브로커는 JMX만으로 충분하지만 Producer나 Consumer는 까다롭습니다. https://docs.confluent.io/current/kafka/monitoring.html#server-metrics Monitoring Kafka — Confluent Platform Version 5.2.1 Docs Administer » Kafka Operations » Monitoring Kafka View page source Monitoring Kafka Apache Kafka® brokers and clients report many internal metrics. JMX is the default reporter, though you can add any pluggab..
-
Improving key expiration in Redis를 읽고개발하면서/타인글보면서 2019. 4. 21. 14:04
https://blog.twitter.com/engineering/en_us/topics/infrastructure/2019/improving-key-expiration-in-redis.html Improving Key Expiration in Redis After updating to a new Redis version the Cache team saw a regression. This goes over the investigation and our conclusions. blog.twitter.com 얼마 전 Twitter 블로그에 Redis expire 기능을 개선했다는 글이 올라와 주말 동안 읽고 정리하고자 합니다. 블로그 요약(?)만 하려고 했는데 3.2 activeExpireCycle 함수에 ..
-
Parquet 파일 잘 써보기개발하면서/타인글보면서 2018. 12. 2. 17:36
https://www.dremio.com/tuning-parquet Dremio is the Data-as-a-Service Platform. Get more value from your data, faster. Dremio makes your data engineers more productive, and your data consumers more self-sufficient. www.dremio.com Parquet 파일 하나는 1개 이상의 Row group이 있고 Row group은 Column 별로 저장되어있다. Row group 크기를 크게 하면 Column 데이터가 연속적으로 저장이 되는 부분이 커져 연산 속도나 압축 효율이 좋아진다. 하지만 Disk block 크기까지 고려한다면…. A: ..
-
Go 명분 찾기개발하면서/etc 2017. 10. 26. 19:36
Go에 관심을 갖은 건 2012년 정도로 생각된다. 하지만!! 지금까지 Go 관련 글을 Evernote나 workflowy에 저장만 하고 딱히 Go를 이용해서 뭘 만들어 보지도 않을뿐더러 문법도 애매하게 안다... 지금까지 행동 없이 관심만 가지고 지내면서 너무나 무뎌진 나의 개발 능력을 체감했고, 날카롭게 만들고 싶었다. (물론 무뎌짐을 느낀게 처음은 아니지만 이번엔 세게 왔다. 결심은 큰 의미 없으니 어느 정도 생각이 잡히면 바로 행동) 우선 내가 날카롭게 만들고 싶은게 무엇인지 적어보면 다양한 데이터를 손쉽게 수집하기, 수집한 데이터와 사용 용도에 적합한 DB solution을 찾을 줄 알고, 장/단 점 파악 및 설정 값들이 어떤 의미가 있는 정도, 마지막으로 저장된 데이터를 쉽게 관리할 수 있는 ..
-
Tapjoy에서 실시간으로 중복 제거하기개발하면서/타인글보면서 2017. 8. 2. 21:29
메시지 전송은 3가지 타입이 존재한다. at-most-once at-least-once at-exactly-once at-most-once은 유실이 있어도 괜찮을 때 사용하고 대부분 at-least-once(유실은 없지만 중복 존재)를 사용한다. 하지만 메시지 처리된 결과가 고객의 돈과 관련된 경우(금융, 광고 집행비 등) at-least-once로 메시지 전송이 이루어진다면 회사 운영에 큰 어려움이 생길 것이다. 개발자 유우머에도 있는 메시지 전송 타입 https://twitter.com/mathiasverraes/status/632260618599403520 Mathias Verraes on Twitter “There are only two hard problems in distributed syst..