引言
随着近几年微服务的兴起,越来越多的人使用springcloud作为微服务框架(基于java语言实现的微服务框架),因此就产生了这样的需求:能否将非java语言实现的项目接入到springcloud框架中。 答案是肯定的,springcloud为了解决此问题,推出了一款名叫sidecar的组件。
SidecarSpring Cloud Netflix Sidecar 包含一个简单的http api来获取给定服务的所有实例(即主机和端口)。然后可以通过从Eureka获取其路由条目的嵌入式Zuul代理来代理服务调用。可以通过主机查找或通过Zuul代理访问Spring Cloud Config服务器。但是第三方程序必须执行健康检查,以便Sidecar可以向应用程序启动或关闭时向eureka报告。
Sidecar使用步骤-
首先我们需要一个第三方的程序,可以是python,nodejs等非java语言编写的程序,本文我们使用了一个java编写的第三方接口程序。
-
第三方程序提供health接口,接口返回如下格式的json字符串。
参考:https://www.jianshu.com/p/e970b9a4e61a
参考文档https://cloud.spring.io/spring-cloud-static/spring-cloud-netflix/1.3.5.RELEASE/multi/multi__polyglot_support_with_sidecar.html