Inquir Compute logoInquir Compute
Рантайм · Inquir Compute

Go 1.22 serverless-функции с изолированными рантаймами

Go 1.22 handlers в net/http-стиле в изолированных контейнерах: нативные Go-зависимости, CGO через слои, быстрый cold start — без Kubernetes и custom Dockerfile.

Last updated: 2026-04-20

Direct answer

Go 1.22 serverless-функции с изолированными рантаймами. net/http-стиль handler, CGO-зависимости через слои, быстрый бинарь — без Dockerfile и fly.toml. Деплой через браузер или CLI.

When it fits

  • Высокопроизводительные API с минимальным overhead
  • CGO-зависимости: sqlite3, crypto-биндинги
  • Teams already writing Go services who want consistent language across the stack

Tradeoffs

  • Если весь стек уже на Go в Kubernetes — миграция ради отдельных функций не оправдана.
  • Stateful сервисы с WebSocket на Go лучше живут в постоянном процессе.

Когда Go serverless сложнее, чем должно быть

  • Edge isolates do not support CGO or native system libraries
  • AWS Lambda Go runtime requires a custom bootstrap binary per function
  • Mixing Go functions with Node.js or Python APIs meant separate platforms or Lambda layers hacks

AWS Lambda требует упаковки Go-бинаря в zip или container image. Обновление — пересборка и повторная загрузка образа.

Когда Go serverless избыточен

Если весь стек уже на Go в Kubernetes — миграция ради отдельных функций не оправдана.

Stateful сервисы с WebSocket на Go лучше живут в постоянном процессе.

Go 1.22 в managed serverless-контейнерах

net/http-стиль handler, CGO-зависимости через слои, быстрый бинарь — без Dockerfile и fly.toml. Деплой через браузер или CLI.

Один шлюз для Go-функций, cron-расписаний и вебхуков — без отдельного scheduler-сервиса на Go.

Что даёт Go 1.22 рантайм

net/http handler

`func Handler(w http.ResponseWriter, r *http.Request)` — стандартный Go HTTP-обработчик.

CGO поддержка

CGO-зависимости через слои; sqlite3, crypto-библиотеки с C-биндингами.

Быстрый cold start

Go-бинарь стартует быстро — один из лучших cold start среди serverless рантаймов.

Модули

go.mod / go.sum — стандартный Go-модульный workflow без изменений.

Как задеплоить Go функцию

1

Написать handler

`func Handler(w http.ResponseWriter, r *http.Request) { ... }` — стандартный net/http.

2

Добавить go.mod

Стандартный go.mod с зависимостями; CGO-пакеты — через слой.

3

Задеплоить

Загрузить через CLI или браузерный редактор; URL шлюза готов.

Go serverless function: fast JSON API handler

Standard net/http pattern. Reads from environment, returns JSON. CGO dependencies work in the container build.

handler.go
package main

import (
	"encoding/json"
	"net/http"
	"os"
)

type Response struct {
	Status  string `json:"status"`
	Version string `json:"version"`
	Region  string `json:"region,omitempty"`
}

func Handler(w http.ResponseWriter, r *http.Request) {
	if r.Method != http.MethodGet {
		http.Error(w, "method not allowed", http.StatusMethodNotAllowed)
		return
	}
	resp := Response{
		Status:  "ok",
		Version: "1.0.0",
		Region:  os.Getenv("INQUIR_REGION"),
	}
	w.Header().Set("Content-Type", "application/json")
	json.NewEncoder(w).Encode(resp)
}

Когда выбирать Go

Когда это уместно

  • Высокопроизводительные API с минимальным overhead
  • CGO-зависимости: sqlite3, crypto-биндинги
  • Teams already writing Go services who want consistent language across the stack

Когда лучше не трогать

  • Stateful сервисы с WebSocket или постоянными соединениями

Вопросы и ответы

Поддерживается Lambda-стиль handler?

Inquir использует net/http стиль: `Handler(w http.ResponseWriter, r *http.Request)`. Тело запроса читается из `r.Body`.

Как добавить CGO зависимость?

Создать слой с заголовочными файлами и библиотекой; подключить к функции. CGO компилируется под рантайм-архитектуру.

How does cold start compare to Node.js?

Go binaries typically start faster than Node.js for the same workload. Use hot containers for steady traffic patterns regardless of language for consistent p95 latency.

Inquir Compute logoInquir Compute

Самый простой способ запускать AI-агентов и backend-джобы без инфраструктуры.

Связаться info@inquir.org

© 2025 Inquir Compute. Все права защищены.