由于不会使用其他语言去写一些请求,所以sidecar这部分只是进行了理解,没有加以验证。需要的可以参考一下。
1、pom.xml
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
<!--客户端只有当我们有了这个依赖之后,才能有那些状态页面的查看,否则会报ErrorPage-->
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-netflix-sidecar</artifactId>
</dependency>
</dependencies>
2、启动类
@SpringBootApplication
@EnableSidecar
public class SidecarApplication {
public static void main(String[] args) {
SpringApplication.run(SidecarApplication.class, args);
}
}
@EnableSoder注解包含了其它几个注解:
@EnableCircuitBreaker hystrix @EnableZuulProxy zuul
3、application.yml
spring:
application:
name: eureka-client-sidecar
server:
port: 8607
eureka:
instance:
prefer-ip-address: true
client:
service-url:
defaultZone: http://localhost:8761/eureka/
healthcheck:
enabled: true
sidecar:
port: 8000
health-uri: http://localhost:8000/health.json
sidecar里面配置的是那些用别的语言写的服务,sidecar要求health-url需要返回json字符如下:
{
"status":"UP"
}
另外很明显,sidecar的配置中只有port没有url,所以我们要保证sidecar和那个用别的语言写的服务在同一主机上,当然如果不是同一主机也有办法配置,这个请自行百度。
配好之后,这个就相当于这个服务是注册到了eureka上,我们照常像之前那些注册的服务一样使用即可