2011-12-08 16 views
0

我知道这听起来很普遍的问题,但我真的很感兴趣无国界的服务,我想知道它是否可以用这些限制(无状态)来完成。 例如谷歌有很多服务。 我更关心的是他们需要非常快速地返回结果的服务(最多只有几十毫秒),而且他们有大量的数据分散(也许他们会立刻为其保留一个摘要)。 在这些情况下,任何人都可以告诉他们的“业务逻辑”服务器是无状态的还是有状态的?无状态可能有简单的优点,即将状态转移到存储层(gfs/memcached/bigtable),但是如果您将请求传输到同一节点,那么您可以从内部存储器捕获结果。任何人都有这种巨大的可扩展性巨大的实时问题的经验?业务逻辑应该具有高可扩展性高实时性(最大允许响应时间为几十毫秒)的业务逻辑无状态还是有状态?

回答

1

如前所述,无状态服务更容易扩展 - 但您应该注意无状态意味着您将状态别人的问题(数据库,分布式缓存等)如果可以处理负载和延迟,带宽等。都支持你可以使你的服务无状态并获得好处。

如果,你的项目(例如预算)的约束范围内,你不能让别人解决问题的状态,你就必须让你的服务状态

1

只有无状态。有状态的服务服务非常难以扩展,因为在这种情况下你必须处理状态的同步。