2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

IBM Db2 on Cloud を Node-RED から利用するとき。無駄な CONNECTIONS を残さない。

Posted at

このページは?

IBM Db2 on Cloud は、Lite プランの場合、5 simultaneous connections という制限があります。通常利用する場合は、特に気になることでもないのですが、Node-RED フローの作り方によっては、下のようなエラーが発生してしまうことがあります。

このエラーが 起こりにくく する Tips です。

エラー1

目標

[exceeded maximum limit of 5 connections] という風に怒られにくくする

知識材料

利用環境

検証する画面仕様

  • データの検索・登録・更新 する Webページ

問題が起きるパターン

どうやら、フローに接続された dashDBノード は、一回でも実行するとセッションを張りっぱなしにする模様。

下のようなフローの場合、

  • 「検索時」に一番上の dashDBノード が実行され
  • 「新規登録時」に真ん中の dashDB ノードが実行され
  • 「更新時」に一番下の dashDB ノードが実行され

気がつくと、3つのセッションが常時接続状態になります。

このまま何も考えずに dashDBノード を新しく増やしてフローに接続していくと
[exceeded maximum limit of 5 connections] というエラーが発生し、アプリケーションが思ったように動かなくなります。
また、IBM Cloud の DashDB Console からもアクセスできなくなります。
(当ページ上部のエラー画像)

現在の接続数確認

現在の IBM Db2 on Cloud への接続数は、画面左上の「ハンバーガーメニュー」から
「MONITOR」→「Connections」から確認できます

接続数を増やさない

下のフローのように、dashDB を操作するための API を自分で公開します。
「検索」「新規登録」「更新」の各処理は、[dashDB 処理 API]を呼び出すようにします。
dashDB ノード の数は1つになるため、IBM Db2 on Cloud への接続数は 「1」になります。

「検索」「新規登録」「更新」の処理フローは、dashDBノード から http Request ノード に接続を切り替えるだけです。

ただし、セキュリティを考慮していないので、実際に使用する場合はなんらかの対策が必要かもしれません。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?