Repolode
gofr-dev

gofr-dev/gofr

データベース、可観測性、gRPC、Kubernetes向けのデフォルト設定を組み込んだ、マイクロサービス構築用の独自の方針を持つGoフレームワーク。

スター
20,817
フォーク
1,790
未解決の Issue
203
最終コミット
昨日

これは何?

GoFrは、マイクロサービスやREST APIを構築するためのGoフレームワークです。シンプルなハンドラーAPI、標準的なRESTの挙動、すぐに使える設定管理を提供し、定型コードを減らすことを目指しています。ログ、トレース、メトリクスは自動で組み込まれ、Kubernetesへのデプロイを重視しています。

HTTPハンドラーに加えて、GoFrはgRPC、サーキットブレーカー機能付きHTTPクライアント、Pub/Sub、cronジョブ、データベースマイグレーション、データソースのヘルスチェック、WebSocket、Swaggerのレンダリング、抽象化されたファイルシステム層を備えています。認証とカスタムミドルウェアにも対応しています。

さらにGoFrには、OpenAI互換モデルを登録し、読み取り専用ハンドラーをAIエージェント向けのModel Context Protocolツールとして公開するLLM連携機能があります。このフレームワークを利用するには、Go 1.26以降が必要です。

主な機能

  • 01値とエラーを返すシンプルなハンドラーAPI
  • 02ログ、トレース、メトリクスをデフォルトで統合
  • 03HTTPに加えてgRPCをサポート
  • 04組み込みの認証ミドルウェアとカスタムミドルウェアに対応
  • 05Pub/Sub、cronジョブ、データベースマイグレーション
  • 06AIエージェント向けにハンドラーを公開するMCPサーバーを備えたLLM連携

ユースケース

  • KubernetesにデプロイするGo製マイクロサービスの構築
  • 可観測性を組み込んだREST APIの作成
  • GoバックエンドへのLLM呼び出しやAIエージェントのツールアクセスの追加

クイックスタート

  1. 1

    Go 1.26 以降をインストールします

  2. 2

    GoFr モジュールを取得します

    go get -u gofr.dev/pkg/gofr
  3. 3

    サンプルの greet ハンドラーを main.go として保存して実行します

    go run main.go
  4. 4

    ブラウザーで localhost:8000/greet にアクセスします

使う前に知っておきたいこと

  • 最近リリースされたバージョンである Go 1.26 以降が必要です。

収録されている特集

トピック

よくある質問

gofr とは?
データベース、可観測性、gRPC、Kubernetes向けのデフォルト設定を組み込んだ、マイクロサービス構築用の独自の方針を持つGoフレームワーク。 GoFrは、マイクロサービスやREST APIを構築するためのGoフレームワークです。シンプルなハンドラーAPI、標準的なRESTの挙動、すぐに使える設定管理を提供し、定型コードを減らすことを目指しています。ログ、トレース、メトリクスは自動で組み込まれ、Kubernetesへのデプロイを重視しています。
gofr は無料で使えますか?ライセンスは?
gofr は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
gofr は今もメンテナンスされていますか?
活発にメンテナンス中。gofr の最終コミットは 2026年11月6日 です。
gofr は何に使えますか?
KubernetesにデプロイするGo製マイクロサービスの構築 可観測性を組み込んだREST APIの作成 GoバックエンドへのLLM呼び出しやAIエージェントのツールアクセスの追加
gofr のインストール方法は?
Go 1.26 以降をインストールします GoFr モジュールを取得します: go get -u gofr.dev/pkg/gofr サンプルの greet ハンドラーを main.go として保存して実行します: go run main.go ブラウザーで localhost:8000/greet にアクセスします
gofr はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/gofr-dev/gofr

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト