由于某些原因,我必须将go用作新的Web项目的后端语言。但是,我们将使用的一些API是用Java编写的,并打包在.jar文件中。我是新手,我该如何使用go以一致的方式与Java合作,这样当HTTP请求到达时,go将处理它并将某些函数委托给Java,然后返回响应。
1 回答
小怪兽爱吃肉
TA贡献1852条经验 获得超1个赞
您的Java公开哪种API?
如果它公开了RPC API,则可以利用Go的json-rpc模块。
如果它公开了RESTful API,则可以利用Go的http模块。
您还可以生成一个子进程(您的Java代码)并通过stdin和stdout管道与其进行对话。您将为此使用exec模块。
那不是详尽的沟通清单,只是想到的前三个。您还可以使用XML API,共享内存或命名管道。
另外,您正在寻找像0mq这样的消息队列。0mq处理IPC的许多棘手问题,例如,如果接收方过载,则使发送方回退发送请求,消息成帧以及在发生故障后重新连接。
您可以通过多种方式在Java代码和Go代码之间进行通信。我认为最后通过HTTP API这样做是最常见和最简单的。在Java服务器中公开RESTful或RPC API,将其作为HTTP API服务运行,编写Go语言来处理传入的HTTP请求,然后与Go语言中的Java API连接以帮助创建响应。
- 1 回答
- 0 关注
- 303 浏览
添加回答
举报
0/150
提交
取消