6个版本
0.3.0 | 2022年9月20日 |
---|---|
0.3.0-alpha7 | 2022年9月19日 |
#1142 在 WebAssembly
每月23次下载
用于 cosmic-hyperverse
730KB
21K SLoC
COSMIC UNIVERSE
cosmic-universe
是 宇宙计划 的一部分,是一个WebAssembly编排框架。
宇宙计划框架中的概念存在于两个维度之一:宇宙或超宇宙。
进行中
这个框架仍在进行中,尚未准备好投入生产。它已准备好接受社区反馈和讨论。
术语
为了避免与其他域名发生冲突,宇宙计划中的许多概念都来自天体物理学概念。
- 宇宙 - 框架所连接的一切
- 粒子 - 一种可以发送和接收波并提供某些功能的功能。
粒子具有一种类型(机械tron、数据库、文件、用户等)。 - 点 - 通常用于标识粒子的地址。
- 波 - 一种消息,波壳包含路由: 到 & 从 以及描述处理和安全性的各种其他字段。波核心要么是 定向的 要么是 反射的 (请求或响应),并紧密遵循http请求/响应格式。
- 机械tron - 一种实现
mechtron
&cosmic-universe
框架的WebAssembly组件,因此可以发现并与宇宙中的其他粒子进行通信... 机械tron还可以通过截获、解释与底层资源通信来扩展任何其他功能,
并以它理解的方式进行通信。 - 控制 - 一种允许外部连接到宇宙的端点粒子。外部控制实现了
cosmic-universe
包(或为其他语言自动生成的serde模型)以与宇宙通信 - 宇宙织物 - 这是波在粒子之间旅行的空间
- 宇宙维度 - 对宇宙的简化视图/api,不涉及安全或基础设施问题
- 超宇宙维度 - 强制执行安全性和编排(提供、分片、负载均衡等)的基础设施层
宇宙维度
本包——宇宙宇宙——提供API和工具,用于与宇宙维度中的宇宙织布和其他粒子交互。
宇宙维度允许粒子几乎无需处理编排或安全即可与宇宙织布和其他粒子交互。诸如安全、供应、分片、负载均衡以及其他被认为是常见基础设施概念的担忧,都由Hyperversal维度在后台管理。
将宇宙与超宇宙之间的关注点分离的目的是将尽可能多的系统复杂性推入一个中央位置,在那里所有交互都得到处理,从而降低各种粒子的复杂性(和变化)。复杂性较低的粒子意味着它们更容易实现,且出错的可能性更小,因为每个粒子中逻辑重复较少。
相反,cosmic-hyperverse
是一个用于管理安全和编排的包。
安全示例
例如,让我们检查粒子之间的授权。我们有一个源粒子向目标粒子发送波浪,而目标粒子要求定向波浪必须经过授权。
源粒子简单地发送波浪,没有凭据、令牌或其他任何东西……它表现得就像没有安全一样。在幕后,当波浪穿越宇宙织布时,它进入超宇宙维度,并检查源授权,波浪要么被传递给目标,要么被拒绝并作为错误返回给源。
请注意,目标粒子(也是宇宙维度的一部分)不会对定向波浪进行授权——它只是假设它接收到的任何波浪都必须经过授权,否则它就不会被传递。
当然,当源粒子组件没有权限向目标粒子发送波浪时,二维关注点隔离会相互冲突。因此,宇宙并不是完全不知道超宇宙,但至少两端代码的复杂度都得到了极大的简化。
依赖关系
~13–22MB
~328K SLoC