微服务是什么
-
微服务是一种架构风格,也是一些协同工作小而自治的服务
-
微服务的颗粒度比较小,一个大型软件应用由多个微服务组成
- 每种服务只做一件事,一种松耦合能够被独立开发和部署的无状态服务
我们怎么做的微服务
-
使用 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%采样率
micro 是什么
-
micro 是 go 微服务框架
-
micro 也是一个工具集
- micro 还是一个生态系统
micro 的优势
-
开箱即用
-
工具库完善,比如 micro api、web、health 健康检查
- 还在快速发展中
micro 的主要架构
-
服务发现
-
负载均衡
-
消息编码
- 异步消息
使用 micro 开发服务
定义客户端
api gateway
-
安装:go get -u github.com/micro/micro
-
运行:micro api
- rest api to grpc
micro api 网关
分享时间;1.2号21:30
参与方式:加微信;17812796384