1
aw2350 2023-02-01 11:48:34 +08:00
go 接入 spring cloud ?
|
2
aw2350 2023-02-01 11:50:59 +08:00
如务必要建议还是 spring cloud ,如果确实想用 go 建议使用边车模式,java 开发一个做边车,go 做服务,然后 grpc 进行通信
|
3
Oktfolio 2023-02-01 11:51:59 +08:00
你难道不觉得 feign 并不好用吗?
|
4
kaf 2023-02-01 11:52:50 +08:00
有 grpc 为啥还要 feign
|
5
hhjswf 2023-02-01 11:53:22 +08:00 via Android
grpc ?
|
7
Chinsung 2023-02-01 11:57:27 +08:00
不是一个体系的,不建议做这种事
|
8
aw2350 2023-02-01 11:57:59 +08:00
@dilu 就这意思,等于用 java 的外挂程序与 go 进行通信,主要任务还是 go 去处理,但是外界访问这个服务的时候访问的是 java 的外挂程序,没有什么是包一层解决不了的
|
10
agzou OP |
11
CCIP 2023-02-01 12:02:06 +08:00
grpc 吧 挺好的 我之前公司是 java + spring cloud +grpc 的微服务体系 go 接进来应该也不难
|
12
UG1u8zhQxhvqXNrk 2023-02-01 12:33:29 +08:00
看一下 sidecar 加一层代理访问 springcloud 的注册中心 不管啥语言都好使
|
13
dddd1919 2023-02-01 12:48:21 +08:00
@Chinsung 同
feign 就是一个方案整合的组件,把客户端调用的服务发现负载均衡以及 http 客户端封装起来使用,http 客户端肯定有解决方案,但服务发现负载均衡在 go 里不知道是否有支持 java 生态的 还有一种解决方法就是加一个 gateway 服务,所有异构系统到 spring cloud 的调用都走 gateway |
14
hidemyself 2023-02-01 13:04:09 +08:00
grpc 吧
|
15
kaf 2023-02-01 14:19:33 +08:00
@agzou 之前用的 kratos 框架( go 实现的一个微服务框架),对外提供 grpc 和 http ,支持服务发现调用,你可以了解一下,feign 本身还是 http 调用,有 http 接口并且支持服务名发现应该是能实现跨语言调用的
|
16
ql562482472 2023-02-01 15:15:06 +08:00
自己写一套封装过的 httpClient
|
17
noreplay 2023-02-01 16:30:59 +08:00 via Android
dapr
|
18
litchinn 2023-02-01 16:52:37 +08:00
grpc 或者看能不能将服务升级到 springboot3.0 ,然后打包 graalvm 原生镜像,这手动改造的成本感觉不如等各大框架支持 native-image
|
19
sky857412 2023-02-01 18:07:28 +08:00
内存占用多,直接加资源吧,最简单了,折腾一遍,可能效果还不理想
|
20
xsen 2023-02-01 20:31:43 +08:00
1. 前面加个 api gateway (不用默认 springcloud 自带的)
2. 根据服务注册采取的方式(如 eureka 或 consul ),找相应的 go client 就可接入 |
21
fireyao 2023-02-02 10:51:40 +08:00
spring 全家桶自带有 /heath 组件,换成 go 你还得考虑这个
|
22
fenglangjuxu 2023-02-02 14:19:33 +08:00
rpcx 可以么
|