Apache APISIX 在金山办公的开发和落地实践
indirection" The fundamental theorem of software engineering (FTSE) 基于 Apache APISIX 破局 What about… Rust + Lua + Nginx? 让 Lua 回归胶水本质! 基于 Apache APISIX 破局 How ? 基于Lua的C API(lua_*),构建原生lua模块,产物为一个Shared • high-level lua rust binding • 相对安全 • 支持 module 模式,将 rust 构建为 shared object 供 lua 直接使用 • 支持 rust 高级语义 基于 Apache APISIX 破局 基于 Apache APISIX 破局 在 Luajit 上引入动态 lib 的性能考虑 • C/Rust to Lua的context switch 类型转换开销: • 不要在 rust 中做分配大段内存再同步回 lua 的操作 • 不要在 rust 中通过指针回调 lua • 做好性能测试 解决 Nginx 带来的问题 为什么不考虑... ... • C/C++? 没有 rust 的内存安全,既然要解决 lua 的人因问题就不要引入另一个。rust 和它们 是 ABI 兼容的,它们能做的能用的 rust 也可以。 • WASM/WASI?0 码力 | 27 页 | 4.88 MB | 1 年前3Developing & Debugging WebAssembly Filters
© 2020 Build > meshctl wasm init addheader-filter --language rust > meshctl wasm build rust -t webassemblyhub.io/yuval/addheader-rust:v1 ./addheader-filter ABI: Application Binary Interface 13 13 | Copyright © 2020 > meshctl wasm push webassemblyhub.io/yuval/addheader-rust:v1 Build Store 14 | Copyright © 2020 Build Store WASM Artifact Image Specification 15 | Copyright © 2020 Build --deployment-name ratings-add-header --namespace bookinfo --image webassemblyhub.io/yuval/addheader-rust:v1 --cluster mgmt-cluster --labels app=ratings Extension Config Discovery Service EXTERNAL AUTH0 码力 | 22 页 | 2.22 MB | 1 年前3Streaming optimizations - CS 591 K1: Data Stream Processing and Analytics Spring 2020
possibly different type A series of transformations on streams in Stream SQL, Scala, Python, Rust, Java… ??? Vasiliki Kalavri | Boston University 2020 Logic State<#Brexit, 521> <#WorldCup combiners example: URL access frequency (k2, list(v2)) → list(v2) (k1, v1) → list(k2, v2) map() reduce() 25 ??? Vasiliki Kalavri | Boston University 2020 MapReduce combiners example: URL access google.be, 1 maps.google.com, 1 ??? Vasiliki Kalavri | Boston University 2020 MapReduce combiners example: URL access frequency 27 map() reduce() GET /dumprequest HTTP/1.1 Host: rve.org.uk Connection: 0 码力 | 54 页 | 2.83 MB | 1 年前3Extending service mesh capabilities using a streamlined way based on WASM and ORAS
○ 敏捷性:过滤器可以动态加载到正在运行的Envoy进程中,而无需停止或重新编译。 ○ 可维护性:不必更改Envoy自身基础代码库即可扩展其功能。 ○ 多样性:可以将流行的编程语言(例如C/C++和Rust)编译为WASM,因此开发人员可 以选择实现过滤器的编程语言。 ○ 可靠性和隔离性:过滤器会被部署到VM沙箱中,因此与Envoy进程本身是隔离的;即使 当WASM Filter出现问题导致崩溃时,它也不会影响Envoy进程。 oxy-wasm/spec ● 内置的Wasm runtime ○ ~20MB for WAVM ○ ~10MB for V8 ● 事件驱动模型 ● 兼容native filter调用 方式 8 Example Wasm filter configuration ● 下发到Envoy Proxy侧的配置 9 OCI Registry As Storage ● OCI Artifacts项目的参考实现 com/asm/asm- test:v0.1 --manifest-config runtime- config.json:application/vnd.module.wasm.config.v1+json example- filter.wasm:application/vnd.module.wasm.content.layer.v1+wasm ○ Wasm Artifact镜像规范参考 ■ https://github0 码力 | 23 页 | 2.67 MB | 1 年前3Putting an Invisible Shield on Kubernetes Secrets
Trusted Execution Environment (TEE) is • a secure area protected by the processor (aka. Enclave) Example: Intel SGX • Strong isolation • Encrypted memory • SW/HW attacks prevented TEE-based KMS Plugin • Biz scenarios • Solutions evaluated • Go KMS Plugin + C Go SGX Functions • C++ KMS Plugin • Rust KMS Plugin ü Go KMS Plugin + TEE LibOS (Occlum [1]) [1] https://github.com/occlum/occlum Occlum:0 码力 | 33 页 | 20.81 MB | 1 年前3OpenShift Container Platform 4.8 Service Mesh
namespace: default spec: action: DENY rules: - to: - operation: hosts: ["httpbin.example.com:*"] OpenShift Container Platform 4.8 Service Mesh 14 1.2.2.22. Red Hat OpenShift Service Mesh 一个加密套件。 apiVersion: "security.istio.io/v1beta1" kind: "RequestAuthentication" metadata: name: "jwt-example" namespace: bookinfo spec: selector: matchLabels: app: httpbin jwtRules: - issuer: OpenShift Container Platform 4.8 Service Mesh 90 以下示例显示了外部 HTTPS 入口流量的网关配置示例: 这个网关配置允许来自 ext-host.example.com 的 HTTPS 流量通过端口 443 进入网格,但没有为流量指 定路由。 要指定路由并让网关按预期工作,还必须将网关绑定到虚拟服务。您可以使用虚拟服务的网关字段进行此 操作,如下例所示:0 码力 | 344 页 | 3.04 MB | 1 年前3Stream processing fundamentals - CS 591 K1: Data Stream Processing and Analytics Spring 2020
possibly different type A series of transformations on streams in Stream SQL, Scala, Python, Rust, Java… 40 Vasiliki Kalavri | Boston University 2020 Stateful operators Logic State<#Brexit .max("temp") maxTemp.print() env.execute("Compute max sensor temperature”) } } Example: Apache Flink DataStream API 42 Vasiliki Kalavri | Boston University 2020 Relational Streaming 0 码力 | 45 页 | 1.22 MB | 1 年前3BAETYL 0.1.6 Documentation
Rule Installation Quick Install Baetyl Install the container runtime Install Baetyl Import the example configuration (optional) Start Baetyl Verify successful installation Build Baetyl From Source Environment Service, a Service can start multiple instances, or can be dynamically started by other services. For example, the instances of function runtime service are dynamically started and stopped by the function manager services, the Master will first call the Engine interface to perform some preparatory work. For example, in container mode, it will try to download the image of all services first. 5. After the preparation0 码力 | 119 页 | 11.46 MB | 1 年前31.3 MOSN 在云原生的探索及实践
编写简单业务处理方便 Lua 脚本语言,开发复杂功能不 方便;支持的库(SDK)相对较 少 WASM Extension 跨语言语言支持 (C/C++/Rust)、隔离性、安 全性、敏捷性 处于试验阶段,性能损耗较大; WASM 目前仅对C/C++/Rust 友好,对 GoLang Runtime 还未 完全支持; 不能复用已有的 SDK,需要做网 络 IO 适配改造 External-Proc0 码力 | 36 页 | 35.61 MB | 1 年前301. MOSN 高性能网络扩展实践 - 王发康
编写简单业务处理方便 Lua 脚本语言,开发复杂功能不方便 支持的库(SDK)相对较少 WASM Extension 跨语言语言支持(C/C++/Rust)、 隔离性、安全性、敏捷性 处于试验阶段,性能损耗较大; WASM 目前仅对C/C++/Rust 友好, 对 GoLang Runtime 还未完全支持; 不能复用已有的 SDK,需要做网络 IO 适配改造 External-Proc Extension0 码力 | 29 页 | 2.80 MB | 1 年前3
共 388 条
- 1
- 2
- 3
- 4
- 5
- 6
- 39
相关搜索词
ApacheAPISIX金山办公开发落地实践DevelopingDebuggingWebAssemblyFiltersStreamingoptimizationsCS591K1DataStreamProcessingandAnalyticsSpring2020ExtendingservicemeshcapabilitiesusingstreamlinedwaybasedonWASMORASPuttinganInvisibleShieldKubernetesSecretsKailunQinAntGroupOpenShiftContainerPlatform4.8ServiceMeshprocessingfundamentalsBAETYL0.1Documentation1.3MOSN原生探索01高性性能高性能网络扩展王发康