3
私はOPAを調査し、伝統的なLAMPの背景から飛躍をしようとするので、ここでは多くの初心者の質問の私の最初ですよ:異なるOPAアプリはデータベースを共有できますか?
私は同じデータベースを共有する二つOPAのアプリを持つことができ、に書き込まれるものを言いますデータベースとそこから読み取る別のもの?
私はOPAを調査し、伝統的なLAMPの背景から飛躍をしようとするので、ここでは多くの初心者の質問の私の最初ですよ:異なるOPAアプリはデータベースを共有できますか?
私は同じデータベースを共有する二つOPAのアプリを持つことができ、に書き込まれるものを言いますデータベースとそこから読み取る別のもの?
はい、確かに可能です。シンプルだが完全な例:
[db.opa]
database ./counter
db /counter : int
Counter = {{
read() = /counter
inc() = /counter <- read() + 1
}}
[db_read.opa]
server = one_page_server("Counter app", -> <>Counter value: {Counter.read()}</>)
[db_write.opa]
_ = Scheduler.timer(1000, -> Counter.inc())
コンパイル有する:
opa db_read.opa db.opa -o db_read.exe
opa db_write.opa db.opa -o db_write.exe
は、ポート5001
上のデータベースcounter
のデータベース・サーバを実行します。
opa-db-server -b 127.0.0.1:5001 --db-local counter
実行するアプリケーションを、このデータベースに接続する:
./db_read.exe --db-remote 127.0.0.1:5001
./db_write.exe --db-remote 127.0.0.1:5001
db_write
アプリはカウンタを毎秒更新されます。 アプリの場合は、localhost:8080
にアクセスして(ページを更新して)表示されます。
私は何か問題があった場合、Opa-DBの専門家が私に修正してくれることを願っています。
akoprowskiありがとう、私は後で試してみますが、キーが 'opa-db-server -b 127.0.0.1:5001 --db-local counter'を使っているようです。 – russellfeeed
ちょうど試してみました。 。 "クライアントでノードプロパティを設定できません"という警告が表示されましたが、コンセプトはうまく機能しています。ありがとう! – russellfeeed