学海无涯,拉钩作伴。感谢拉钩教育提供的学习平台,让我们有一个提升自我的机会
上面两篇文章我们分别对eureka服务端以及客户端的启动流程源码进行了分析,我们知道客户端启动之后需要去获取服务列表以及注册自己、发送心跳等。那这些接口都是在哪里提供的呢?本文就来看一下这些接口都是怎么实现的
一、服务注册
如果大家还有印象,我们在服务端注册的时候有提到jersey,在服务端启动的时候会把jersey注入到容器中,我们再回顾一下这里
从上面的两张图我们可以知道,在注入bean之前,需要扫描EUREKA_PACKAGES下的javax.ws.rs.Path注解,javax.ws.rs.Path注解相当于SpringMvc中的RequestMapping注解,在jersey中对外提供的接口都叫资源,他对外提供的接口都在com.netflix.eureka.resources包下。接下来我们看一下com.netflix.eureka.resources.ApplicationResource,这是jersey用来处理与特定请求相关的资源
com.netflix.eureka.resources.ApplicationResource#addInstance 这个方法就是用来对外提供注册接口的,接下来我们看看里面都做了啥