【CDP-云设计模式】第4章,5.状态共享模式(State Sharing Pattern)
来源:互联网 发布:sql server免费吗 编辑:程序博客网 时间:2024/05/21 16:54
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
- 【CDP-云设计模式】第4章,5.状态共享模式(State Sharing Pattern)
- 【CDP-云设计模式】第4章,3.NFS共享模式(NFS Sharing Pattern)
- 【CDP-云设计模式】第5章,5.重命名分配模式(Rename Distribution Pattern)
- 【CDP-云设计模式】第4章,1.横向扩展模式(Scale Out Pattern)
- 【CDP-云设计模式】第4章,2.克隆服务器模式(Clone Server Pattern)
- 【CDP-云设计模式】第4章,4.NFS复制模式(NFS Replica Pattern)
- 【CDP-云设计模式】第4章,6.URL改写模式(URL Rewriting Pattern)
- 【CDP-云设计模式】第4章,7.改写代理模式(Rewrite Proxy Pattern)
- 【CDP-云设计模式】第4章,8.缓存代理模式(Cache Proxy Pattern)
- 【CDP-云设计模式】第2章,1.快照模式(Snapshot Pattern)
- 【CDP-云设计模式】第2章,2.印章模式(Stamp Pattern)
- 【CDP-云设计模式】第2章,3.纵向扩展模式(Scale Up Pattern)
- 【CDP-云设计模式】第3章,1.多服务器模式(Multi-Server Pattern)
- 【CDP-云设计模式】第3章,2.多数据中心模式(Multi-Datacenter Pattern)
- 【CDP-云设计模式】第3章,3.浮动IP模式(Floating IP Pattern)
- 【CDP-云设计模式】第5章,1.网络存储模式(Web Storage Pattern)
- 【CDP-云设计模式】第5章,2.直接托管模式(Direct Hosting Pattern)
- 【CDP-云设计模式】第5章,3.私有分配模式(Private Distribution Pattern)
- 自己写的React小例子
- Ubuntu is running in low-graphics mode
- java基础整理
- 【linux c】sizeof与strlen的区别简述_学习笔记_008
- Linux4操作篇-软件安装、开发环境搭建及个人云站点发布
- 【CDP-云设计模式】第4章,5.状态共享模式(State Sharing Pattern)
- 10个vim技巧
- 微信公众平台消息接口开发之微信浏览器HTTP_USER_AGENT判断
- linux基本命令
- Eclipse常用快捷键
- Hybird和Nation开发的优缺点
- Codeforces Round #315 (Div. 2) D 贝尔数
- 动态代理
- 奶牛晒衣服_纪中1744_贪心+堆