Bifrost是一个具有可插拔传输的点对点通信引擎:

跨平台:支持网络浏览器、服务器、桌面、移动设备...
高效:通过单个链路复用许多同时流。
加密:识别、验证和加密对等体之间的每个链接。
灵活:同时使用多种传输、协议。
网格:支持通过电路到所需目标对等点的多跳路由。
PubSub:具有可插入实现的发布/订阅通道。
稳健:使用 Quic 在有损传输上实现可靠连接。

Bifrost 使用ControllerBus控制器和指令来管理对等点、传输、路由和其他更高级别进程之间的链接,并具有广泛且灵活的配置。

Bifrost 的设计围绕以下核心概念:

对等点:具有密钥对的可路由进程或设备。
传输:一种可以与其他对等点创建链接的协议。
链接:两个对等点之间通过传输的连接。
Stream:具有协议类型的两个 Peer 之间的数据通道。
RPC:请求/回复和双向流远程调用。
PubSub:至少一次将消息传递到指定主题。
与网络、pubsub 和 RPC 库集成,例如libp2pnoisedrpcstarpcnats

网络模拟器、测试床和进程内传输可用于将端到端测试编写为 Go 单元测试。模拟传输使用与真实传输相同的代码,并且对于应用程序代码来说也是相同的。

http包提供了一个http服务器和一种将 http 处理程序附加到控制器总线并使用它们来服务请求的机制。还有一个在总线上附加和查找 http 客户端的实现。

EntityGraph通过基于图形的互连实体模型向可视化工具和仪器公开 Bifrost 的内部状态表示。

将每个组件配置为独立控制器可以轻松使应用程序代码适应不同的操作环境和协议。
 
 
Back to Top