istio
文章目录
整个容器化浪潮诞生了三个胜利者,分别是 docker, kubernetes, istio。 一个额外的胜利者是 golang。
Docker
docker 的作用是:
- 用标准语法描述出一个服务的静态/运行时环境,无关语言与操作系统
- 资源隔离
被打死的是 lxc, 它有资源隔离的功能,但是缺点太明显:
- 没有上面的 docker 提供的第一个功能
- 架构不如 docker 的 cli/server 的简洁明了,易于学习
受威胁的是 VM
- 太慢了
- 性能损耗大
- 无法 API 化
Kubernetes
真正的 DCOS,核心优势:
- 统一资源模型
- 统一 API 模型 (引导业务 API 向其靠拢)
- Node 横向扩展
- 插件化
被打死的是 Mesos/Marathon,缺点
- 两层架构的低效率 (仁慈独裁与低效民主)
- C++
- C++ 导致的难以 debug
- 难以扩展以增加新功能
另一个被打死的是 swarm/compose, 缺点
- 架构不清晰
- 自下而上地缓慢地堆功能
受威胁的是 YARN, 不如 kubernetes 通用性强
Istio
微服务相比于单体服务的一切问题都应该在这层解决, trace, 限流, metrics 等等
- 不需要修改业务代码
- 比手工的实现更完善,功能更强
受影响的:微服务业务代码
Golang
- 可读性最好之一
- 性能好到不用自己刻意关注
文章作者 涯余
上次更新 2019-03-25