istio

整个容器化浪潮诞生了三个胜利者,分别是 docker, kubernetes, istio。
一个额外的胜利者是 golang。

Docker#

docker 的作用是:

  1. 用标准语法描述出一个服务的静态/运行时环境,无关语言与操作系统
  2. 资源隔离

被打死的是 lxc, 它有资源隔离的功能,但是缺点太明显:

  1. 没有上面的 docker 提供的第一个功能
  2. 架构不如 docker 的 cli/server 的简洁明了,易于学习

受威胁的是 VM

  1. 太慢了
  2. 性能损耗大
  3. 无法 API 化

Kubernetes#

真正的 DCOS,核心优势:

  1. 统一资源模型
  2. 统一 API 模型 (引导业务 API 向其靠拢)
  3. Node 横向扩展
  4. 插件化

被打死的是 Mesos/Marathon,缺点

  1. 两层架构的低效率 (仁慈独裁与低效民主)
  2. C++
  3. C++ 导致的难以 debug
  4. 难以扩展以增加新功能

另一个被打死的是 swarm/compose, 缺点

  1. 架构不清晰
  2. 自下而上地缓慢地堆功能

受威胁的是 YARN, 不如 kubernetes 通用性强

Istio#

微服务相比于单体服务的一切问题都应该在这层解决, trace, 限流, metrics 等等

  1. 不需要修改业务代码
  2. 比手工的实现更完善,功能更强

受影响的:微服务业务代码

Golang#

  1. 可读性最好之一
  2. 性能好到不用自己刻意关注

  转载请注明: Hang istio

 上一篇
Emacs is drugs Emacs is drugs
每个程序员都会遇到这一天,他要做一个决定,vim 还是 emacs,还是 IDE。 近来一直主要用 Golang, 早已不再年轻的我自然是选择功能强大的 Goland, 日常工作无压力。即使没有免费的注册码了,我也毫不犹豫地买了正版。只
2019-03-28
下一篇 
煎蛋网 煎蛋网
互联网已经诞生了三十年了。 从 hackernews 的反馈来看,对于现状的不满相当之多。科技公司更容易成为世界上最庞大的公司之一,未来也更是如此。我们有了更加高效,庞大的网络系统,更加便捷的生活服务,代价是:更多的信息收集,无法匿名,更少
2019-03-21
  目录