【剖析 | SOFARPC 框架】系列之SOFARPC 跨语言支持剖析
前言
随着 TIOBE 10月份的编程语言排行 的发布,C++重回第三的位置,新兴的 Swift 和 Go 表现出强劲的上升趋势。与此同时,虽然目前 Java 的领头位置尚未出现有力挑战,我们希望能够在基础设施的建设上预留跨语言的可扩展设计。同时,跨语言的挑战也是工程实际面临的现状,蚂蚁内部如 AI、IoT,算法等缺少 JVM 原生支持的领域,往往不可避免地需要涉及到跨语言调用的问题。
本文将为大家介绍 基于 SOFARPC 的微服务应用在面临跨语言调用时的方案和实现。
总体设计
经过前面几篇对 SOFARPC 的 BOLT 协议和序列化这些的介绍,相信大家已经对 RPC 有了一些自己的理解,提到跨语言,我们会首先想到其他语言调用 Java,Java 调用其他语言,那么这里的跨,体现在代码上,到底跨在哪里?
从跨语言的实现上来说,主要解决两