[英]how to use java with go
出於某種原因,我必須使用go作為我的新Web項目的后端語言。
但是,我們將使用的一些apis是用Java編寫的,並打包在.jar文件中。
我是新手,如何使用go以一致的方式與Java合作,當HTTP請求到來時,go將處理它並將一些函數委托給java,然后返回響應。
您的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以幫助創建響應。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.