Могут ли разные приложения OPA совместно использовать базы данных? - PullRequest
3 голосов
/ 27 июля 2011

Я просто исследую OPA и пытаюсь сделать скачок с традиционного фона LAMP, поэтому вот мой первый из многих вопросов новичка:

Могу ли я иметь два приложения OPA, использующих одну и ту же базу данных, скажем, одно, которое записывает в базу данных, а другое - из нее?

1 Ответ

5 голосов
/ 27 июля 2011

Да, это возможно.Простой, но полный пример:

[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

Запустить сервер базы данных для базы данных counter на порт 5001:

 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 обновляет счетчик каждую секунду.Вы можете увидеть это с приложением db_read, посетив localhost:8080 (и обновив страницу).

Надеюсь, эксперты Opa-DB исправят меня, если я что-то не так сделал.

...