Webhookの代わりに /events をください
(blog.syncinc.so)- システム間の連携のために WebHook を利用するが
→ サーバーダウン時の問題や、一時的なものであるため誤処理や損失が起きやすい
→ 問題をなくすために Kafka などでバッファリングすることはできるが面倒
- 2つのシステムの同期のために
/eventsエンドポイントを提案
→ Stripe が使用中の API
→ 過去30日間のすべての作成/変更/削除に対するイベントを取得できる
→ ポーリングによって、必要なタイミングで必要なだけ、何度でも取得することが可能
→ ロングポーリングにすれば負担も減らせそう
5件のコメント
Twitch APIもWebhooksからEventSubへ移行されるそうですし、流行なんでしょうね..
2つのシステム間の同期は、これまでも議論され続け、変更されてきたテーマではあるのですが。(論争も多いですし)
Stripe の /events API が興味深かったので、記事のリンクを持ってきて投稿してみます。
私はサーバーに負担をかける方式は好きではないので、そこまでという感じではありますが……
とはいえ、見逃してはいけない決済情報を扱う Stripe としては、あれがデータの信頼性を高められる方法なのではないかと思いますね。
Kafka のような mq を使うのと比べて、どんな点がより良いのか……よく分かりませんね。
Kafka は内部で制御可能なシステム同士には適していますが、
ここではそもそも別個の外部開発者や外部システムとのアクセスや連携がしやすいことを主題にしているようです。
ああ、なるほど、そういう違いがあるんですね(笑)。オープンなシステムを作らなければならない条件では、たしかにそうですね。
ありがとうございます。