同步操作将从 YoMo/yomo 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
YoMo 是为边缘计算打造的低时延流式 Serverless 开发框架,基于 QUIC Transport 协议通讯,以 Functional Reactive Programming 为编程范式,简化构建可靠、安全的低时延计算应用的复杂度,挖掘5G潜力,释放实时计算价值。
官网:https://yomo.run (感谢 Vercel 支持)
For english, check: Github
确保已安装 Go 编译运行环境,参考 安装 Go
可以通过以下的命令全局安装最新发布的 YoMo CLI:
go install github.com/yomorun/cli/yomo@latest
或者也可以将 CLI 安装在不同的目录:
env GOBIN=/bin go install github.com/yomorun/cli/yomo@latest
$ yomo -V
YoMo CLI version: v0.1.3
$ yomo init yomo-app-demo
⌛ Initializing the Stream Function...
✅ Congratulations! You have initialized the stream function successfully.
ℹ️ You can enjoy the YoMo Stream Function via the command:
ℹ️ DEV: yomo dev -n Noise yomo-app-demo/app.go
ℹ️ PROD: First run source application, eg: go run example/source/main.go
Second: yomo run -n yomo-app-demo yomo-app-demo/app.go
$ cd yomo-app-demo
YoMo CLI 会自动创建带有以下内容的 app.go
文件:
package main
import (
"context"
"encoding/json"
"fmt"
"time"
"github.com/yomorun/yomo/rx"
)
// NoiseData represents the structure of data
type NoiseData struct {
Noise float32 `json:"noise"` // Noise value
Time int64 `json:"time"` // Timestamp (ms)
From string `json:"from"` // Source IP
}
var echo = func(_ context.Context, i interface{}) (interface{}, error) {
value := i.(*NoiseData)
value.Noise = value.Noise / 10
rightNow := time.Now().UnixNano() / int64(time.Millisecond)
fmt.Println(fmt.Sprintf("[%s] %d > value: %f ⚡️=%dms", value.From, value.Time, value.Noise, rightNow-value.Time))
return value.Noise, nil
}
// Handler will handle data in Rx way
func Handler(rxstream rx.Stream) rx.Stream {
stream := rxstream.
Unmarshal(json.Unmarshal, func() interface{} { return &NoiseData{} }).
Debounce(50).
Map(echo).
StdOut()
return stream
}
func DataID() []byte {
return []byte{0x33}
}
yomo dev
就可以看到:$ yomo dev
ℹ️ YoMo Stream Function file: app.go
⌛ Create YoMo Stream Function instance...
⌛ YoMo Stream Function building...
✅ Success! YoMo Stream Function build.
ℹ️ YoMo Stream Function is running...
2021/11/16 10:02:43 [core:client] has connected to yomo-app-demo (dev.yomo.run:9140)
[localhost] 1637028164050 > value: 6.575044 ⚡️=9ms
[StdOut]: 6.5750437
[localhost] 1637028164151 > value: 10.076103 ⚡️=5ms
[StdOut]: 10.076103
[localhost] 1637028164251 > value: 15.560066 ⚡️=8ms
[StdOut]: 15.560066
[localhost] 1637028164352 > value: 15.330824 ⚡️=2ms
[StdOut]: 15.330824
[localhost] 1637028164453 > value: 10.859857 ⚡️=7ms
[StdOut]: 10.859857
Edge-Native: YoMo 追求随地部署、随时迁移、随时扩容
YoMo-Source
: yomo.run/source
YoMo-Stream-Function
(formerly flow): yomo.run/stream-function
YoMo-Zipper
: yomo.run/zipper
Stream Processing in Rx way
: Rx
Faster than real-time codec
: Y3
YoMo ❤️ Vercel, Our documentation website is https://docs.yomo.run/.
yomo-codec
优化了数据解码性能首先感谢您的 contributions,是您这样的人让 YoMo 能变得越来越好!参与 YoMo 项目有很多种方式:
提交bug🐛,请务必记得描述您所运行的YoMo的版本、操作系统和复现bug的步骤。
建议新的功能
在贡献代码前,请先阅读Contributing Guidelines
当然我们也有 Code of Conduct
任何时候,建议和意见都可以写在 Discussion,每一条反馈都一定会被社区感谢!
QUIC 的全称是 Quick UDP Internet Connections protocol, 由 Google 设计提出,目前由 IETF 工作组推动进展。其设计的目标是替代 TCP 成为 HTTP/3 的数据传输层协议。熹乐科技在物联网(IoT)和边缘计算(Edge Computing)场景也一直在打造底层基于 QUIC 通讯协议的边缘计算微服务框架 YoMo,长时间关注 QUIC 协议的发展,遂整理该文集并配以适当的中文翻译,方便更多关注 QUIC 协议的人学习。
在线社区:🍖discord/quic
维护者:🦖YoMo
defaults write -g CFNetworkHTTP3Override -int 3
就可以了。此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。