Go 微服务框架 micro

xjtuhit · · 2696 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

微服务是什么

  • 微服务是一种架构风格,也是一些协同工作小而自治的服务

  • 微服务的颗粒度比较小,一个大型软件应用由多个微服务组成

  • 每种服务只做一件事,一种松耦合能够被独立开发和部署的无状态服务

我们怎么做的微服务

  • 使用 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%采样率

image

image

micro 是什么

  • micro 是 go 微服务框架

  • micro 也是一个工具集

  • micro 还是一个生态系统

micro 的优势

  • 开箱即用

  • 工具库完善,比如 micro api、web、health 健康检查

  • 还在快速发展中

micro 的主要架构

  • 服务发现

  • 负载均衡

  • 消息编码

  • 异步消息

使用 micro 开发服务

image

image

定义客户端

image

image

api gateway

  • 安装:go get -u github.com/micro/micro

  • 运行:micro api

  • rest api  to grpc

micro api 网关

image

image

image

分享时间;1.2号21:30
参与方式:加微信;17812796384


有疑问加站长微信联系(非本文作者)

本文来自:51CTO博客

感谢作者:xjtuhit

查看原文:Go 微服务框架 micro

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2696 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传