Slide 1

Slide 1 text

Getting started Central Dogma
 with Golang Fukuoka.go#14+Umeda.go 2019/10/25 @matsumana

Slide 2

Slide 2 text

Self Introduction • Nameɿ Manabu Matsuzaki • Work atɿ LINE Fukuoka Corporation • Roleɿ SRE • Twitterɿ @matsumana • My experiences with Golang • Several Prometheus exporters (flink_exporter, td-agent_exporter, etc)

Slide 3

Slide 3 text

Agenda • Introduction to Central Dogma • Demo with a sample Golang app

Slide 4

Slide 4 text

Introduction to Central Dogma

Slide 5

Slide 5 text

References • Official site
 https://line.github.io/centraldogma/ • LINE DEVELOPER DAY 2017 - Central Dogma LINE's Git-backed highly-available service configuration repository • https://www.slideshare.net/linecorp/central-dogma-lines-gitbacked- highlyavailable-service-configuration-repository • https://www.youtube.com/watch?v=BmgizIFwMq4

Slide 6

Slide 6 text

What is Central Dogma? • Service configuration repository • Based on Git, ZooKeeper and HTTP/2 • Version controlled • Highly Available • Mirroring from an external Git repo • Change notification • Client libraries • Java, Golang(https://github.com/line/centraldogma-go)

Slide 7

Slide 7 text

Advantage of using Central Dogma • Can apply setting changes dynamically without application build/restart • e.g. • Service discovery • Rate limit • A/B testing • Rollout new features • etc

Slide 8

Slide 8 text

Demo with a sample Golang app

Slide 9

Slide 9 text

About the sample app • source code:
 https://github.com/matsumana/centraldogma-go-example • A very simple web app with only the Echo API • A greeting keyword is managed by Central Dogma

Slide 10

Slide 10 text

Sample app Overview

Slide 11

Slide 11 text

Demo

Slide 12

Slide 12 text

Thank you :)