Session Types in C++
Background in compilers and embedded systems... 2Motive? 3Motive: Can it be done in C++? 4Session type 5Session type ? 6"A normal adult programmer never gives a thought about types. That is something C++, we can settle with this explanation: But that is not what “type” in “Session type” means. 28Session type ? 29Session? • Interaction of two or more entities. • It has a beginning and (usually) interactions is happening. 30Session? • Can we describe a valid sequence of interactions? • Interaction diagram Client Server int int ADD DIV int double end Branching 31Session? • Can we describe a0 码力 | 89 页 | 1.55 MB | 5 月前3跟我学Shiro - 张开涛
......................................................................................... 104 SESSION 缓存 ............................................................................................. ....... 192 模块关系依赖 ................................................................................................................................ 193 SHIRO-EXAMPLE-CHAPTER23-POM 模块 ............. SHIRO-EXAMPLE-CHAPTER23-CORE 模块 ................................................................................................ 195 SHIRO-EXAMPLE-CHAPTER23-SERVER 模块 ..............................0 码力 | 219 页 | 4.16 MB | 10 月前3TiDB v8.4 中文手册
�→ region 修改 在 v8.4.0 之前, 该变量 为布尔 型,仅 支持开 启或关 闭,且 开启后 新建表 的 Region 只支持 表级别 打散。 从 v8.4.0 开始, 增加 SESSION 作用域, 类型由 布尔型 变更为 枚举型, 默认值 由原来 的 OFF 变更为 空,表 示不打 散表 Region, 并增加 了可选 值 TABLE 和 GLOBAL。 支持集 群级别 的打散 PRE_ �→ SPLIT �→ _ �→ REGIONS �→ ,一 旦需要 同样配 置的表 数量较 多,操 作复杂。 为解决 这些问 题,引 入了该 变量。你 可以在 GLOBAL 或 SESSION 级别设 置该系 统变量, 提升易 用性。 49 变量名 修改类型 描述 tidb_ �→ shard_ �→ row_id �→ _bits 新增 在 v8.4.0 之前, 要设置 新建表 里声明 SHARD_ �→ ROW_ �→ ID_ �→ BITS, 一旦需 要同样 配置的 表数量 较多, 操作复 杂。为 解决这 些问题, 引入了 该变量。 你可以 在 GLOBAL 或 SESSION 级别设 置该系 统变量, 提升易 用性。 50 变量名 修改类型 描述 tidb_tso_ �→ client �→ _rpc_ �→ mode 新增 设置 TiDB 向 PD 发送0 码力 | 5072 页 | 104.05 MB | 9 月前3TiDB v8.2 中文手册
TiDB token-limit 修改 最大值从 18446744073709551615(64 位平 台)和 4294967295(32 位平台)修改为 1048576,代表同时执行请求的 session 个数 最多可以设置为 1048576,避免设置过大导 致 TiDB Server OOM。 TiKV max-apply-unpersisted- �→ log-limit 修改 默认值从 2.5 系统表 • 在 系 统 表INFORMATION_SCHEMA.PROCESSLIST 和INFORMATION_SCHEMA.CLUSTER_PROCESSLIST 中 新 增 SESSION_ALIAS 字段,用于显示当前连接的别名。#46889 @lcwangchao 2.2.2.6 编译器版本 • 为了提升 TiFlash 的开发体验,编译和构建 TiDB 所需的 LLVM – 修复创建带有外键的表时,TiDB 未创建对应的统计信息元信息 (stats_meta) 的问题 #53652 @hawkingrei – 修复查询中的某些过滤条件可能导致 planner 模块发生 invalid memory address or nil pointer �→ dereference 报错的问题 #53582 #53580 #53594 #53603 @YangKeao0 码力 | 4987 页 | 102.91 MB | 9 月前3TiDB v8.5 中文手册
�→ region 修改 在 v8.4.0 之前, 该变量 为布尔 型,仅 支持开 启或关 闭,且 开启后 新建表 的 Region 只支持 表级别 打散。 从 v8.4.0 开始, 增加 SESSION 作用域, 类型由 布尔型 变更为 枚举型, 默认值 由原来 的 OFF 变更为 空,表 示不打 散表 Region, 并增加 了可选 值 TABLE 和 GLOBAL。 支持集 群级别 的打散 PRE_ �→ SPLIT �→ _ �→ REGIONS �→ ,一 旦需要 同样配 置的表 数量较 多,操 作复杂。 为解决 这些问 题,引 入了该 变量。你 可以在 GLOBAL 或 SESSION 级别设 置该系 统变量, 提升易 用性。 54 变量名 修改类型 描述 tidb_ �→ shard_ �→ row_id �→ _bits 新增 在 v8.4.0 之前, 要设置 新建表 里声明 SHARD_ �→ ROW_ �→ ID_ �→ BITS, 一旦需 要同样 配置的 表数量 较多, 操作复 杂。为 解决这 些问题, 引入了 该变量。 你可以 在 GLOBAL 或 SESSION 级别设 置该系 统变量, 提升易 用性。 55 变量名 修改类型 描述 tidb_tso_ �→ client �→ _rpc_ �→ mode 新增 设置 TiDB 向 PD 发送0 码力 | 5095 页 | 104.54 MB | 9 月前3Curve元数据节点高可用
etcd clientv3的concurrency介绍 3.1 etcd clientV3的concurrency模块构成 3.2 Campaign的流程 3.2.1 代码流程说明 3.2.2 举例说明Campagin流程 3.3 Observe的流程 4. MDS使用election模块的功能进行选主 4.1 Curve中MDS的选举过程 4.2 图示说明选举流程 4.2.1 正常流程 4 断的时间。 需要解决的问题就是:如何确定主备节点。 2. 技术选型 提供配置共享和服务发现的系统比较多,其中最为大家熟知的就是zookeeper和etcd, 考虑当前系统中mds有两个外部依赖模块,一是mysql, 用于存储集群拓扑的相关信息;二是etcd,用于存储文件的元数据信息。而etcd可以用于实现mds高可用,没必要引入其他组件。 使用etcd实现元数据节点的leader主要依赖于它的两个核心机制: 3.1 etcd clientV3的concurrency模块构成© XXX Page 3 of 30 etcd clientV3的concorrency模块对election进行了封装,首先对该模块做一个详细的介绍。 定义了 的接口: Election type Election struct { session *Session // etcd serversession keyPrefix0 码力 | 30 页 | 2.42 MB | 5 月前3Python 标准库参考指南 2.7.18
docs@python.org Contents 1 概述 3 2 内置函数 5 3 Non-essential Built-in Functions 25 4 内置常量 27 4.1 由 site 模块添加的常量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 5 内置类型 29 5 —Alternate repr() implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 9 数字和数学模块 213 9.1 numbers —数字的抽象基类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 11.13 sqlite3 —SQLite 数据库 DB-API 2.0 接口模块 . . . . . . . . . . . . . . . . . . . . . . . . . . 328 12 数据压缩和存档 347 12.1 zlib —与 gzip 兼容的压缩 .0 码力 | 1552 页 | 7.42 MB | 9 月前3Python 标准库参考指南 2.7.18
docs@python.org Contents 1 概述 3 2 内置函数 5 3 Non-essential Built-in Functions 25 4 内置常量 27 4.1 由 site 模块添加的常量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 5 内置类型 29 5 —Alternate repr() implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 9 数字和数学模块 213 9.1 numbers —数字的抽象基类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 11.13 sqlite3 —SQLite 数据库 DB-API 2.0 接口模块 . . . . . . . . . . . . . . . . . . . . . . . . . . 328 12 数据压缩和存档 347 12.1 zlib —与 gzip 兼容的压缩 .0 码力 | 1552 页 | 7.42 MB | 9 月前3Python 标准库参考指南 2.7.18
docs@python.org Contents 1 概述 3 2 内置函数 5 3 Non-essential Built-in Functions 25 4 内置常量 27 4.1 由 site 模块添加的常量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 5 内置类型 29 5 —Alternate repr() implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 9 数字和数学模块 213 9.1 numbers —数字的抽象基类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 11.13 sqlite3 —SQLite 数据库 DB-API 2.0 接口模块 . . . . . . . . . . . . . . . . . . . . . . . . . . 328 12 数据压缩和存档 347 12.1 zlib —与 gzip 兼容的压缩 .0 码力 | 1552 页 | 7.42 MB | 9 月前3Nacos架构&原理
Nacos 自研 Distro 协议 38 Nacos 通信通道 42 Nacos 寻址机制 56 Nacos 服务发现模块 63 Nacos 注册中心的设计原理 63 Nacos 注册中心服务数据模型 80 Nacos 健康检查机制 89 Nacos 配置管理模块 97 配置⼀致性模型 97 Nacos ⾼可⽤设计 100 Nacos 高可用设计 100 Nacos 鉴权插件 103 迎面而来的是第二个问题,开源的定位和竞争力是什么? 内部三个产品的开源策略是什么? 由于当时 Spring-cloud 的崛起,微服务多个模块逐步被划分,包括注册中心、配置中心,如果从 产品定位上,期望定位简单清晰,利于传播,我们需要分别开源我们内部产品,这样又会分散我们 品牌和运营资源。另外大部分客户没有阿里这么大的体量,模块拆分过细,部署和运维成本都会成 倍上涨,而且阿里巴巴也是从最早⼀个产品逐步演化成 3 个产品的,因此我们最终决定将内部三个 的时候我们取其精华进行开源,为了提升代码的健壮性和扩展性,进行了充分的分层和模块化设计。 设计原则 极简原则,简单才好用,简单才稳定,简单才易协作。 架构⼀致性,⼀套架构要能适应开源、内部、商业化(公有云及专有云)3 个场景。 扩展性,以开源为内核,商业化做基础,充分扩展,方便用户扩展。 模块化,将通用部分抽象下沉,提升代码复用和健壮性。 长期主义,不是要⼀个能支撑未来0 码力 | 326 页 | 12.83 MB | 9 月前3
共 208 条
- 1
- 2
- 3
- 4
- 5
- 6
- 21