1
45
一些模式出现在脑海中:
一些资源: |
2
10
使应用程序尽可能无状态。更容易适应服务器场。 |
3
6
没有什么是免费的——归根结底,为了达到你的商业目标,什么是可以接受的妥协。主要变量是:
优秀的 paper 读这个题目。 我认为一个好的度量方法是检查“成本/用户”曲线,并尝试将其保持为线性进展(假设每个用户的可接受成本是一个已知参数-) 设计模式确实发挥了作用,但最重要的是总体架构。在模块级别上可能已经非常彻底了,但是由于缺少网络级别的约束和可伸缩性,因此会受到影响。 在一天结束的时候,我相信有人必须问自己:对于失败类型X,有多少“用户”会受到影响,持续多长时间? 在某个地方总会有一个SPOF(单点故障),但是你可以设计一个系统,使这个SPOF靠近端点(例如用户)。但在许多情况下,SPOF超出了应用程序的控制,例如网络弹出不可用。 不管怎样,我可以花几个小时研究这个问题… |
4
2
POSA(面向模式的软件体系结构)书籍是此类模式的一个很好的来源。 POSA 4 特别是与分布式计算有关,但是所有的卷都充满了可伸缩性模式。 |
5
1
我在无状态应用程序逻辑中观察到的是,它引入了许多其他需求,比如锁定数据库,最终会影响可伸缩性。 假设部署的应用程序逻辑在一个服务器场中是无状态的,那么对于同时访问集群的两个节点的请求,我们必须引入诸如db锁定之类的概念,以确保只处理一个请求。 我现在正在处理这种情况,我想知道其他人是如何处理这种无状态行为的。 |
thanuja · 没有Namenode的HBase高可用性高可用性 7 年前 |