应用程序架构建议(可伸缩性/性能)

时间:2012-06-09 11:44:27

标签: .net web-applications architecture

我使用.NET开发了一个完全内存的应用程序。数据在启动时从持久存储加载一次,从那时起,只有对象的更改通过工作队列从应用程序层流回到持久存储。它运行良好,基准测试甚至更好(每秒100k api事务)。我意识到这是一种非传统且难以扩展的架构。这是一个实验=)

Architecture

(左侧的当前架构,右侧所需的架构)

现在我开始考虑冗余。我想并排运行两个应用程序服务器并在它们之间实现负载平衡。这将意味着保持所有内存中对象同步 - 可能通过持久的tcp连接来回穿梭二进制序列化对象。最终的一致性是可以的。从概念上讲,我可以看到这两个应用程序服务器从持久存储冷启动到相同状态后如何工作,但是我很难概念化如何在请求流入时实例化和同步新的应用程序服务器节点。我想这听起来像快照+事务日志那种东西?

这听起来是否可以实现?这种架构在任何地方都可以使用吗?

1 个答案:

答案 0 :(得分:1)

有些产品可以满足您的需求。你还没有提到你的nfrs所以我不知道你是否只想提高效率。像infinispan这样的东西对你有用。更具挑战性的是数据的事务性,因为你在内存空间。值得探索如何实现技术和破坏测试。