微服务和go语的应 - pic.huodongjia.com · • 使 docker 部署? • 使 node ... • serf....
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