 Rust 异步并发框架在移动端的应用 - 陈明煜第三届中国 Rust 开发者大会 Rust 异步并发框架在移动端的应用 陈明煜 chenmingyu4@huawei.com 华为 公共开发部 嵌入式软件能力中心 本科就读加州大学圣地亚哥分校,毕业时长两年半, Rustacean 在 华为 目前正在使用 Rust 开发并行调度框架等模块。 Rust 异步并发框架在移动端的应用 陈明煜 chenmingyu4@huawei.com Rust #1 Rust 异步简介 Ylong async runtime #3 Ylong Runtime 并发框架 目录 Table of Contents #2 社区并发框架介绍以及与移动端的不适配性 Introduction to third party Runtime crates and their incompatibility with mobile environment 现有框架无法完美适配移动端(一) Core Thread Thread Worker Worker task task Local queue Local queue Tokio 采用了如右图这种 GMP 模式: • 一核可以绑定多线程,每个线程拥有一个 Worker ,每个 Worker 拥有一个任务队列 • 但线程拥有相同优先级 • Worker 只持有一个本地 FIFO 队列 移动端诉求:优先级0 码力 | 25 页 | 1.64 MB | 1 年前3 Rust 异步并发框架在移动端的应用 - 陈明煜第三届中国 Rust 开发者大会 Rust 异步并发框架在移动端的应用 陈明煜 chenmingyu4@huawei.com 华为 公共开发部 嵌入式软件能力中心 本科就读加州大学圣地亚哥分校,毕业时长两年半, Rustacean 在 华为 目前正在使用 Rust 开发并行调度框架等模块。 Rust 异步并发框架在移动端的应用 陈明煜 chenmingyu4@huawei.com Rust #1 Rust 异步简介 Ylong async runtime #3 Ylong Runtime 并发框架 目录 Table of Contents #2 社区并发框架介绍以及与移动端的不适配性 Introduction to third party Runtime crates and their incompatibility with mobile environment 现有框架无法完美适配移动端(一) Core Thread Thread Worker Worker task task Local queue Local queue Tokio 采用了如右图这种 GMP 模式: • 一核可以绑定多线程,每个线程拥有一个 Worker ,每个 Worker 拥有一个任务队列 • 但线程拥有相同优先级 • Worker 只持有一个本地 FIFO 队列 移动端诉求:优先级0 码力 | 25 页 | 1.64 MB | 1 年前3
 05-MoonBit 编程语言(WASM 技术)服务端应用展望以及对Kubernetes生态的影响MoonBit 编程语言(WASM 技术) 服务端应用展望 以及对Kubernetes生态的影响 沙渺(MoonBit 语言社区开发者) 本分享包含大量目前尚处在早期开发阶段甚至概念阶段, 尚未获得广泛应用的技术。 仅为前景展望,不推荐用于当前立项开发的实际工程。 敬请注意 内容 • WASM 技术栈现状和 WASM 后端应用的构想 • MoonBit 语言介绍 • MoonBit0 码力 | 30 页 | 3.41 MB | 9 月前3 05-MoonBit 编程语言(WASM 技术)服务端应用展望以及对Kubernetes生态的影响MoonBit 编程语言(WASM 技术) 服务端应用展望 以及对Kubernetes生态的影响 沙渺(MoonBit 语言社区开发者) 本分享包含大量目前尚处在早期开发阶段甚至概念阶段, 尚未获得广泛应用的技术。 仅为前景展望,不推荐用于当前立项开发的实际工程。 敬请注意 内容 • WASM 技术栈现状和 WASM 后端应用的构想 • MoonBit 语言介绍 • MoonBit0 码力 | 30 页 | 3.41 MB | 9 月前3
 Nacos架构&原理
${prefix}-${spring.profiles.active}-${file-extension} 配置快照(Configuration Snapshot) Nacos 的客户端 SDK 会在本地生成配置的快照。当客户端无法连接到 Nacos Server 时,可以使 用配置快照显示系统的整体容灾能力。配置快照类似于 Git 中的本地 commit,也类似于缓存,会 在适当的时机更新,但是并 提供可视化的控制台,可以对配置进行发布、更新、删除、灰度、版本管理等功能。 2. SDK 可以提供发布配置、更新配置、监听配置等功能。 3. SDK 通过 GRPC 长连接监听配置变更,Server 端对比 Client 端配置的 MD5 和本地 MD5 是否相等,不相等推送配置变更。 4. SDK 会保存配置的快照,当服务端出现问题的时候从本地获取。 配置资源模型 Namespace 的设计就是用来 ncrypt edDataKey 等数据。  config_info_beta 灰度测试的配置信息表,存储的内容和 config_info 基本相似。有⼀个 beta _ips 字段用于客户端请求配置时判断是否是灰度的 ip。  config_tags_relation 配置的标签表,在发布配置的时候如果指定了标签,那么会把标签和配置 的关联信息存储在该表中。  his_config_info0 码力 | 326 页 | 12.83 MB | 9 月前3 Nacos架构&原理
${prefix}-${spring.profiles.active}-${file-extension} 配置快照(Configuration Snapshot) Nacos 的客户端 SDK 会在本地生成配置的快照。当客户端无法连接到 Nacos Server 时,可以使 用配置快照显示系统的整体容灾能力。配置快照类似于 Git 中的本地 commit,也类似于缓存,会 在适当的时机更新,但是并 提供可视化的控制台,可以对配置进行发布、更新、删除、灰度、版本管理等功能。 2. SDK 可以提供发布配置、更新配置、监听配置等功能。 3. SDK 通过 GRPC 长连接监听配置变更,Server 端对比 Client 端配置的 MD5 和本地 MD5 是否相等,不相等推送配置变更。 4. SDK 会保存配置的快照,当服务端出现问题的时候从本地获取。 配置资源模型 Namespace 的设计就是用来 ncrypt edDataKey 等数据。  config_info_beta 灰度测试的配置信息表,存储的内容和 config_info 基本相似。有⼀个 beta _ips 字段用于客户端请求配置时判断是否是灰度的 ip。  config_tags_relation 配置的标签表,在发布配置的时候如果指定了标签,那么会把标签和配置 的关联信息存储在该表中。  his_config_info0 码力 | 326 页 | 12.83 MB | 9 月前3
 FISCO BCOS 1.3 中文文档落盘加密模式,默认为0,0:不加密,1:本地key加 密,2:key center rpcport RPC监听端口(若在同台机器上部署多个节点时,端口 不能重复) p2pport P2P网络监听端口(若在同台机器上部署多个节点时,端 口不能重复) channelPort 链上链下监听端口(若在同台机器上部署多个节点时, 端口不能重复) wallet 钱包文件路径 keystoredir 账号文件目录路径 datadir 节点数据目录路径 系统合约 系统合约是FISCO BCOS区块链内置的智能合约。一条链对应唯一的系统合 约。系统合约实现了对链的控制和管理。如节点注册,机构准入等等。 系统合约是一组合约的集合,包括: 系统代理合约 节点管理合约 注销证书合约 权限管理合约 全网配置合约 节点相关 系统合约在创世节点生成时,脚本已自动将其部署到链上,并设置了节点 config.json文件中的systemproxyad 能生效。 操作相关 配置:在操作前,需用脚本set_proxy_address.sh配置需要操作的链。 操作目录:FISCO-BCOS/tools/systemcontract 系统代理合约 系统代理合约是系统合约的统一入口。 它提供了路由名称到合约地址的映射关系。 源码路径:systemcontract/SystemProxy.sol 接口说明 接口名 输入 输出 备注 获取路由信息0 码力 | 491 页 | 5.72 MB | 1 年前3 FISCO BCOS 1.3 中文文档落盘加密模式,默认为0,0:不加密,1:本地key加 密,2:key center rpcport RPC监听端口(若在同台机器上部署多个节点时,端口 不能重复) p2pport P2P网络监听端口(若在同台机器上部署多个节点时,端 口不能重复) channelPort 链上链下监听端口(若在同台机器上部署多个节点时, 端口不能重复) wallet 钱包文件路径 keystoredir 账号文件目录路径 datadir 节点数据目录路径 系统合约 系统合约是FISCO BCOS区块链内置的智能合约。一条链对应唯一的系统合 约。系统合约实现了对链的控制和管理。如节点注册,机构准入等等。 系统合约是一组合约的集合,包括: 系统代理合约 节点管理合约 注销证书合约 权限管理合约 全网配置合约 节点相关 系统合约在创世节点生成时,脚本已自动将其部署到链上,并设置了节点 config.json文件中的systemproxyad 能生效。 操作相关 配置:在操作前,需用脚本set_proxy_address.sh配置需要操作的链。 操作目录:FISCO-BCOS/tools/systemcontract 系统代理合约 系统代理合约是系统合约的统一入口。 它提供了路由名称到合约地址的映射关系。 源码路径:systemcontract/SystemProxy.sol 接口说明 接口名 输入 输出 备注 获取路由信息0 码力 | 491 页 | 5.72 MB | 1 年前3
 跟我学Shiro - 张开涛................ 120 服务器端........................................................................................................................................ 120 客户端 .......................... ian.iteye.com/ 4 服务器端........................................................................................................................................ 137 客户端 .......................... ................ 170 服务器端........................................................................................................................................ 170 客户端 ..........................0 码力 | 219 页 | 4.16 MB | 10 月前3 跟我学Shiro - 张开涛................ 120 服务器端........................................................................................................................................ 120 客户端 .......................... ian.iteye.com/ 4 服务器端........................................................................................................................................ 137 客户端 .......................... ................ 170 服务器端........................................................................................................................................ 170 客户端 ..........................0 码力 | 219 页 | 4.16 MB | 10 月前3
 Python 标准库参考指南 3.7.13 . . . . . . 1156 22.12 http.client --- HTTP 协议客户端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1158 22.13 ftplib --- FTP 协议客户端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1165 22.14 poplib --- POP3 协议客户端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1170 22.15 imaplib --- IMAP4 协议客户端 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1172 iv 22.16 nntplib --- NNTP 协议客户端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1178 22.17 smtplib ---SMTP 协议客户端 . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 1961 页 | 9.14 MB | 9 月前3 Python 标准库参考指南 3.7.13 . . . . . . 1156 22.12 http.client --- HTTP 协议客户端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1158 22.13 ftplib --- FTP 协议客户端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1165 22.14 poplib --- POP3 协议客户端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1170 22.15 imaplib --- IMAP4 协议客户端 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1172 iv 22.16 nntplib --- NNTP 协议客户端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1178 22.17 smtplib ---SMTP 协议客户端 . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 1961 页 | 9.14 MB | 9 月前3
 PyWebIO v1.0.3 使用手册Release notes What’s new in PyWebIO 1.0 What’s new in PyWebIO 0.3 What’s new in PyWebIO 0.2 实现文档 服务器-客户端通信协议 Command Event Indices and tables 索引 模块索引 搜索页面 Discussion and support Need help when use PyWebIO go和aiohttp Web框架的 集成。 与Web框架集成需要完成两部分配置:托管PyWebIO前端静态文件;暴露 PyWebIO后端接口。这其中需要注意前端页面和后端接口的路径约定, 以及前 端静态文件与后端接口分开部署时因为跨域而需要的特别设置。 集成方法 不同Web框架的集成方法如下: Tornado Flask Django aioh�p 需要在Tornado应用中引入两个 RequestHandler http://localhost/tool/ 即可打开PyWebIO应 用 注意 当使用Tornado后端时,PyWebIO使用WebSocket协议和浏览器进行通 讯,如果你的Tornado应用处在反向代理(比如Nginx)之后, 可能需要特 别配置反向代理来支持WebSocket协议,这里 有一个Nginx配置 WebSocket的例子。 需要添加两个PyWebIO相关的路由:一个用来提供前端静态文件,另一个 用来和浏览器进行Http通讯:0 码力 | 106 页 | 7.34 MB | 1 年前3 PyWebIO v1.0.3 使用手册Release notes What’s new in PyWebIO 1.0 What’s new in PyWebIO 0.3 What’s new in PyWebIO 0.2 实现文档 服务器-客户端通信协议 Command Event Indices and tables 索引 模块索引 搜索页面 Discussion and support Need help when use PyWebIO go和aiohttp Web框架的 集成。 与Web框架集成需要完成两部分配置:托管PyWebIO前端静态文件;暴露 PyWebIO后端接口。这其中需要注意前端页面和后端接口的路径约定, 以及前 端静态文件与后端接口分开部署时因为跨域而需要的特别设置。 集成方法 不同Web框架的集成方法如下: Tornado Flask Django aioh�p 需要在Tornado应用中引入两个 RequestHandler http://localhost/tool/ 即可打开PyWebIO应 用 注意 当使用Tornado后端时,PyWebIO使用WebSocket协议和浏览器进行通 讯,如果你的Tornado应用处在反向代理(比如Nginx)之后, 可能需要特 别配置反向代理来支持WebSocket协议,这里 有一个Nginx配置 WebSocket的例子。 需要添加两个PyWebIO相关的路由:一个用来提供前端静态文件,另一个 用来和浏览器进行Http通讯:0 码力 | 106 页 | 7.34 MB | 1 年前3
 Python 标准库参考指南 3.7.13 . . . . . . . 1091 22.12 http.client --- HTTP 协议客户端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1093 22.13 ftplib --- FTP 协议客户端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1099 22.14 poplib --- POP3 协议客户端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1104 22.15 imaplib --- IMAP4 协议客户端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1106 22.16 nntplib --- NNTP 协议客户端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1112 22.17 smtplib ---SMTP 协议客户端 . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 1846 页 | 9.09 MB | 9 月前3 Python 标准库参考指南 3.7.13 . . . . . . . 1091 22.12 http.client --- HTTP 协议客户端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1093 22.13 ftplib --- FTP 协议客户端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1099 22.14 poplib --- POP3 协议客户端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1104 22.15 imaplib --- IMAP4 协议客户端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1106 22.16 nntplib --- NNTP 协议客户端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1112 22.17 smtplib ---SMTP 协议客户端 . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 1846 页 | 9.09 MB | 9 月前3
 PyWebIO v1.2.3 使用手册. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.11 服务器-客户端通信协议 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 5 Indices and 这个文档同时也提供 PDF 和 Epub 格式. 4.1 User’s guide 如果你接触过 Web 开发,你可能对接下来描述的 PyWebIO 的用法感到不太习惯,不同于传统 Web 开发的后 端实现接口、前端进行展示交互的模式,在 PyWebIO 中,所有的逻辑都通过编写 Python 代码实现。 你可以按照编写控制台程序的逻辑编写 PyWebIO 应用,只不过这里的终端变成了浏览器。通过 使用path_deploy() 可以从一个路径中部署 PyWebIO 应用。位于该路径下的 python 文件需要包含名字为 main 的 PyWebIO 任务函数才能被视为 PyWebIO 应用程序。服务端会根据用户访问的 URL 来确定需要加载 的文件并从中读取 PyWebIO 应用来运行。 例如,给定如下文件结构: . ├── A │ └── a.py ├── B │ └── b.py0 码力 | 102 页 | 1.67 MB | 1 年前3 PyWebIO v1.2.3 使用手册. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.11 服务器-客户端通信协议 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 5 Indices and 这个文档同时也提供 PDF 和 Epub 格式. 4.1 User’s guide 如果你接触过 Web 开发,你可能对接下来描述的 PyWebIO 的用法感到不太习惯,不同于传统 Web 开发的后 端实现接口、前端进行展示交互的模式,在 PyWebIO 中,所有的逻辑都通过编写 Python 代码实现。 你可以按照编写控制台程序的逻辑编写 PyWebIO 应用,只不过这里的终端变成了浏览器。通过 使用path_deploy() 可以从一个路径中部署 PyWebIO 应用。位于该路径下的 python 文件需要包含名字为 main 的 PyWebIO 任务函数才能被视为 PyWebIO 应用程序。服务端会根据用户访问的 URL 来确定需要加载 的文件并从中读取 PyWebIO 应用来运行。 例如,给定如下文件结构: . ├── A │ └── a.py ├── B │ └── b.py0 码力 | 102 页 | 1.67 MB | 1 年前3
 PyWebIO v1.2.2 使用手册. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.11 服务器-客户端通信协议 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 5 Indices and 这个文档同时也提供 PDF 和 Epub 格式. 4.1 User’s guide 如果你接触过 Web 开发,你可能对接下来描述的 PyWebIO 的用法感到不太习惯,不同于传统 Web 开发的后 端实现接口、前端进行展示交互的模式,在 PyWebIO 中,所有的逻辑都通过编写 Python 代码实现。 你可以按照编写控制台程序的逻辑编写 PyWebIO 应用,只不过这里的终端变成了浏览器。通过 使用path_deploy() 可以从一个路径中部署 PyWebIO 应用。位于该路径下的 python 文件需要包含名字为 main 的 PyWebIO 任务函数才能被视为 PyWebIO 应用程序。服务端会根据用户访问的 URL 来确定需要加载 的文件并从中读取 PyWebIO 应用来运行。 例如,给定如下文件结构: . ├── A │ └── a.py ├── B │ └── b.py0 码力 | 102 页 | 1.69 MB | 1 年前3 PyWebIO v1.2.2 使用手册. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.11 服务器-客户端通信协议 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 5 Indices and 这个文档同时也提供 PDF 和 Epub 格式. 4.1 User’s guide 如果你接触过 Web 开发,你可能对接下来描述的 PyWebIO 的用法感到不太习惯,不同于传统 Web 开发的后 端实现接口、前端进行展示交互的模式,在 PyWebIO 中,所有的逻辑都通过编写 Python 代码实现。 你可以按照编写控制台程序的逻辑编写 PyWebIO 应用,只不过这里的终端变成了浏览器。通过 使用path_deploy() 可以从一个路径中部署 PyWebIO 应用。位于该路径下的 python 文件需要包含名字为 main 的 PyWebIO 任务函数才能被视为 PyWebIO 应用程序。服务端会根据用户访问的 URL 来确定需要加载 的文件并从中读取 PyWebIO 应用来运行。 例如,给定如下文件结构: . ├── A │ └── a.py ├── B │ └── b.py0 码力 | 102 页 | 1.69 MB | 1 年前3
共 427 条
- 1
- 2
- 3
- 4
- 5
- 6
- 43














 
 