littlebot
Published on 2025-04-08 / 1 Visits
0

【源码】基于C语言的轻量级函数计算框架

项目简介

本项目开发了一个高性能、低资源占用的Linux用户态函数计算任务框架。借助轻量级任务抽象和分级隔离模型,降低过度隔离带来的开销,提升代码执行效率与响应速度,能让云边端各类设备具备FaaS(Function as a Service)能力。

项目的主要特性和功能

  1. 高性能与低资源占用:运用轻量级任务抽象,减少容器或进程等复杂系统抽象造成的资源占用和延迟。
  2. 高并发处理能力:支持高并发场景下的函数计算,通过多线程和任务队列实现高效的任务调度与执行。
  3. 分级隔离模型:对不同租户、不同应用以及同一应用内不同函数进行不同级别的隔离,减少过度隔离开销。
  4. 多语言支持:支持C、Python等多种编程语言,通过LLVM - WebAssembly方案达成多语言支持。
  5. 动态函数加载:支持动态加载函数,方便开发者动态添加、删除和更新函数服务。

安装使用步骤

环境准备

  1. 确保系统已安装C语言编译器(如GCC)和必要的库(如nng库)。
  2. 确认CMake版本为3.13及以上。

源码下载

Gitee或其他代码托管平台下载项目的源码文件。

编译安装

  1. 运行以下命令以自动下载依赖并编译项目: shell chmod +x ./auto-build.sh ./auto-build.sh
  2. 编译完成后,生成的二进制文件将位于build目录下。

启动服务

  1. 进入build目录,运行以下命令以启动主服务: shell ./lutf
  2. 若需修改监听地址,可以指定URL参数: shell ./lutf <url_func>

测试函数服务

  1. 运行以下命令以启动客户端测试程序: shell ./worker_test_ppdi
  2. 若需修改测试地址,可以指定URL参数: shell ./worker_test_ppdi <url_func> <url_work>
  3. 测试程序将模拟计算密集型任务或IO密集型任务,并发送多次函数执行请求。

动态函数管理

  1. 通过url_func端口,开发者和管理员可以添加、暂停、恢复和删除函数任务。
  2. 用户请求url_work路由时,框架将执行对应的函数并返回结果。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】