最近几年云方向火热,iaas和paas两方面都有深入发展,其中两个有代表性的开源项目就是openstack和cloudfoundry。初步了解一下两个项目,发现诸多共同点和大家分享。
大致总结如下表
openstack | cloudfoundry | Kubernetes | |
中心控制器 | nova | Cloud Controller | kube-controller-manager |
权限管理验证 | keystone | uaa | kube-apiserver |
消息处理传输 | MQ,HTTP | nats,HTTP | etc,HTTP |
程序数据包管理 | glance | droplet,buildpack | docker image |
数据共享 | sql、nosql | sql、nosql | etc |
执行使用agent | Nova-Compute,Nova-Network | dea,warden | Kubelet |
底层封装的交互库 | libvirt | warden | pod,docker |
由表中看出对于设计这样一个分布式系统,需要有中心控制器、权限控制,消息通信,执行agent等模块。
那么openstack,cloudfoundry两个系统能托管多少台机器的瓶颈在哪里?
主要在通信的消息量,sql上面,对于cloudfoundry中的nats的性能直接决定了系统管理机器规模。
一般处理sql方面瓶颈的方法:优化sql,多使用nosql。