a96b36001f59cf22d642e4342fc70c9c.png

微服务是什么

  • 微服务是一种架构风格,也是一些协同工作小而自治的服务
  • 微服务的颗粒度比较小,一个大型软件应用由多个微服务组成
  • 每种服务只做一件事,一种松耦合能够被独立开发和部署的无状态服务

我们怎么做的微服务

  • 使用 micro 微服务框架+代码生成器提高开发效率
  • 持续集成:代码提交后,自动发布测试环境
  • 使用分布式调用链追踪
  • 优先拆分简单服务,目前定先拆封面点赞模块,进行试水 使用 k8s 部署、服务伸缩、故障恢复
  • 使用 istio 控制、观测网络流量

k8s 带来的价值

  • 自动化容器部署
  • 容器故障自动恢复
  • 自动化容器伸缩
  • 提供容器间的负载均衡(SVC)
  • 容器隔离可以更高效利用服务器资源
  • 以及配合其他组件实现网络和服务的治理

gitops.任何能被描述的内容都必须存在 git 中

  • Dockerfile
  • Jenkinsfile
  • skaffold.yaml
  • k8s(helm file)

微服务怎么跑脚本

  • 使用 micro localTask 执行任务
  • 脚本和服务代码在同一个 git 仓库
  • 使用 k8s 的 job 启动脚本

分布式追踪

  • Jaeger vs Zipkin
  • All in>内存级,默认最近5万条
  • 1%采样率
76ac86333cc00d49adda9d9f92e4e2d7.png
4166b3a3545758187876ec43de69fdce.png

micro 是什么

  • micro 是 go 微服务框架
  • micro 也是一个工具集
  • micro 还是一个生态系统

micro 的优势

  • 开箱即用
  • 工具库完善,比如 micro api、web、health 健康检查
  • 还在快速发展中

micro 的主要架构

  • 服务发现
  • 负载均衡
  • 消息编码
  • 异步消息

使用 micro 开发服务

21406daf83faa583f3e7632e3c35e866.png
e8ff48113d0705fd2f648635247a9893.png

定义客户端

493c9dfb22fa53c71024c4566bc6d757.png
20c9a1f75a88de9f51f2e4fb72d73439.png

api gateway

  • 安装:go get -u github.com/micro/micro
  • 运行:micro api
  • rest api to grpc

micro api 网关

f0ce1d925871bd253c23301cf3776554.png
de8726479a6d837f443c0ba83b4eb876.png
17d65d0cb068750d2aa93ba747e47baa.png

分享时间;1.2号21:30
参与方式:http://qr.topscan.com/api.php?text=https://u.wechat.com/MF_42eNJTICHfySrXc_P0V0

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐