
BoltzEngine の入力 API の種類はどのようなものがあり、どのような違いがありますか
BoltzEngine は、送信情報入力 API として、net/rpc、HTTP API Gateway(http-proxy)、CSV入力コマンド を持ちます。
今後の開発は gRPC を中心に進むため、新規の開発では gRPC の利用を推奨します。
gRPC
バージョン 2.0 から利用可能な API です。net/rpc と異なり、Ruby や C# など、多くの言語からリクエストを送ることができます。また、この API は APNs と FCM のトークンをまとめて一つのリクエストで送るようになっています。
Go を使った使用例は BoltzEngine RPC インターフェイス - gRPC を参照してください。
net/rpc
BoltzEngine 標準の通信 API です。Go 言語標準パッケージである net/rpc パッケージ の機能を使用して通信します。 BoltzEngine 本来のパフォーマンスを引き出すことができますが、通知メッセージをキューイングする処理も Go 言語で実装する必要があります。
使用例は BoltzEngine RPC インターフェイス - net/rpc を参照してください。
HTTP API Gateway (http-proxy)
BoltzEngine の RPC API を REST の API として使用できるように動作するプロキシサービスです。 一般的な HTTP REST API として扱えるようになりますが、RPC 系 API よりも処理速度は低下します。また、追加でサービスを起動する必要があります。
CSV 入力コマンド
CSV に送信する通知を指定して一括で送信することができます。コマンドラインツールとして起動して CSV の内容を BoltzEngine 通知を登録します。バッチ処理等への組み込みに使用可能です。 速度は BoltzEngine の RPC インターフェイス (net/rpc) に依存します。