低流量和高可用性Web应用程序的体系结构模式

时间:2016-08-21 10:25:48

标签: architecture scaling high-availability

我们有一个企业应用程序,它拥有高度敏感的数据和安全性是一个大问题,因此我们最终在物理服务器上构建了一个整体,现在我们正在缓慢扩展,只有很少的微服务,但应用程序的主要部分仍然是整体

由于我们的业务需求,我们需要扩展我们的应用以实现高可用性(99.999正常运行时间),但与其他系统不同,我们没有高流量。

我搜索了很多内容,但大多数材料都是以高可用性为目标,流量高,复杂度高。

我们的应用程序堆栈

  • RHEL OS,Rails,Mysql,phusion passenger

即使您向我提供了此类应用程序的示例(包含设计)的链接,其中使用的上述架构也很有用

1 个答案:

答案 0 :(得分:0)

要考虑一些想法:

  1. 确保您的网络应用程序是无状态的(网络服务器上的内存或磁盘中没有数据保存)

  2. 将您的Web应用程序扩展为负载均衡的群集/至少3个节点的集合(请查看nginx)

  3. 在负载均衡设置中测试您的应用程序,以确保新的基础架构更改未改变/影响该行为。 (如果你修好#1,应该没问题)

  4. 将数据库扩展为至少3个节点的集群

  5. 确保您有良好的监控设置和任何故障警报。

  6. 混沌测试:随机关闭Web节点或数据库节点,了解系统如何做出反应,以及是否对可用性有任何影响以及如何改进。