美文网首页
libp2p 替代方案调研

libp2p 替代方案调研

作者: 链人成长chainerup | 来源:发表于2019-11-04 11:15 被阅读0次

    背景

    libp2p作为P2P服务常用的通信框架,已经支持了项目需求。但是由于libp2p过于庞大,项目中只用了不到十分之一的功能,所以需要找个替代通信框架。新的框架需要满足两个特性:(1)原生(指能够支持多平台的原生开发语言,比如安卓的kotlin、java, 以及IOS的objectC、swift)支持跨平台(比如安卓、IOS);(2)能够支持网络穿透。

    目前先调研gRPC。

    gRPC是否支持网络穿透?

    常见的网络穿透协议:STUN/TURN/UPNP。libp2p 的relay协议也支持。

    调研下来,gRPC不支持网络穿透。

    现在已经有其他区块链项目(rChain)使用gRPC,并且自己实现了网络穿透。

    https://rchain.atlassian.net/wiki/spaces/CORE/pages/498958481/RNode+supported+network+configuration

    暂定结论: 自己实现穿透功能。

    移动端开发语言有哪些?

    Android 主要的开发语言:Kotlin, Java.

    IOS 主要的开发语言: Objective-C, Swift

    gRPC是否原生支持移动端开发语言?

    结论:都支持。

    Kotlin: https://grpc.io/blog/kotlin-gradle-projects/

    Java: https://github.com/grpc/grpc-java

    Object-C: https://grpc.io/docs/tutorials/basic/objective-c/ https://github.com/grpc/grpc/tree/master/src/objective-c

    Swift: https://github.com/grpc/grpc-swift

    Todo : 有没有必要现在去搭建demo验证一下?

    gRPC之外,有没有其他的通信框架?

    image.png

    目前找到的跨语言、跨平台通信框架,除了gRPC, 还有thrift。

    阿里的dubbo 只支持Java。

    Motan是新浪微博开源的一个Java 框架。

    rpcx是Go语言生态圈的Dubbo, 比Dubbo更轻量。

    https://colobu.com/2016/09/05/benchmarks-of-popular-rpc-frameworks/

    可能的TODO

    • 移动端Android IOS gRPC demo ?
    • gRPC 文档梳理学习
    • 调研一下thrift 对移动端的支持力度?
    • 其他?

    相关文章

      网友评论

          本文标题:libp2p 替代方案调研

          本文链接:https://www.haomeiwen.com/subject/bowrbctx.html