ServerlessDays Day2にて、5ワークショップに分かれてサーバーレス製品を実際手を動かして試しました。
Momento topic、Postman flows、Cloudflare workers、TiDBでEDAアーキテクチャを作成、S3に上げたファイルがTiDBに投入まで確認するワークショップに参加しました。
Workshop内容
構成
Postman flowsは、USリージョン、TiDBはAWS us-east1
今回の構成では、Smart placementでCloudflare workersはUSリージョンでうごいていると思われる。
実際行って詰まったところ
S3のEventBridge からの通知がデフォルトオフなのに気づかず、Momento 側に送られてなかった
PostmanのCollectionsのリクエストがデフォルト保存されないので保存しないといけない
Auto Save機能があるとのこと(BETA)
PostmanのFlowの結合が、繋がってくれないことがあった。
Postmanのログの出し方
コンポーネントについて
- Momento webhook
Momento webhookは一回は送信するが、再度送信する必要があるが、EventBridgeのRetryで対応できるか
Momento will attempt to deliver an event to your webhook one time. If an event is not received by your endpoint, the publisher is required to send the message again.
https://docs.momentohq.com/topics/webhooks/overview
- Cloudflare workers
isolatesの仕組みがあり、LambdaとかだとCold startに悩まされることはありますが、Cold startがないとされている。
V8 ↗ orchestrates isolates: lightweight contexts that provide your code with variables it can access and a safe environment to be executed within. You could even consider an isolate a sandbox for your function to run in.
https://developers.cloudflare.com/workers/reference/how-workers-works
- Postman flows
ノーコードでフローが作れて便利と思いました。
EventBridgeからMomento topicはRetryはあるが、Momento topicからPostman flowはflow内でエラーになったか知る必要はありそう
https://community.postman.com/t/retry-a-failing-request/5934/22?page=2
- TiDB
Connection Stringを払い出して、WorkerのConnectionに設定することで接続できてしまう
パブリックなエンドポイントでしたが、PrivateLinkにも対応している
https://docs.pingcap.com/ja/tidbcloud/set-up-private-endpoint-connections
まとめ
Momento topic、Postman flowの連携する方法について一通り理解することができました。