规则 - 放宽时间约束

内容:尽可能放宽系统中的时间约束。

场景:当考虑在用户操作步骤之间,某些项目或对象必须保持某种状态的约束时。

用法:放宽业务规则的约束。

原因:因为大多数关系型数据库的ACID属性,要扩展带有时间约束的系统难度极高。

要点:认真考虑诸如某个产品从用户查看开始,到购买为止的时间约束的必要性。与让用户有些失望相比,系统因为无法扩展而停止服务相比更为严重。

 

分布式环境中有三个核心要求存在:

1.一致性(Consistency):从客户角度看,一组操作同时发生。

2.可用性(Availability):每个操作必须都能收到预期的响应

3.分区容错性(Partition tolerance):即使个别消息丢失,操作仍然可以完成。

放宽了时间约束相当于在一致性上放宽了时间要求,这个对于分布式的问题解决也放宽了解决思路。

解决CAP问题的架构的常用方法是BASE,即基本可用(Basically Available)、软状态(Soft state)、最终一致(Eventually consistent)。

 

除非是同步要求很高的系统,例如同步聊天的系统,其他的系统都要考虑这种时间约束的问题。同步性要求越高的系统,扩展性的挑战难度越高。正常的银行业务系统,一般都是分布式系统,放宽了时间约束,因为几秒钟的等待与系统不可用之间,银行多会选择等待几秒。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值