Hi,I`m lan

转|SOFARPC序列化比较

在应用服务化架构中,RPC 框架是非常重要的基础组件。而在 RPC 框架当中,序列化(以及反序列化)又是必不可少的一环。因为序列化的性能对整体框架性能有比较大的影响,之前的文章中,我们已经详细剖析了 SOFARPC 各个核心功能模块的实现原理,想必大家已经很清楚 RPC 的调用流程。

转|SOFARPC注解支持剖析

编程 API 方式与Spring 的 ApplicationContextAware 类似。XML的方式依赖于在xml中引入 SOFA 命名空间,利用 Bean 的生命周期管理,进行 Bean 的注入。相比这两种方式,通过 Annotation 方式发布 JVM 服务更加灵活方便,只需要在实现类上加 @SofaService、@SofaRefernce 注解即可进行服务的发布和引用。本文针对 SOFARPC 在注解的支持和使用分原理、源码两部分进行一一介绍。

转|SOFARPC跨语言支持剖析

随着 TIOBE 10月份的编程语言排行的发布,C++重回第三的位置,新兴的 Swift 和 Go 表现出强劲的上升趋势。与此同时,虽然目前 Java 的领头位置尚未出现有力挑战,我们希望能够在基础设施的建设上预留跨语言的可扩展设计。同时,跨语言的挑战也是工程实际面临的现状,蚂蚁内部如 AI、IoT,算法等缺少 JVM 原生支持的领域,往往不可避免地需要涉及到跨语言调用的问题。

转|SOFARPC路由实现剖析

RPC 框架需要创造一种调用远程服务如同调用本地般的体验,因此在实现一个基于 RPC 框架的微服务架构的系统时,服务消费者(客户端)往往只需要知道服务端提供了哪些接口和方法,并不需要知道服务具体由哪些 IP 在提供。RPC 框架本身的服务发现和路由寻址功能解决了如何知道目标地址的问题,该过程对于 RPC 客户端调用方来说应该是完全透明的。

转|SOFARPC连接管理与心跳剖析

在 RPC 调用过程中,我们经常会和多个服务端进行远程调用,如果在每次调用的时候,都进行 TCP连接,会对 RPC的性能有比较大的影响,因此,实际的场景中,我们经常要对连接进行管理和保持。