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 投稿