gRPC通信におけるmTLS(相互TLS)認証の実装ガイド

証明書の発行と設定 gRPCサーバー(想定ドメイン: grpc.local.net)とクライアント間の通信を相互TLS(mTLS)で保護する手順を解説します。まず、認証局(CA)、サーバー用、クライアント用の証明書チェーンを構築します。 1. ルートCA証明書の生成 以下のOpenSSLコマンドを使用して、RSA 4096ビットの秘密鍵と自己署名ルート証明書を作成します。実運用ではパスフレーズ ...

9月8日 13:53 投稿

GoによるgRPCファーストのマイクロサービス構築:RESTfulゲートウェイ併用アーキテクチャ

開発環境のセットアップ 以下の環境で動作確認済みです。 Windows 10 + Go 1.24 必要なGoツールをインストールします。 go install google.golang.org/protobuf/cmd/protoc-gen-go@latest go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway@latest go install github.c ...

8月20日 22:37 投稿

MCPハイブリッド環境の相互運用性:9つの統合課題に対する包括的アプローチ

クラウドとエッジコンピューティングの融合が進む中、MCP(マルチクラウドプラットフォーム)ハイブリッドアーキテクチャは、企業が柔軟なITインフラを構築するための主要選択肢となっている。このアーキテクチャでは、複数のパブリッククラウド、プライベートクラウド、エッジノードにまたがるアプリケーションの展開と管理が可能だが、同時に複雑な互換性課題も発生する ...

8月2日 12:12 投稿

Linkerd 2.10 でサービスプロファイルを構成する実践ガイド

Linkerd の ServiceProfile は、HTTP トラフィックに対するルート単位の可観測性・信頼性制御を可能にするカスタムリソースです。これにより、各エンドポイントごとのメトリクス収集、再試行ポリシー、タイムアウト設定が実現されます。 Linkerd プロキシは、着信 HTTP リクエスト(HTTPS 以外)の宛先サービスを、以下の順序で解析します:l5d-dst-override ヘッダー → : ...

8月1日 03:58 投稿

PHP環境向けgRPC拡張モジュールのソースビルド手順

コンパイラおよび依存ツールの準備 gRPCのPHP拡張モジュールをコンパイルするには、C++14規格に完全準拠したコンパイラ環境が必須です。レガシーなLinuxディストリビューションで標準提供されるGCC 4.8系ではシンタックスエラーが発生するため、事前にGCC 6.1以上へバージョンアップしてください。また、リポジトリの同期処理を安定させるため、Gitクライアントも最新安定 ...

7月19日 18:31 投稿

gRPC 共通プロジェクトの分離と実装

本記事では、gRPCでの共通プロジェクトの分離方法について説明します。具体的には、annotations.protoやhttp.protoファイルをサーバーおよびクライアントで共有するための手法を取り上げます。 共通プロジェクトの設定 以下は、共通プロジェクトの.csprojファイルの例です。この設定により、必要なパッケージがインストールされます。 <Project Sdk="Microsoft.NET ...

7月18日 00:13 投稿

gRPCの続き

3つのプロジェクト:GrpcClient、GrpcService、Proto GrpcClient クライアント GrpcService gRPCサービスホスティング Proto gRPC定義ファイル Protoプロジェクトに新しいテキストファイル「user.proto」を作成し、そのプロパティでNuGet参照を追加して「Grpc.AspNetCore」パッケージをインストールします。 ファイルの内容は以下の通りです: syntax = "proto3" ...

7月12日 21:38 投稿

Anno.Core フレームワークの実践的活用ガイド

フレームワーク概要 Anno.Core は .NET Core に基づくマイクロサービス開発フレームワークで、gRPC および Thrift を通信プロトコルとして利用可能です。サービスディスカバリ、トレーシング、Cron スケジューリング、リクエスト制限、イベントバス、CQRS、DDD を標準機能として搭載し、プラグインアーキテクチャで拡張性を実現しています。開発プロセスを簡素化し、高パ ...

6月17日 21:20 投稿

マイクロサービスアーキテクチャの設計と実装:単体システムからの移行戦略

マイクロサービスアーキテクチャの導入背景 近年、マイクロサービスアーキテクチャの採用が急増している。このアプローチは、大規模な単体アプリケーションの限界を克服するための有効な手段として注目されている。しかし、マイクロサービスという概念自体が誤解されやすい面もあり、特にサービスの適切な粒度や初期設計の難しさが課題となる。この記事では、実際の事例を ...

6月9日 19:53 投稿

UnityでのProtocol Buffers導入とシリアライズ実装

環境構築とライブラリの準備Protocol Buffers(Protobuf)をUnityで利用するには、C#用のランタイムライブラリと、.protoファイルからC#ソースコードを生成するためのコンパイラ(protoc)が必要です。1. 公式リポジトリからソースコードとWindows用バイナリ(win64)をダウンロードします。2. Visual StudioでC#プロジェクトを開き、メニューバーから「ツール > NuGet パ ...

6月8日 20:34 投稿