Thrfit 中的核心概念

2024-09-05 09:48
文章标签 概念 核心 thrfit

本文主要是介绍Thrfit 中的核心概念,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Thrfit 中的核心概念

服务端

  +-------------------------------------------+| Server                                    || (single-threaded, event-driven etc)       |+-------------------------------------------+| Processor                                 || (compiler generated)                      |+-------------------------------------------+| Protocol                                  || (JSON, compact etc)                       |+-------------------------------------------+| Transport                                 || (raw TCP, HTTP etc)                       |+-------------------------------------------+

Thrift Server 设计大致可以分为四层,分别是:

  • Server:负责连接调度、服务的生命周期,定义接口是TServer
    - TSimpleServer:简单的阻塞服务端
    - TThreadPoolServer:使用线程池的处理请求的阻塞服务端
    - THsHaServer:使用线程池处理请求的基于 NIO 的非阻塞服务端
    - TThreadedSelectorServer:使用多种线程池的基于 NIO 的非阻塞服务端

  • Processor:处理请求,具体的实现由生成的代码处理,定义接口是 TProcessor

    • TBaseProcessor:同步处理的 Processor
    • TBaseAsyncProcessor:异步处理的 Processor
    • TMultiplexedProcessor:支持多个服务的同步 Processor
  • Protocol:请求协议,数据的编解码实现,定义接口是 TProtocol

    • TBinaryProtocol:二进制协议
    • TCompactProtocol:压缩协议
    • TJSONProtocol:JSON 格式协议
    • TMultiplexedProtocol:支持多个 Processor 的封装协议,依赖于其他协议
  • Transport:底层的连接,提供了读写的抽象实现;服务端定义是 TServerTransport

    • TServerSocket: 基于 ServerSocket 的服务端 Transport
    • TNonblockingServerSocket:基于 ServerSocketChannel 的服务端 Transport
    • TSaslTransport:支持 SSL 加密的 Transport

客户端

  +-------------------------------------------+| Client                                    || (sync or async generated)                 |+-------------------------------------------+| Protocol                                  || (JSON, compact etc)                       |+-------------------------------------------+| Transport                                 || (raw TCP, HTTP etc)                       |+-------------------------------------------+

Thrift Client 设计分为三层,分别是:

  • Client:客户端,用于发起请求,接收响应
    - TServiceClient:同步调用的客户端
    - TAsyncClient:异步调用的客户端

  • Protocol:请求协议,数据的编解码实现,定义接口是 TProtocol

    • TBinaryProtocol:二进制协议
    • TCompactProtocol:压缩协议
    • TJSONProtocol:JSON 格式协议
    • TMultiplexedProtocol:支持多个 Processor 的封装协议,依赖于其他协议
  • Transport:底层的连接,提供了读写的抽象实现;客户端的定义是 TTransport

    • TFileTransport: 读写文件的 Tranport
    • THttpClient:基于 HttpClient 的 Transport
    • TNonblockingSocket:基于 SocketChannel的 Transport
    • TSocket: 基于 Socket 的 Tranport
    • TSaslClientTransport: 支持 SASL 鉴权认证的 Tranport
    • TZlibTransport:支持压缩的 Transport
    • TSaslTransport:支持 SSL 加密的 Transport

参考文档

  • Concepts

这篇关于Thrfit 中的核心概念的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1138621

相关文章

Python列表去重的4种核心方法与实战指南详解

《Python列表去重的4种核心方法与实战指南详解》在Python开发中,处理列表数据时经常需要去除重复元素,本文将详细介绍4种最实用的列表去重方法,有需要的小伙伴可以根据自己的需要进行选择... 目录方法1:集合(set)去重法(最快速)方法2:顺序遍历法(保持顺序)方法3:副本删除法(原地修改)方法4:

SpringQuartz定时任务核心组件JobDetail与Trigger配置

《SpringQuartz定时任务核心组件JobDetail与Trigger配置》Spring框架与Quartz调度器的集成提供了强大而灵活的定时任务解决方案,本文主要介绍了SpringQuartz定... 目录引言一、Spring Quartz基础架构1.1 核心组件概述1.2 Spring集成优势二、J

Python 迭代器和生成器概念及场景分析

《Python迭代器和生成器概念及场景分析》yield是Python中实现惰性计算和协程的核心工具,结合send()、throw()、close()等方法,能够构建高效、灵活的数据流和控制流模型,这... 目录迭代器的介绍自定义迭代器省略的迭代器生产器的介绍yield的普通用法yield的高级用法yidle

Linux find 命令完全指南及核心用法

《Linuxfind命令完全指南及核心用法》find是Linux系统最强大的文件搜索工具,支持嵌套遍历、条件筛选、执行动作,下面给大家介绍Linuxfind命令完全指南,感兴趣的朋友一起看看吧... 目录一、基础搜索模式1. 按文件名搜索(精确/模糊匹配)2. 排除指定目录/文件二、根据文件类型筛选三、时间

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

【VUE】跨域问题的概念,以及解决方法。

目录 1.跨域概念 2.解决方法 2.1 配置网络请求代理 2.2 使用@CrossOrigin 注解 2.3 通过配置文件实现跨域 2.4 添加 CorsWebFilter 来解决跨域问题 1.跨域概念 跨域问题是由于浏览器实施了同源策略,该策略要求请求的域名、协议和端口必须与提供资源的服务相同。如果不相同,则需要服务器显式地允许这种跨域请求。一般在springbo

PostgreSQL核心功能特性与使用领域及场景分析

PostgreSQL有什么优点? 开源和免费 PostgreSQL是一个开源的数据库管理系统,可以免费使用和修改。这降低了企业的成本,并为开发者提供了一个活跃的社区和丰富的资源。 高度兼容 PostgreSQL支持多种操作系统(如Linux、Windows、macOS等)和编程语言(如C、C++、Java、Python、Ruby等),并提供了多种接口(如JDBC、ODBC、ADO.NET等

【MRI基础】TR 和 TE 时间概念

重复时间 (TR) 磁共振成像 (MRI) 中的 TR(重复时间,repetition time)是施加于同一切片的连续脉冲序列之间的时间间隔。具体而言,TR 是施加一个 RF(射频)脉冲与施加下一个 RF 脉冲之间的持续时间。TR 以毫秒 (ms) 为单位,主要控制后续脉冲之前的纵向弛豫程度(T1 弛豫),使其成为显著影响 MRI 中的图像对比度和信号特性的重要参数。 回声时间 (TE)

深入解析秒杀业务中的核心问题 —— 从并发控制到事务管理

深入解析秒杀业务中的核心问题 —— 从并发控制到事务管理 秒杀系统是应对高并发、高压力下的典型业务场景,涉及到并发控制、库存管理、事务管理等多个关键技术点。本文将深入剖析秒杀商品业务中常见的几个核心问题,包括 AOP 事务管理、同步锁机制、乐观锁、CAS 操作,以及用户限购策略。通过这些技术的结合,确保秒杀系统在高并发场景下的稳定性和一致性。 1. AOP 代理对象与事务管理 在秒杀商品

计算机网络基础概念 交换机、路由器、网关、TBOX

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、VLAN是什么?二 、交换机三、路由器四、网关五、TBOXTelematics BOX,简称车载T-BOX,车联网系统包含四部分,主机、车载T-BOX、手机APP及后台系统。主机主要用于车内的影音娱乐,以及车辆信息显示;车载T-BOX主要用于和后台系统/手机APP通信,实现手机APP的车辆信息显示与控