Commons现在提供了一个ServiceRegistry接口,它提供了诸如register(Registration)和deregister(Registration)之类的方法,允许您提供定制的注册服务。Registration是一个标记界面。
- @Configuration
- @EnableDiscoveryClient(autoRegister=false)
- public class MyConfiguration {
- private ServiceRegistry registry;
- public MyConfiguration(ServiceRegistry registry) {
- this.registry = registry;
- }
- // called via some external process, such as an event or a custom actuator endpoint
- public void register() {
- Registration registration = constructRegistration();
- this.registry.register(registration);
- }
- }
复制代码每个ServiceRegistry实现都有自己的Registry实现。
服务部门自动注册
默认情况下,ServiceRegistry实现将自动注册正在运行的服务。要禁用该行为,有两种方法。您可以设置@EnableDiscoveryClient(autoRegister=false)永久禁用自动注册。您还可以设置spring.cloud.service-registry.auto-registration.enabled=false以通过配置禁用该行为。
服务注册执行器端点
Commons提供/service-registry致动器端点。该端点依赖于Spring应用程序上下文中的Registration bean。通过GET调用/service-registry/instance-status将返回Registration的状态。具有String主体的同一端点的POST将将当前Registration的状态更改为新值。请参阅您正在使用的ServiceRegistry实现的文档,以获取更新状态的允许值和为状态获取的值。