Plug-in Based Software Architecture for RoboticsOutline ● What is plugin architecture? ● Why use plugin architecture? ● Designing a simplified plugin architecture ● Library used in robotics to implement plugin based system ○ Pluginlib ● Case study study for plugin architecture - MoveIt ● Limitations ● Summary 2Introduction •Abi Sivaraman •Robotics Engineer at PickNik Robotics •I work with robotic arms •MoveIt Maintainer 3What is plugin plugin architecture? Software Design Pattern that allows for developers to add functionality to a larger system without having to alter the source code of the system itself. Plug-ins are self-contained0 码力 | 75 页 | 2.40 MB | 6 月前3
High-Performance Cross-Platform Architecture: C++20 Innovationsembedded software • Started using C++ in 1995 • First cross-platform project in 1994Cross-Platform Architecture Goals • Take advantage of all platforms • Focus on the compiler • Minimize boilerplate and unnecessary requiring implementations that differ depending upon the target machine architecture. • Features may be hardware: CPU architecture, SIMD instruction set, DMA controller, GPIO module, etc. • Features0 码力 | 75 页 | 581.83 KB | 6 月前3
TiDB v8.3 Documentation· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 113 3.4.2 Architecture · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 625 5.1.7 Hardware and software requirements for TiFlash disaggregated storage and compute architecture · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 625 5.2 TiDB Environment Backup & Restore Overview · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 906 8.4.2 Architecture · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·0 码力 | 6606 页 | 109.48 MB | 10 月前3
TiDB v8.2 Documentation· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 110 3.4.2 Architecture · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 622 5.1.7 Hardware and software requirements for TiFlash disaggregated storage and compute architecture · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 622 5.2 TiDB Environment Backup & Restore Overview · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 902 8.4.2 Architecture · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·0 码力 | 6549 页 | 108.77 MB | 10 月前3
TiDB v8.1 Documentation· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 110 3.4.2 Architecture · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 622 5.1.7 Hardware and software requirements for TiFlash disaggregated storage and compute architecture · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 622 5.2 TiDB Environment Backup & Restore Overview · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 900 8.4.2 Architecture · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·0 码力 | 6479 页 | 108.61 MB | 10 月前3
TiDB v8.5 Documentation· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 140 3.4.2 Architecture · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 711 5.1.7 Hardware and software requirements for TiFlash disaggregated storage and compute architecture · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 711 5.2 TiDB Environment · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 904 7.1.3 TiCDC architecture · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 905 70 码力 | 6730 页 | 111.36 MB | 10 月前3
TiDB v8.4 Documentation· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 135 3.4.2 Architecture · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 706 5.1.7 Hardware and software requirements for TiFlash disaggregated storage and compute architecture · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 706 5.2 TiDB Environment Backup & Restore Overview · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 980 8.4.2 Architecture · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·0 码力 | 6705 页 | 110.86 MB | 10 月前3
TiDB v8.2 中文手册集群快照数据备份和恢复的架构设计与流程。 8.4.2.2.1 架构设计 快照数据备份和恢复的架构如下: 710 图 52: BR snapshot backup and restore architecture 8.4.2.2.2 备份流程 集群快照数据备份的流程如下: 711 图 53: snapshot backup process design 完整的备份交互流程描述如下: 1 Point-in-time recovery (PITR) 的架构设计与流 程。 8.4.2.3.1 架构设计 日志备份和 PITR 的架构如下: 图 55: BR log backup and PITR architecture 8.4.2.3.2 日志备份 日志备份的流程如下: 716 图 56: BR log backup process design 系统组件和关键概念: • local metadata:表示单 2 组件架构 在介绍具体的容灾方案之前,本部分将从容灾角度介绍容灾系统中的组件架构,包括 TiDB、TiCDC 和 BR。 8.5.1.2.1 TiDB 架构 图 60: TiDB architecture TiDB 的设计采用了计算、存储分离的架构: • TiDB 为系统的计算层。 • TiKV 是系统的存储层,采用行存的方式保存数据库的数据记录,其中Region 是经过排序的若干行数据的0 码力 | 4987 页 | 102.91 MB | 10 月前3
TiDB v8.4 中文手册集群快照数据备份和恢复的架构设计与流程。 8.4.2.2.1 架构设计 快照数据备份和恢复的架构如下: 769 图 53: BR snapshot backup and restore architecture 8.4.2.2.2 备份流程 集群快照数据备份的流程如下: 770 图 54: snapshot backup process design 完整的备份交互流程描述如下: 1 Point-in-time recovery (PITR) 的架构设计与流 程。 8.4.2.3.1 架构设计 日志备份和 PITR 的架构如下: 图 56: BR log backup and PITR architecture 8.4.2.3.2 日志备份 日志备份的流程如下: 775 图 57: BR log backup process design 系统组件和关键概念: • local metadata:表示单 组件架构 在介绍具体的容灾方案之前,本部分将从容灾角度介绍容灾系统中的组件架构,包括 TiDB、TiCDC 和 BR。 832 8.5.1.2.1 TiDB 架构 图 61: TiDB architecture TiDB 的设计采用了计算、存储分离的架构: • TiDB 为系统的计算层。 • TiKV 是系统的存储层,采用行存的方式保存数据库的数据记录,其中Region 是经过排序的若干行数据的0 码力 | 5072 页 | 104.05 MB | 10 月前3
TiDB v8.5 中文手册TiCDC 进程获取 TiKV 节点上的 数据改变,在内部进行排序、合并等处理之后,通过多个同步任务 (Changefeed),同时向多个下游系统进行数 据同步。 图 44: TiCDC architecture 在以上架构图中: • TiKV Server:代表 TiDB 集群中的 TiKV 节点,当数据发生改变时 TiKV 节点会主动将发生的数据改变以变更 日志(KV change logs,简称 TiCDC 软件架构 TiCDC 集群由多个 TiCDC 对等节点组成,是一种分布式无状态的架构设计。TiCDC 集群及节点内部组件的设计如 下图所示: 799 图 74: TiCDC architecture 7.6.1.2 组件介绍 上图中,TiCDC 集群由多个运行了 TiCDC 实例的节点组成,每个 TiCDC 实例都运行一个 Capture 进程。多个 Capture 进程中会有一个被选举成为 Processor 是由多条 table pipeline 构成的。 每条 pipeline 包含 Puller、Sorter、Mounter 和 Sink 模块,如下图。 图 75: TiCDC architecture 各个模块之间是串行的关系,组合在一起完成从上游拉取、排序、加载和同步数据到下游的过程,其中: • Puller:从 TiKV 节点获取 DDL 和行变更信息。 800 • Sorter:将接收到的变更在0 码力 | 5095 页 | 104.54 MB | 10 月前3
共 175 条
- 1
- 2
- 3
- 4
- 5
- 6
- 18













