Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CentralDogma as powerful realtime configuration

CentralDogma as powerful realtime configuration

Tran Tuan Linh (LINE Corporation, Software Engineer)
Central Dogmaは、Git、ZooKeeperおよびHTTP/2をベースにした高可用性のバージョン管理サービスをサポートする設定リポジトリです。 FlashチームがCentralDogmaを使用してシステムを作成し、大量の時系列データワークロードを処理する方法についてご紹介します。

how Flash team use CentralDogma to create a system handle huge amount time series data workload

LINE Developers

October 07, 2020
Tweet

More Decks by LINE Developers

Other Decks in Technology

Transcript

  1. About me • I am Linh, from Observability Team •

    github.com/linxGnu • My team deals with: • Traces, Logs, and Metrics
  2. Impact Measurement Alerting Trending Root cause Analysis Anomaly Detection cpu

    [host=10.58.15.27] {
 timestamp: 1600649643,
 value: 0.95 /* 95% */ }
  3. Challenges • “Millions” metrics, “Billions” data points per day •

    Resolution variety • Thus, application/server may export a metric every 60s/30s/15s • 60s -> 1 point per minute • 30s -> 2 points per minute • 15s -> 4 points per minute • 10s -> 6 points per minute • So, higher resolution (shorter interval) -> more points • But give us more detail what’s going on with servers/services/apps • Metrics Storage must be fast for realtime usage (graphing, alerting)
  4. Journey • For various reasons, in 2018, we decide to

    take a ride • Build in-house distributed metrics storage from scratch • Named “Flash” - Avengers hero
  5. Flash’s Concern • Configuration management is another challenge • Successful

    distributed software system needs effective configuration management • Planning, identifying, tracking and verifying changes in configurations • Maintaining configuration integrity
  6. Flash’s Concern • What if configuration “looks” like “git” •

    Changes by "Pull Request” • Workflow through “Review” • Applying changes by “Merge” • Tracking with “Commits” • Great team collaboration
  7. • To the rescue • An open-source HA version-controlled service

    configuration repository based on Git, ZooKeeper and HTTP/2 • Features: • Store configuration files into “Git” (such as .json, .xml, .yaml) • PR for changes, get it reviewed, and merged for applying • Realtime updates-notification • Once PR got merged, services/apps are notified, no reboot
  8. Provisioning Flash - CentralDogma • Git PR makes it all

    • Scalability: • Add/remove a shard • Add/remove a node in shard • User provisioning: authorization, query scope, etc • On-the-fly, no servers reboot • Realtime feature adjustment: • Enable/Disable input source(s) • Enable/Disable module • Rate limit adjustment • …
  9. Other configurations Flash - CentralDogma • Also stored in git

    repo, managed through CentralDogma • Flash deployment package: • Binaries only • No file config!
  10. Keynotes • CentralDogma provides native pure Java/Go client library •

    And more in the future • Awesome, most of Flash modules are written in Go :) • Zero runtime overhead • Clean and deadly simple API • Reliability, Stability • Cost reduction
  11. Keynotes • CentralDogma authors • They are friendly, supportive and

    professional • Stay in user shoes • Problems are often solved quickly • Up to date with patches and detail guidelines