GopherChina2017-3 Go、容器与微服务

阿里云:

Go的微服务框架,在哪里?


GopherChina2017-3 Go、容器与微服务_第1张图片
GopherChina2017-3 Go、容器与微服务_第2张图片
GopherChina2017-3 Go、容器与微服务_第3张图片

天象,调用链路监控(非常重要),开源的如opentracing

RPC,Dubbo


GopherChina2017-3 Go、容器与微服务_第4张图片
GopherChina2017-3 Go、容器与微服务_第5张图片
GopherChina2017-3 Go、容器与微服务_第6张图片

为啥要微服务?
源自业务的复杂度提升,团队的应对策略也在发生相应调整,微服务架构的引入比较自然。


GopherChina2017-3 Go、容器与微服务_第7张图片

dubbo不适合数据量很大的情况,因为它是用单个的长连接

阿里云某团队编程语言构成


GopherChina2017-3 Go、容器与微服务_第8张图片

dubbo的interface IDL是java定义的,这是一个缺点


GopherChina2017-3 Go、容器与微服务_第9张图片

go-torch用于性能调优,比较好用

gRPC


GopherChina2017-3 Go、容器与微服务_第10张图片

专门强调了Http/2

GopherChina2017-3 Go、容器与微服务_第11张图片
GopherChina2017-3 Go、容器与微服务_第12张图片

go-kit,微服务工具箱


GopherChina2017-3 Go、容器与微服务_第13张图片
GopherChina2017-3 Go、容器与微服务_第14张图片

Tips:设计respones的时候,把http做一个很好的映射,便于与gRPC配合

GopherChina2017-3 Go、容器与微服务_第15张图片

微服务实践经验


GopherChina2017-3 Go、容器与微服务_第16张图片

CoreOS:

GopherChina2017-3 Go、容器与微服务_第17张图片
GopherChina2017-3 Go、容器与微服务_第18张图片
GopherChina2017-3 Go、容器与微服务_第19张图片

有状态的部署比较困难

GopherChina2017-3 Go、容器与微服务_第20张图片
GopherChina2017-3 Go、容器与微服务_第21张图片

CoreOS提供了Operator来做这事,模拟一个运维人员(咋模拟?写规则,用一系列API来做这些规则?)


GopherChina2017-3 Go、容器与微服务_第22张图片
GopherChina2017-3 Go、容器与微服务_第23张图片
GopherChina2017-3 Go、容器与微服务_第24张图片

陈述式的Cloud Native式的API,说明要怎样,而不是怎么做

GopherChina2017-3 Go、容器与微服务_第25张图片

Operator未来应当是以应用和服务为中心的自动化


GopherChina2017-3 Go、容器与微服务_第26张图片
GopherChina2017-3 Go、容器与微服务_第27张图片

哔哩哔哩:

Go微服务实战


GopherChina2017-3 Go、容器与微服务_第28张图片
GopherChina2017-3 Go、容器与微服务_第29张图片
  • 搞清楚业务的边界
  • 农村包围城市,先搞周边的业务
  • 考虑升级兼容性

怎样隔离?

  • 先买服务器,重新部署
  • 内外网隔离
  • 搞清业务的逻辑单元

RPC框架


GopherChina2017-3 Go、容器与微服务_第30张图片

为减少gc的压力,将调用方式由指针修改为其它

GopherChina2017-3 Go、容器与微服务_第31张图片

高可用

  • 先做隔离


    GopherChina2017-3 Go、容器与微服务_第32张图片
  • 超时


    GopherChina2017-3 Go、容器与微服务_第33张图片
  • 限流


    GopherChina2017-3 Go、容器与微服务_第34张图片
  • 降级


    GopherChina2017-3 Go、容器与微服务_第35张图片
  • 容错


    GopherChina2017-3 Go、容器与微服务_第36张图片

中间件


GopherChina2017-3 Go、容器与微服务_第37张图片
GopherChina2017-3 Go、容器与微服务_第38张图片
GopherChina2017-3 Go、容器与微服务_第39张图片
  • 配置中心


    GopherChina2017-3 Go、容器与微服务_第40张图片
  • 调用链跟踪


    GopherChina2017-3 Go、容器与微服务_第41张图片

    GopherChina2017-3 Go、容器与微服务_第42张图片
    • 平级依赖变为层级依赖,可减少一些连接数

持续集成和交付
服务版本号在RPC或http的url中会包含


GopherChina2017-3 Go、容器与微服务_第43张图片
GopherChina2017-3 Go、容器与微服务_第44张图片

使用GitLab


GopherChina2017-3 Go、容器与微服务_第45张图片
GopherChina2017-3 Go、容器与微服务_第46张图片
GopherChina2017-3 Go、容器与微服务_第47张图片

运维
DevOps是微服务必须的,也需要各部门共同努力


GopherChina2017-3 Go、容器与微服务_第48张图片
GopherChina2017-3 Go、容器与微服务_第49张图片
GopherChina2017-3 Go、容器与微服务_第50张图片

你可能感兴趣的:(GopherChina2017-3 Go、容器与微服务)