1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/baetyl-baetyl-function

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Baetyl-function

Build Status Go Report Card codecov License

Введение

Baetyl-function — это фреймворк для вычисления функций на стороне сервера в рамках проекта Baetyl. Он состоит из двух частей: прокси-сервера на стороне клиента и среды выполнения функций на стороне сервера.

Baetyl-function предоставляет прокси-сервер, который является точкой входа для функций. Через него другие сервисы могут вызывать функции через HTTP-интерфейс, а затем запросы передаются в среду выполнения функций на сервере.

Среда выполнения функций предлагает несколько вариантов:

  • baetyl-function-python36: среда выполнения Python 3.6;
  • baetyl-function-node10: среда выполнения Node 10;
  • baetyl-function-sql: среда выполнения SQL, совместимая с синтаксисом SQL92.

Пользователи могут писать скрипты на Python, Node или SQL для создания собственных бизнес-логик, таких как фильтрация, преобразование и пересылка сообщений. Это обеспечивает гибкость использования.

Вычисление функций основано на модели программирования, управляемой событиями. Пользователи могут использовать модуль правил на стороне сервера baetyl-rule, чтобы устанавливать правила. Когда сообщение запускает определённое правило, можно вызвать соответствующую функцию в этом правиле. Baetyl-rule отправляет запрос в модуль baetyl-function, используя следующий формат:

https://[baetyl-function-service]/[function-service]/[function]

Здесь baetyl-function-service — адрес службы baetyl-function, например baetyl-function:50011. function-service — имя службы среды выполнения функций, а function — точка входа функции. Если поле function не указано, среда выполнения функций по умолчанию выбирает первую функцию из своего списка. Точка входа функции выполняет функцию. Для сред выполнения Python/Node функция состоит из имени функции и скрипта функции, а для среды выполнения SQL — только из скрипта функции, который представляет собой написанный пользователем SQL-запрос.

Для получения дополнительной информации см. руководство «Практика использования пограничного механизма правил Baetyl».

Конфигурация

Конфигурационный файл baetyl-function представлен в формате YAML. В нём описаны настройки сервера и клиента, а также настройка логгера. Вот полный текст файла конфигурации:

server: # server 相关设置,由于把请求代理到后端的 Runtimes 模块
  address: ":50011" # 监听地址
  concurrency: # 服务端并发连接数,如果不设置的话将使用默认值
  disableKeepalive: true # 是否启用 keep-alive 连接,默认值为 false
  tcpKeepalive: false # 是否主动发送 keep-alive 消息,默认为 false
  maxRequestBodySize: # Body 最大数据量,默认为 4 * 1024 * 1024 Byte
  readTimeout: 1h # 服务端连接的读超时时间,默认值为无限制
  writeTimeout: 1h # 服务端连接的写超时时间,默认值为无限制
  idleTimeout: 1h # 在 keep alive 启动条件下,服务端等待下次消息的空闲超时时间,如果值为0,复用读超时时间
  ca: example/var/lib/baetyl/testcert/ca.crt # Server 的 CA 证书路径
  key: example/var/lib/baetyl/testcert/server.key # Server 的服务端私钥路径
  cert: example/var/lib/baetyl/testcert/server.crt # Server 的服务端公钥路径

client: # 请求后端 Runtimes 模块的客户端相关设置
  grpc: # Grpc 客户端设置
    port: 80 # 后端 Runtimes 端口
    timeout: 5m # 请求超时时间
    retries: 3 # 请求重试次数

logger: # 日志
  level: info # 日志等级

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/baetyl-baetyl-function.git
git@api.gitlife.ru:oschina-mirror/baetyl-baetyl-function.git
oschina-mirror
baetyl-baetyl-function
baetyl-baetyl-function
master