【CDP-云设计模式】第4章,5.状态共享模式(State Sharing Pattern)

1.要解决的问题

  当生成动态内容时,常常需要使用包含用户特有的状态信息(HTTP会话信息)。然而,当利用负载均衡对多个网站/应用服务器的运行进行控制时,如果让每一个服务器都各自保存状态信息,那么一旦某个服务器失效或者人为地减少服务器数量,这就会导致状态信息的丢失。

2.云模式的说明

  这个模式让你能在横向扩展架构中维护状态信息。它可以保证在服务器数量增加时状态信息的继承以及防止服务器数量减少(包括失效)时状态信息的丢失。状态信息将被存放于高持久性的共享数据存储(内存/磁盘)中,这些信息将被多个服务器引用。这使得服务器可以“无状态”,即无需保存状态信息。即使添加了一个新的服务器,但只要让它访问共享数据存储就能继承状态信息。

3.实施

  AWS数据存储包括“ElastiCache”、“SimpleDB(KVS)”和“DynamoDB(KVS)”这些都可以用来保存状态信息。根据需要选择其中一项。

  • 准备一个数据存储来保存状态信息。

  • 使用一个识别用户的ID(会话ID或用户ID)作为数据存储中的主键,并将用户信息保存为对应的值。

  • 使用数据存储代替web/AP服务器来对状态信息进保存、引用和更新。

4.配置

5.好处

  这让你在使用横向扩展模式时无需担心状态信息的继承或丢失问题。

6.注意事项

  • 由于多个web/AP服务器访问状态信息都集中在一个节点位置,所以你必须防止数据存储的性能成为瓶颈。如果性能要求较高,可以考虑选择很少成为瓶颈的DynamoDB。

  • 根据需要,亚马逊关系型数据库服务(RDS)(一个关系型数据库管理系统)或亚马逊简单存储服务(S3)(网络存储)也能用于数据存储。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值