Sidecar简介
- 在springcloud的项目中,我们需要允许使用不同语言去实现微服务,但是非java语言是无法接入eureka,hystrix,fegin,ribbon等相关组件。有一种思路就是启动一个代理的微服务,由该代理微服务同非jvm服务交流,并接入eureka等相关组件。Sidecar就是该思路的实现,总结的说就是作为一个代理的服务来间接性的让其他语言可以使用Eureka等相关组件。
- 目前sidecar这个服务必须和非jvm语言的服务在同一台主机上面,也就是说他们之间是localhost访问的,不能是ip访问等等
- 目前觉得sidecar还不是非常适用,如每一个异构的微服务都要对应的建一个sidecar的微服务,十分不合理。
Sidecare 同nodejs示例
1.一个简单的nodejs文件
var http = require('http');
var url = require("url");
var path = require('path');
// 创建server
var server = http.createServer(function(req, res) {
// 获得请求的路径
var pathname = url.parse(req.url).pathname;
res.writeHead(200, { 'Content-Type' : 'application/json; c