def find_port(service_type, rdm_type=RT_CPU_USAGE_RDM, rdm_param=1, protocol=PT_TCP): """ 从sm查找单个服务的端口信息 :param service_type:服务类型, :param rdm_type:随机类型,0选择cpu使用率最低的;1一致性hash选择 :param rdm_param:如果随机类型是0,参数整形,表示随机个数 如果随机类型是1,list形式,hash key 列表 :param protocol:协议 :return:ip,port """ found_service = find_service(ParamCacher().sm_rpc, service_type, rdm_type, rdm_param) if not found_service: return None, None, None if protocol == PT_TCP: return found_service['ip'], found_service['port']['tcp'], PT_TCP elif protocol == PT_HTTP or protocol == PT_HTTPS: if 'http' in found_service['port']: return found_service['ip'], found_service['port'][ 'http'], PT_HTTP elif 'https' in found_service['port']: return found_service['ip'], found_service['port'][ 'https'], PT_HTTPS else: return None, None, None
def find_port(service_type, rdm_type=RT_CPU_USAGE_RDM, rdm_param=1, protocol=PT_TCP): """ 从sm查找单个服务的端口信息 :param service_type:服务类型, :param rdm_type:随机类型,0选择cpu使用率最低的;1一致性hash选择 :param rdm_param:如果随机类型是0,参数整形,表示随机个数 如果随机类型是1,list形式,hash key 列表 :param protocol:协议 :return:ip,port """ found_service = find_service(ParamCacher().sm_rpc, service_type, rdm_type, rdm_param) if not found_service: return None, None, None if protocol == PT_TCP: return found_service['ip'], found_service['port']['tcp'], PT_TCP elif protocol == PT_HTTP or protocol == PT_HTTPS: if 'http' in found_service['port']: return found_service['ip'], found_service['port']['http'], PT_HTTP elif 'https' in found_service['port']: return found_service['ip'], found_service['port']['https'], PT_HTTPS else: return None, None, None
def find_service(service_type, rdm_type=RT_CPU_USAGE_RDM, rdm_param=1): """ 从sm查找单个服务的详细信息 :param service_type:服务类型, :param rdm_type:随机类型,0选择cpu使用率最低的;1一致性hash选择 :param rdm_param:如果随机类型是0,参数整形,表示随机个数 如果随机类型是1,list形式,hash key 列表 :param protocol:协议 :return:ip,port """ found_service = find_service(ParamCacher().sm_rpc, service_type, rdm_type, rdm_param) return found_service
def find_service(service_type, rdm_type=RT_CPU_USAGE_RDM, rdm_param=1): """ 从sm查找单个服务的详细信息 :param service_type:服务类型, :param rdm_type:随机类型,0选择cpu使用率最低的;1一致性hash选择 :param rdm_param:如果随机类型是0,参数整形,表示随机个数 如果随机类型是1,list形式,hash key 列表 :param protocol:协议 :return:ip,port """ found_service = find_service(ParamCacher().sm_rpc, service_type, rdm_type, rdm_param) return found_service