概述

RSocket 官网对 RSocket 定义:

RSocket is a binary protocol for use on byte stream transports such as TCP, WebSockets, and Aeron.RSocket provides a protocol for Reactive Streams semantics between client-server, and server-server communication.

阅读全文 »

概述

Dubbo 官网对 Dubbo 的描述:

Apache Dubbo 是一款微服务开发框架,它提供了 RPC通信 与 微服务治理 两大关键能力。这意味着,使用 Dubbo 开发的微服务,将具备相互之间的远程发现与通信能力, 同时利用 Dubbo 提供的丰富服务治理能力,可以实现诸如服务发现、负载均衡、流量调度等服务治理诉求。同时 Dubbo 是高度可扩展的,用户几乎可以在任意功能点去定制自己的实现,以改变框架的默认行为来满足自己的业务需求。

阅读全文 »

这篇文章内容主要包括:1)gRPC 基本介绍;2)Java gRPC 实例;3)HTTP2 协议介绍;4)gRPC over HTTP2,流协议的介绍;

阅读全文 »

这篇文章是 RPC 系列的第一篇,打算写一个系列的文章,简单介绍下 Duboo2, Dubbo3, gRPC 及 RScoket 的使用方法及差异。在 Alligator 项目中借鉴了其中的一些思想,基于 TCP, Websocket 及 MQ,实现了一个简单的 RPC。RPC 涉及到内容比较多,这里选取了两个方面做为切入点:1)通信模式,包括 request-response, request-stream, stream-response, stream-stream, send-oneway; 2)协议,主要是协议字段,通过这些字段可以大概猜测出其实现方式。

阅读全文 »

在项目开发中,有时需要用到 Mysql 来验证功能,使用 Docker 部署 Mysql 便是一个比较方便快捷的选择,在本文中主要是安装 Mysql 5.7,其它版本可以自行选择。

阅读全文 »

1. 概述

在系统中,Protocol Buffer 的使用有两种方式:1)定义 .proto 文件,生成相应的 Bean 对象及序列化的代码;2)根据现有的 Java Bean 对象,动态生成对应的 schema, 使用工具类完成对象的序列化。这两种方式的优缺点也比较明显,.proto 文件支持向前、向后兼容,后者使用简单,引用工具类,便可支持序列化操作,缺点是存在代码兼容性问题。

阅读全文 »

1. 概览

在 Alligator 系统中,网关与业务系统之间是通过 MQ 进行通信。为了简化开发成本,基于 MQ, 实现了一套 RPC 调用,其封装了超时、同步调用及异步调用等功能,调用模型如下图所示:
mq-rpc-model

  • 使用两个 MQ 队列来存储信息,分别是请求及响应信息;
  • 在请求端维护一个 request id,在响应信息中带上 request id,从而将请求与响应对应起来;
  • 在请求端为每一个请求设置一个超时任务,避免长时间未响应结果。
阅读全文 »
0%