一些背景:我正在建立一个非常复杂的网站(就使用的堆栈而言)。其他一些较小的组件包括:
- 弹性搜索
- 雷迪斯
- 零MQ
- 沙发底座
- 重新思考数据库
- 通过 Nginx 的流量 -> 节点
目的是运行一个高可用的网站,但同时又非常精简(和低成本)。
我正在考虑的当前拓扑:
- 2 个具有 DNS 负载平衡的主动/主动配置网络服务器。(Nginx、静态资产服务等+负载均衡到第二层:
- 2 个应用服务器处于活动/活动状态。像 Elasticsearch 这样的大多数组件都可以自己进行分片/复制,因此设置起来应该不那么难(手指交叉)
- 复制 Redis 中的会话处理
当然,我希望在出现问题时进行监控和警报,理想情况下,系统应该能够自动处理故障。诸如:将 Redis 从 Slave 提升为 Master,或者甚至初始化一个新的 ec2-instance,如果我要在 Ec2 上的话。
但是,我想摆脱特定托管服务提供商的束缚。我相信(如果错了请纠正)是 Openstack 的用武之地。
是否正确: - openstack 允许我控制我的网站堆栈的整个生命周期(涵盖多个盒子/虚拟机?) - 它是否允许我(当然在配置上工作)启动实例,监控,在出现问题时发出警报,在这些情况下采取适当的措施等?
还是 Openstack 完全是适合这项工作的错误工具?还有什么更适合作为我整个网站之上的“管理层”的吗?
谢谢