云原生实践之 RSocket 从入门到落地:Servlet vs RSocket

技术实践的作用在于:除了用于构建业务,也是为了验证某项技术或框架是否值得大规模推广。

本期开始,我们推出《RSocket 从入门到落地》系列文章,通过实例和对比来介绍RSocket。主要围绕RSocket如何实现Polyglot RPC、Service Registry、 Service Discovery、 IoT联结等维度,为读者们揭开RSocket的面纱,希望对大家在Java API规范的技术选型过程中有所借鉴。

第一篇文章我们将通过Servlet和RSocket的对比,快速了解RSocket的一些基本知识。要说明的是其实RSocket与Servlet并不是同类的产品,但是大家对Servlet都很熟悉,功能对比相对方便一些。

阅读本系列文章,需要大家对Java有了解,其中可能会涉及到Kotlin,有少部分C++和Python(不做要求),如果了解Spring Boot则最好。

什么是 Servlet ?

维基百科上的解释是"Servlet,全称Java Servlet,是用Java编写的服务器端程序。 其主要功能在于交互式地浏览和修改数据,生成动态Web内容”。

对于Java程序员来说,解释这个概念直接上代码,这样才能方便理解,如下:

public abstract class HttpServlet extends Servlet {
    protected abstract void doGet(HttpServletRequest req,HttpServletResponse resp)
        throws ServletException, IOException;

    protected abstract void doPost(HttpServletRequest req,HttpServletResponse resp)
       throws ServletException, IOException;
}

所以,Servlet就是提供HTTP Request,处理后,最终调用HTTP Response完成输出。没错,就是这个,大家可别小瞧这个class,几乎所有符合Servlet规范的web框架的第一个Java类都是从这里开始的,包括Struts、Spring MVC和阿里巴巴内部用到的WebX。很多开发者根据这个class写了Web Framework,来解决不同的问题。

什么是 RSocket

rsocket.io给出的解释是"RSocket是一个二进制的协议,以异步消息的方式提供4种对等的交互模型,以字节流的方式运行在TCP, WebSockets, Aeron等传输层之上”。

通过这个定义,大家可以有一个基本理解:二进制协议、异步消息、七层协议和运行在TCP、WebSocket以及Aeron之上。同样的,我们通过代码来解释这个概念,如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值