The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
lcj2class

实践总结:在 Java 中调用 Go 代码

  •  
  •   lcj2class · Aug 8, 2020 via iPhone · 5008 views
    This topic created in 2139 days ago, the information mentioned may be changed or developed.
    13 replies    2020-08-09 10:13:05 +08:00
    kalista
        1
    kalista  
       Aug 8, 2020
    想知道为什么不通过 rpc 通信的方式,和 cgo 调用优劣在哪,我个人比较倾向前者
    Jirajine
        2
    Jirajine  
       Aug 8, 2020
    写成接口出来调用比较合适,两个带 GC 的语言之间根本没法共享内存,相互调用麻烦且低效。
    sunny352787
        3
    sunny352787  
       Aug 8, 2020
    有没有碰到线程问题?我在 Unity 的 C#中调用 go 的时候发现在 go 中开 goroutine 会卡死,以及各个平台传递数据的方式是不太一样的,具体使用方式在 https://github.com/sunny352/Example_Unity_Plugin_Go
    xcstream
        4
    xcstream  
       Aug 8, 2020
    走管道吧 或者网络也行
    supermoonie
        5
    supermoonie  
       Aug 8, 2020 via iPhone
    rpc 吧,简单方便
    wangxiaoaer
        6
    wangxiaoaer  
       Aug 8, 2020
    借楼问一下,以前一直一位 RPC 跟 API 请求没啥两样,刚搜了下,好像还不太一样。

    API 不限语言,RPC 需要 client 跟 server 开发语言一致? 而且感觉 RPC 的话 client 跟 server 有大量重复代码(定义接口之类),是不是更麻烦些?
    lcj2class
        7
    lcj2class  
    OP
       Aug 8, 2020
    @kalista #1 看依赖服务的情况吧,如果就依赖一两个功能,JNA 方便些。rpc 调用的话, 相当于整条链路上多了一跳,服务的治理、维护、升级都是不小的问题
    labulaka521
        8
    labulaka521  
       Aug 8, 2020 via iPhone
    @wangxiaoaer rpc 服务端客户端语言可以不一样吧
    magicdu
        9
    magicdu  
       Aug 8, 2020
    grpc
    huanghe314
        10
    huanghe314  
       Aug 9, 2020 via iPhone
    @wangxiaoaer 当然可以不一样了,只要 rpc 是一套协议就行
    keenkiller
        11
    keenkiller  
       Aug 9, 2020 via Android
    @wangxiaoaer RPC 也是一种 API
    wangxiaoaer
        12
    wangxiaoaer  
       Aug 9, 2020 via iPhone
    @tairan2006 那我感觉没啥大的区别啊。

    或者说借助一些 rpc 库可以实现自动 http 调用,跟本地调用一样?而 API 需要自己手动调用?
    GoLand
        13
    GoLand  
       Aug 9, 2020
    @wangxiaoaer 两个层面的东西,HTTP 接口也可以看做 RPC 的一种,只不过具体是用 HTTP 协议来实现的。RPC 是一个很宽泛的概念。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1766 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 76ms · UTC 16:17 · PVG 00:17 · LAX 09:17 · JFK 12:17
    ♥ Do have faith in what you're doing.