Class CapacityService


  • @Service
    public class CapacityService
    extends Object
    Capacity service
    Author:
    hexu.hxy
    • Constructor Detail

      • CapacityService

        public CapacityService()
    • Method Detail

      • init

        @PostConstruct
        public void init()
      • destroy

        @PreDestroy
        public void destroy()
      • correctUsage

        public void correctUsage()
      • correctGroupUsage

        public void correctGroupUsage​(String group)
      • correctTenantUsage

        public void correctTenantUsage​(String tenant)
      • initAllCapacity

        public void initAllCapacity()
      • insertAndUpdateClusterUsage

        public boolean insertAndUpdateClusterUsage​(CounterMode counterMode,
                                                   boolean ignoreQuotaLimit)
        集群:1. 如果容量信息不存在,则初始化容量信息
        2. 更新容量的使用量usage,加一或减一
        Parameters:
        counterMode - 增加或者减少
        ignoreQuotaLimit - 是否忽略容量额度限制,在关闭容量管理的限制检验功能只计数的时候为true,开启容量管理的限制检验功能则为false
        Returns:
        是否操作成功
      • updateClusterUsage

        public boolean updateClusterUsage​(CounterMode counterMode)
      • insertAndUpdateGroupUsage

        public boolean insertAndUpdateGroupUsage​(CounterMode counterMode,
                                                 String group,
                                                 boolean ignoreQuotaLimit)
        提供给关闭容量管理的限制检验功能时计数使用
        Group:1. 如果容量信息不存在,则初始化容量信息
        2. 更新容量的使用量usage,加一或减一
        Parameters:
        counterMode - 增加或者减少
        group - group
        ignoreQuotaLimit - 是否忽略容量额度限制,在关闭容量管理的限制检验功能只计数的时候为true,开启容量管理的限制检验功能则为false
        Returns:
        是否操作成功
      • updateGroupUsage

        public boolean updateGroupUsage​(CounterMode counterMode,
                                        String group)
      • initGroupCapacity

        public boolean initGroupCapacity​(String group)
        初始化该Group的容量信息,如果到达限额,将自动扩容,以降低运维成本
      • initCapacity

        public boolean initCapacity​(String group,
                                    String tenant)
      • insertAndUpdateTenantUsage

        public boolean insertAndUpdateTenantUsage​(CounterMode counterMode,
                                                  String tenant,
                                                  boolean ignoreQuotaLimit)
        提供给关闭容量管理的限制检验功能时计数使用
        租户: 1. 如果容量信息不存在,则初始化容量信息
        2. 更新容量的使用量usage,加一或减一
        Parameters:
        counterMode - 增加或者减少
        tenant - 租户
        ignoreQuotaLimit - 是否忽略容量额度限制,在关闭容量管理的限制检验功能只计数的时候为true,开启容量管理的限制检验功能则为false
        Returns:
        是否操作成功
      • updateTenantUsage

        public boolean updateTenantUsage​(CounterMode counterMode,
                                         String tenant)
      • initTenantCapacity

        public boolean initTenantCapacity​(String tenant)
        初始化该租户的容量信息,如果到达限额,将自动扩容,以降低运维成本
      • initTenantCapacity

        public boolean initTenantCapacity​(String tenant,
                                          Integer quota,
                                          Integer maxSize,
                                          Integer maxAggrCount,
                                          Integer maxAggrSize)
        初始化该租户的容量信息,如果到达限额,将自动扩容,以降低运维成本
      • insertOrUpdateCapacity

        public boolean insertOrUpdateCapacity​(String group,
                                              String tenant,
                                              Integer quota,
                                              Integer maxSize,
                                              Integer maxAggrCount,
                                              Integer maxAggrSize)
        提供给API接口使用
        租户:记录不存在则初始化,存在则直接更新容量限额或者内容大小
        Parameters:
        group - Group ID
        tenant - 租户
        quota - 容量限额
        maxSize - 配置内容(content)大小限制
        Returns:
        是否操作成功