Есть ли способ удалить зарегистрированный экземпляр с сервера Eureka без использования операций REST? Какая структура данных содержит все приложения?
(Понятно, что я хочу убрать их, пишущих код в Eureka Server).
Есть ли способ удалить зарегистрированный экземпляр с сервера Eureka без использования операций REST? Какая структура данных содержит все приложения?
(Понятно, что я хочу убрать их, пишущих код в Eureka Server).
Нужная вам функциональность доступна через InstanceRegistry
, который сам является просто расширением классов Netflix Eureka (PeerAwareInstanceRegistryImpl
и AbstractInstanceRegistry
).
В частности, метод AbstractInstanceRegistry#cancel(String,String,boolean)
должен удалять приложения из реестра.
В Javadoc для этого метода указано:
/**
* Cancels the registration of an instance.
*
* <p>
* This is normally invoked by a client when it shuts down informing the
* server to remove the instance from traffic.
* </p>
*
* @param appName the application name of the application.
* @param id the unique identifier of the instance.
* @param isReplication true if this is a replication event from other nodes, false
* otherwise.
* @return true if the instance was removed from the {@link AbstractInstanceRegistry} successfully, false otherwise.
*/
Вот как вы можете добиться этого с самого сервера Eureka.