
BoltzEngine はどこと通信しますか
BoltzEngine の各種サービスは連携して通知を行います。マスターノードがリクエストを受けて、複数のスレーブノードを使って通知を送信します。
マスターノード
マスターノードは通知リクエストを受け付けるサービスです。BoltzEngine 3.0現在、以下2通りのプロトコルをサポートします。
プロトコル | 受信するポート |
---|---|
gRPC | TCP/13009 |
net/rpc | TCP/13010 |
今後は gRPC を優先して新機能の追加などを行いますので、なるべく gRPC をお使いください。現在の対応状況は以下の通りです。
プロトコル | net/rpc | gRPC |
---|---|---|
Legacy APNs | ○ | ○ |
APNs HTTP/2 | ○ | ○ |
FCM(HTTP) | ○ | ○ |
FCM(XMPP) | ○ | ○ |
WebPush | ○ | ○ |
ADM | × | ○ |
また、マスターノードはスレーブノードの以下ポートと通信を行います。
プロトコル | 受信するポート |
---|---|
net/rpc | TCP/13007 |
スレーブノード
スレーブノードは APNs、FCM、ADM および WebPush と通信するサービスです。スレーブノードを動作させるサーバーから以下のサーバーに対する十分なネットワーク帯域を用意する必要があります。
各プッシュ通知サービスと通信する際に、以下のドメインとポートに対して接続します。
APNs 使用時(HTTP/2)
- api.push.apple.com:443 (Production)
- api.development.push.apple.com:443 (Development)
HTTP/2の場合は、BoltzEngine の auth-server サービスとも通信します。
- (boltz auth-serverを実行したホスト):13008
APNs 使用時(バイナリインターフェイス)
- gateway.push.apple.com:2195 (Production プッシュ送信)
- gateway.push.apple.com:2196 (Production フィードバックサービス)
- gateway.sandbox.push.apple.com:2195 (Development プッシュ送信)
- gateway.sandbox.push.apple.com:2196 (Development フィードバックサービス)
FCM 使用時
- fcm.googleapis.com:443 (FCM-HTTP利用)
- fcm-xmpp.googleapis.com:5235 (FCM-XMPP利用)
- fcm-xmpp.googleapis.com:5236 (FCM-XMPP利用)
ADM 使用時
- api.amazon.com:443
WebPush 使用時
- fcm.googleapis.com:443 (Chrome/Sleipnir for Windows/Vivaldi)
- updates.push.services.mozilla.com:443 (Firefox)
- sg2p.notify.windows.com:443 (Edge)
上記以外のブラウザでは接続先が異なる場合があります。また予告なく変更される場合があります。
認証サービスノード
認証サービスは、APNs(HTTP/2) で利用する認証トークンを管理します。このサービスは、以下のポートでスレーブノードからのリクエストを待ち受けます。
- TCP/13008
Tools
BoltzEngine 付属のツールは、それぞれ以下のプロトコルに対応しています。
ツール名/プロトコル | net/rpc | gRPC |
---|---|---|
boltz-messenger-gateway | ○ | ○ |
boltz-http-proxy | ○ | × |
boltz-http-proxy | ○ | × |