由于某些原因,我必須將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 關注
- 330 瀏覽
添加回答
舉報
0/150
提交
取消