微服务和go语的应 - pic.huodongjia.com · • 使 docker 部署? • 使 node ... • serf....

43
微服务和Go语的应 AstaXie

Upload: vukhanh

Post on 05-Jun-2018

323 views

Category:

Documents


0 download

TRANSCRIPT

  • Go

    AstaXie

  • Go Web

    beego

    GopherChina

    Go Team

    Go

    EGO

    CEO

  • OUTLINE

    Go

    Go

  • Go

  • Go

  • Go

    -fast!

    GC

    C Like

  • Go

    A breath of fresh air from "kitchen sink" languages (cf. Scala)

    Simple, orthogonal features that aren't surprising (cf. Node)

    Efficient by default (cf. Python, Ruby)

    Predictable runtime behavior, fast lifecycles (cf. all JVM languages)

    Familiar heritage, syntax, and paradigm (cf. Haskell, Elixir)

  • https://talks.golang.org/2012/splash.article

  • Go

  • Go

  • Go

  • 1000

    Docker

    Node

  • size

    A single programmer can design, implement, deploy, and maintain

    Fred George

    Software that fits in your head.

    Dan North

  • data

    "A microservice implements a single bounded context."

    - Martin Fowler, Sam Newman

    "A single logical database per service."

    Chris Richardson

  • operation

    "Built & deployed independently. Stateless; state as backing services."

    - 12Factor.net

    "Addressable through a service discovery system."

    Chris Richardson

  • API

    tracing

  • Go

  • seesaw

    caddy

  • etcd

    consul

    serf

  • tyk

    fabio

    valcand

    traefik

  • NSQ

    NATS

  • gRPC

    HTTP

  • C

    GC

  • docker

  • beego

    go-kit

    go-micro

    gin

    Iris

  • k8s

    swarm

  • /

    APM

  • Prometheus

    open-falcon

    grafana

  • Beats

    Heka

  • APM

    opentracing

    cloudinsight

    appdash

  • Go

    http