Rust HTTP 协议栈在终端通信场景的实践 - 胡凯CONFE 2023 Rust HTTP 协议栈在终端通信场景的实践 胡凯 hukai45@huaweicom 华为 公共开发部 嵌入式软件能力中心 ‖ 目录 @ HTTP 协议介绍 什么是 HTTP 协议? @ Rust与HTTP协议 介绍 Rust 与 HTTP 协议栈结合的业界实现。 @ 终端 HTTP 通信场景浅析 终端场景下 HTTP 协议的主要使用场景,以及需要思考的问题。 和1 Part 01 HTTP 协议介绍 什么是 HTTP 协议? Rust China Conf 2022 - 2023, Shanghai China HTTP 协议介绍 HTTP 协议,即超文本传输协议 (HyperText Transfer Protocol) 是一种用于分布式、协作式和超媒体 信息系统的应用层协议。 HTTP 是一个客户端〈用户) 和服务端 (网站) 之间请求和应答的标准。 Server ust China Conf 2022 - 20: HTTP 协议介绍 HTTP 协议主要具有以下特点: WO WO 支持客户/服务器模式。 简单快速: 客户向服务器请求服务时,只需传送 请求方法、路径和请求头。HTTP 协议简单、HTTP 服务器的程序规模小,因而通信速度很快。 灵活: HTTP 支持传输任意类型的数据对象。 无连接:0 码力 | 26 页 | 1.25 MB | 2 年前3
IPC性能极致优化方案-RPAL落地实践[Image](/uploads/documents/0/9/9/d/099dbb5037c4c50541f0ff9d02a06a91/p2_1.jpg) 方案诞生的背景 01 全进程地址空间共享与保护 02 用户态进程切换 03 高效的Go Event Poller 04 RPC框架Kitex集成 05 性能收益与业务展望 06 ## 第一部分 ## 方案诞生的背景 ## 方案诞生的背景 需要做到跨进程的虚拟地址空间共享,通过传递指针来传递一切数据。 基于以上问题,我们最终引入了 RPAL(Run Process As Library)方案,基于跨进程虚拟地址共享,复用 epoII 网络模型,实现了纯用户态的事件轮询和无拷贝的指针读写接口。 ## 第二部分 ## 全进程地址空间共享与保护 ## 全进程地址空间 The quick brown fox jumps over the lazy dog. Register),其长度为 32 bits,每 2-bit 对应页表中的一个 Protection Key,分别为 WD 位和 AD 位,用于控制所在域的内存访问权限。 ## 第三部分 ## 用户态进程切换 ## 用户态进程切换 User Stack Sender 传统线程切换 switch thread Receiver Kernel Stack Sender Receiver rpal线程切换:0 码力 | 39 页 | 2.98 MB | 2 年前3
SOFAMesh的通用协议扩展## SOFA MESH 的通用协议扩展 邵俊雄(熊啸) 2018.08.25 ## AGENDA • SOFA MESH 介绍 • SERVICE MESH 落地的问题 • SOFA MESH 的通用落地方案 • DNS 服务寻址方案 • X-PROTOCOL 通用协议 · 问答 ## SOFA MESH • 从 ISTIO 克隆并保持同步更新 - 使用 SOFA-MOSN 代替 Controller Pattern 通过 CRD 扩展新的能力 ## MESH 落地碰到的问题 • 客户端服务发现与负载均衡无法与 ISTIO 一起工作 • ENVOY 不支持微服务使用的通信协议 - RPC 服务使用的接口,方法,参数语义无法匹配 ISTIO 的路由模型 • 一个应用上部署了多个 RPC 服务,每个服务有自己的版本 ## I STIO 控制平面路由的抽象模型 VirtualHost 服务的路由规则 XDS 适配 • 开发 DUBBO 协议支持 ## SOFA MESH 的统一解决方案 • 采用 Kubernetes Native 方式落地微服务应用 • 使用 INTERFACE 作为 DNS 来寻址服务 • 开发一个通用协议处理框架 - 避免为不同的微服务框架修改 PILOT 代码 • 通过插件的方式按需支持新的协议 • 对应用代码无侵入性 • 为微服务框架提供轻量化客户端0 码力 | 28 页 | 4.73 MB | 1 年前3
Kubernetes全栈容器技术剖析## 华为云 技术 私享会 ## 华为云技术 私享会 ## Kubernetes全栈容器技术剖析 陈弘 华为云PaaS解决方案架构师 ## 华为云应用服务:让企业应用上云更简单,运行更高效 应用 开发测试 PaaS 统一编排 IaaS 云性能测试CPTS 软件开发服务 DevCloud 微服务引擎 CSE 应用编排引擎 AOS App/PaaS/IaaS 资源一键式创建 .jpg) Scheduled Containers Kubernetes Node Container Manager Docker Managed Base OS kubectl(用户命令)  容器编排引擎提供资源的管理 - Kubernetes(简称K8S)是主流的容器编排部署管理平台。它基于Google Borg商用系统开发,具有轻量级,可移植性,高灵活性等特点。 CNCF是围绕Kubernetes构建容器软件全栈的基金会组织,提供Kubernetes和周边软件的技术孵化和服务提供商资质认证 ## 容器技术迅猛发展,Kubernetes主宰容器编排调度引擎市场 2017年10月,Docker公司宣布支持Kubernetes0 码力 | 26 页 | 3.29 MB | 2 年前3
微服务的设计原则与⽣态系统 - 王磊Microservices – the new architectural style Martin Fowler, Mar 2014 - 微服务架构是一种架构模式,将单体应用划分成一组小的服务,服务之间互相协作,为用户提供最终价值 · 每个服务运行在其独立的进程中,服务间采用轻量级的通信机制协作(通常是基于RESTful API) - 每个服务都围绕着具体业务进行构建,并且能够被独立的部署到生产环境、类生产环境等 康威定律:组织产生的设计成果等同于组织内的协作结构  用户体验团队   Paymen: Service Search Service 数据库作为集成点 ## 去“中心化” - 业务持有数据 会话服务 ↑ 购物车 ↑ 产品服务 ↑ 用户会话 购物车  产品数据  冰种黄加绿花手链 可惜了。我原来有2条子手链。就我头像上的。留下一条来把花编上去。悔了。所以这个是冰种黄支持复鉴啊。。。 可出可不出。留下来的珠子。编手链里面。卖 混合栈  Native组件 ## 视频和动画 [Image](/uploads/documents/f/2/4/d/f24d6eb679fc89b96a162bb87c0a122e/p11_2.jpg) 动画 ## 关键问题解决 混合开发:工程管理和混合栈管理 外接纹理播放视频 图片缓存优化 无反射JSON序列化 私有PUB库、阿里生态适配 ## Flutter和Native性能简单比较  • 分布式事务和两阶段提交的原理 Greenplum两阶段提交协议的实现 Greenplum两阶段提交协议的优化 ## 事务的属性:ACID |属性|含义|数据库系统的实现| |---|---|---| |---|---|---| |Atomic原子性|事务中的操作要么全部正确执行,要么完全不执行。|Write Ahead Logging,分布式事务:两阶段提交协议| |Consistency一致性|数据库系统必须保证事务的执行使得数据库从一个一致性状态转移到另一个一致性状态。(满足完整性约束)|实现对A、I、D三个属性的支持| |Isolation隔离性|多个事务并发地执行,对每个事务来说,它并不会感知系统中有其他事0 码力 | 42 页 | 2.12 MB | 2 年前3
13 Istio 流量管理原理与协议扩展 赵化冰## 腾讯云 ## I stio 流量管理原理与协议扩展 赵化冰 The provided image is a graphic design and does not contain any chart, graph, or data points that can be extracted and converted into a markdown table. ## 腾讯云 赵化冰 s/e/2/1/f/e21ff44e1a0fd862792c70b5eca8d6ae/p3_1.jpg) ## I stio 流量管理 – 概览 控制面下发流量规则:Pilot • 数据面标准协议:xDS • 集群内Pod流量出入:Sidecar Proxy • 集群外部流量入口:Ingress Gateway • 集群外部流量出口:Egress Gateway(可选,在一个集中点对外部访问进行控制) name: http protocol: HTTP hosts: - edition.cnn.com ## lstio 流量管理 – 数据面 – Envoy配置模型和xDS协议 ## Envoy 配置模型的主要概念: • Downstream:连接到 Envoy 的下游 Host,发送请求并接收响应。 • Upstream:上游 Host 接收来自 Envoy 的连接和请求,并返回响应。0 码力 | 20 页 | 11.31 MB | 1 年前3
在Solana合约链实现IBC协议跨链互操作 - 苏胤榕2023 第三届中国Rust开发者大会 6.17-6.18 @Shanghai ## SOLANA ## 在Solana合约链 实现IBC协议跨链互操作 @DaviRain ## 简单介绍下IBC协议是什么,及其生态 ## 介绍IBC协议和其在跨链互操作中的作用 ## I nterchain Standards |Number of Trees|Number of Trees |---| IBC协议中的角色和参与者 1. 客户端 2. 连接 3. 通道 4. 包 4. 中继器 ## 解释为什么选择在Rust合约链中实现IBC协议 - IBC协议的核心已经被协议核心团队用Rust语言实现。 - 对于本身就是使用Rust语言作为智能合约开发的区块链平台来说,支持集成支持IBC协议会很方便。 - 这里优先构想了在Solana链上实现IBC协议,因为Solana - 以及本人对Solana平台的喜欢,优先考虑了Solana平台,但是这套方案是可以推广到任何的Rust智能合约平台的。 ## < / IBC协议概述 大致讲解下IBC协议的原理,以及参与整个IBC协议活动的不同决策 ## 详细介绍IBC协议的基本概念和原理 ; } finally { session.close(); } 诚然这种方式能够正常工作,并且对于使用旧版本 MyBatis 的用户来说也比较熟悉,不过现在有了一种更直白的方式。使用对于给定语句能够合理描述参数和返回值的接口(比如说 BlogMapper.class),你现在不但可以执行更清晰和类型安全的代码,而且还不用担心易错的字符串字面值以及强制类型转换。 - 这是 JDBC 驱动的 Java 类的完全限定名(并不是 JDBC 驱动中可能包含的数据源类)。 • url - 这是数据库的 JDBC URL 地址。 • username - 登录数据库的用户名。 • password - 登录数据库的密码。 defaultTransactionIsolationLevel - 默认的连接事务隔离级别。 作为可选项,你也可以传递属性给数据库驱动。要这样做,属性的前缀为“driver0 码力 | 98 页 | 2.03 MB | 2 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100
相关搜索词
Rust HTTP协议栈终端通信场景Ylong HTTP客户端库异步IO状态机IPCRPAL用户态协议栈内核绕过RPC框架SOFAMeshService MeshX-PROTOCOLMultiplexingSidecar代理Kubernetes容器编排调度引擎容器技术混合云弹性伸缩微服务架构去中心化自动化一切交付流水线API网关FlutterDart全栈开发Dart Server三端一体化事务分布式事务两阶段提交协议Write Ahead Logging (WAL)GreenplumIstio七层协议扩展服务发现流量管理模型xDS协议IBC协议跨链互操作Solana合约链Rust语言IBC协议实现MyBatisXML映射文件动态SQL日志工厂SqlSessionFactory













