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.
52 lines
1.2 KiB
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);
|
|
} |