资源管理中的模式

在系统中实现资源管理时必须用到的设计方法很大程度上取决于领域,系统的约束和系统需求。模式抽象自特定的领域,并且受系统需求和需求驱使。
根据系统的性能,可伸缩性,可预测性,灵活性,稳定性,一致性等特点来对应以下模式。
1.性能
    Eager Acquistion 模式有助于加快第一次资源访问,从而加快整个系统的响应速度。
    Caching模式通过避免对常资源的昂贵的重复获取操作来提升性能。
    Pooling模式减少了开销很大的用于释放和重新获取资源的操作。从而提升了性能。
    Caching 模式同Pooling模式相关。但是Caching模式是关于管理有标识的资源,在Caching模式中,资源使用者介意返回的是哪个被缓存的资源,在Pooling模式中,资源使用者不介意资源的标识,池的所有资源都是一样的。
2.可伸缩性
    Leasing模式和Evictor模式可以帮助释放不用的资源,降低资源饥饿的风险,从而提升性能的可伸缩性和稳定性。
    Coordinator模式提供了一种解决方案,随着系统参与者数目变化而具可伸缩性。
    Caching模式和Pooling模式有助于避免昂贵的资源获取和释放,从而有助于提升系统的可伸缩性,
    Lazy Acquistion 和 Partial Acquistion模式则确保资源只在实际需要时才被获取,从而降低了再特定时间点需要资源的数目,Resource Lifecycle Manger模式通过管理资源的生命周期并确保维护优化数目的资源的方式来支持可伸缩性。
3.可预测性
    Eage Acquisition 模式避免了再运行执行昂贵的资源的获取操作,它通过确保资源获取和访问的响应时间很短而增加了系统的可预测性,同理可知Pooling模式也提升了系统性能。
4.灵活性
    LookUp模式吧资源提供者同资源使用者解耦合了,这一耦合使系统整体变的更灵活,
    Partial Acquistion模式和Lazy Acquistion模式则在另一层面上带来了灵活性。
5.稳定性
    Lazy Acquistion 模式和Eager Acquistion 模式减少了任意给定时间的资源消费。这些模式有助于尽量减少资源的消费,确保系统的稳定性,
    Pooling模式则通过避免经常执行低层次的获取资源及释放资源操作而提升系统的稳定性,
    Evictor 模式则降低了资源资源耗尽的可能性,从而也增加了应用程序的稳定性。
    Leasing模式减少了对未来的资源的消耗并避免了资源使用者对非法资源的访问,从而有助于提升系统的可靠性和稳定性,
    Resource Lifecycle Manger模式可确保仅当有足够资源可用时才会把资源分配给用户,这使系统更稳定,因为避免了用户通过直接从系统获得资源而可能导致的资源饥饿情形
5.一致性
   Coordinator模式有助于保证本地以及分布资源间的一致性。


   

你可能感兴趣的:(设计模式)