You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
trea1/ServiceRegistry.java

52 lines
1.2 KiB

package com.soa.microservice.core;
import java.util.List;
import java.util.Map;
/**
* 服务注册中心接口
* 定义服务注册、发现、下线等基本操作
*/
public interface ServiceRegistry {
/**
* 注册服务实例
* @param instance 服务实例信息
* @return 是否注册成功
*/
boolean register(ServiceInstance instance);
/**
* 注销服务实例
* @param instanceId 服务实例ID
* @return 是否注销成功
*/
boolean deregister(String instanceId);
/**
* 心跳续约
* @param instanceId 服务实例ID
* @return 是否续约成功
*/
boolean heartbeat(String instanceId);
/**
* 根据服务名查询服务实例列表
* @param serviceName 服务名称
* @return 服务实例列表
*/
List<ServiceInstance> getInstances(String serviceName);
/**
* 获取所有可用的服务名称
* @return 服务名称列表
*/
List<String> getServices();
/**
* 根据条件查询服务实例
* @param serviceName 服务名称
* @param filter 过滤条件
* @return 符合条件的服务实例列表
*/
List<ServiceInstance> getInstances(String serviceName, Map<String, String> filter);
}