Łączymy aplikacje Node.js z autoklastrowaną bazą PostgreSQL

Aplikacje i systemy w UniCloud

Łączymy aplikacje Node.js z autoklastrowaną bazą PostgreSQL

PostgreSQL jest obiektowo-relacyjnym systemem baz danych
o otwartym kodzie źródłowym [1].  Node.js [2] jest środowiskiem uruchomieniowym aplikacji typu „server-side”, który przyczynił się do stworzenia paradygmatu
„JavaScript everywhere”

 

Połączymy klaster baz danych PostgreSQL z aplikacją Node.js, wykorzystując wbudowane mechanizmy platformy chmurowej UniCloud [3].

 

Instalacja nowego środowiska w chmurze

W panelu UniCloud [4] utwórz nowe środowisko Node.js dodając bazę danych PostgreSQL. Skonfiguruj wymagane limity skalowania środowiska.


Rysunek 1: Tworzenie środowiska w chmurze

Oprócz pionowego skalowania zasobów, możesz włączyć skalowanie poziome, pozwalając chmurze dobierać odpowiednie do potrzeb ilości węzłów.

Rysunek 2: Tworzenie bazy danych

W przypadku bazy danych opcjonalnie możesz bez wysiłku uzyskać klaster węzłów typu master-slave.

Rysunek 3: Architektura klastra PostgreSQL

Po utworzeniu środowiska otrzymasz wiadomość e-mail z poświadczeniami dostępu do bazy danych (host, login i hasło).

 

Konfiguracja środowisk

Najłatwiejszy dostęp do serwera Node.js uzyskasz korzystając z wbudowanego klienta Web SSH

Rysunek 4: Rozpoczęcie konfiguracji

Po nawiązaniu połączenia musisz doinstalować node-postgres, paczkę modułów do łącznia z bazą danych PostgreSQL. Wykonaj w tym celu polecenie:

npm install pg

Rysunek 5: Instalacja modułów

Dla weryfikacji połączenia, przygotuj prosty skrypt Node.js (możesz wykonać np. polecenie Vim script.js, wklejając poniższy kod:

const { Pool } = require(‚pg’)const pool = new Pool({  user: ‚{user}’,  host: ‚{host}’,  database: ‚{database}’,  password: ‚{password}’,  port: {port},})pool.query(‚SELECT NOW()’, (err, res) => {  console.log(err, res)   pool.end() })

Skrypt weryfikacyjny

W skrypcie podaj następujące dane umożliwiające połączenie:

  • {user}i {password} – dane logowania do bazy danych otrzymane pocztą
  • {host}– link do węzła bazy danych PostgreSQL
  • {database}– nazwa bazy danych (domyślnie PostgreSQL)
  • {port} – numer portu, na którym nasłuchuje serwer bazy danych. Domyślnie dla PostreSQL jest to 5432

Rysunek 6: Przygotowanie skryptu w edytorze Vim

Uwaga : Zamiast poświadczeń w treści skryptu, node-postgres może używać zmiennych środowiskowych do łączenia się z serwerem PostgreSQL. Są to:
PGUSER = {użytkownik}
PGHOST = {host}
PGPASSWORD = {hasło}
PGDATABASE = {baza danych}
PGPORT = {port}

 

Testy

Za pomocą tego skryptu można sprawdzić połączenie serwera aplikacji z bazą danych. Uruchom go odpowiednim poleceniem:

node script.js

Rysunek 7: Weryfikacja aplikacji

Jeśli połączenie nawiązane jest pomyślnie, wyświetlany jest czas węzła serwera PostgreSQL, co oznacza, że baza danych dostępna jest dla aplikacji Node.js.

Info:

[1] PostgreSQL:
https://www.postgresql.org/

[2] Node.js:
http://nodejs.org/

[3] Jelastic, Blog:
https://jelastic.com/blog/postgresql-connect-nodejs-application/

[4] Panel UniCloud:
https://app.unicloud.pl

 

Autor:

Piotr Niemcewicz pracuje jako inżynier w Centrum Danych Asseco Data Systems S.A., gdzie zajmuje się projektowaniem i wsparciem podczas wdrażania systemów.

 

[[[["field6","contains","@"]],[["show_fields","field30"]],"and"]]
1 Step 1
Zapytaj eksperta
imię i nazwisko
telefon
pytanie / temat rozmowy
0 /

Informujemy, iż Państwa dane osobowe są przetwarzane przez administratora, którym jest Asseco Data Systems S.A. z siedzibą w Gdyni, ul. Podolska 21, 81-321 Gdynia.
Przetwarzamy Państwa dane w celu: przygotowanie odpowiedzi na złożone zapytanie oraz  przesyłania informacji marketingowych za pomocą środków komunikacji elektronicznej. W związku z przetwarzaniem Państwa danych, posiadacie prawa do: dostępu, sprostowania, usunięcia, przenoszenia danych, ograniczenia przetwarzania i prawo do cofnięcia zgody. 
Z pełną treścią informacji dotyczących przetwarzania Państwa danych osobowych, w tym o przysługujących prawach i ich zakresie możecie się Państwo zapoznać pod adresem:
https://www.assecods.pl/wp-content/uploads/Klauzula-informacyjna-formularz-kontaktowy.pdf

Previous
Next

Dell
Cisco
vmware
Emc2
Certum
Microsoft
IBM

 

Szanowna Użytkowniczko/Szanowny Użytkowniku

Zgodnie z art. 13 ust. 1 i 2 ogólnego rozporządzenia o ochronie danych osobowych z dnia 27 kwietnia 2016 r (zwanego dalej „Rozporządzenie”) informuję, iż:

  • Administratorem Pani/Pana danych osobowych jest Asseco Data Systems S.A. z siedzibą w Gdyni, ul. Podolska 21, 81-321 Gdynia.
  • Kontakt do Inspektora ochrony danych w Asseco Data Systems S.A. można uzyskać pod adresem e – mail: IOD@assecods.pl, tel.+48 42 675 63 60.
  • Pani/Pana dane osobowe przetwarzane będą w celu:
    1. przygotowania odpowiedzi na zapytanie na podstawie art. 6 ust. 1 lit. b Rozporządzenia.
    2. przesyłania informacji marketingowych za pomocą środków komunikacji elektronicznej i programów automatyzujących na podstawie ustawy z dnia 18 lipca 2002 r. o świadczeniu usług drogą elektroniczną i w zw. z art. 172 ust. 1 ustawy z dnia 16 lipca 2004 r. prawa telekomunikacyjnego (zgoda alternatywna) na podstawie art. 6 ust. 1 lit. a Rozporządzenia.
  • Pani/Pana dane osobowe będą przechowywane przez okres niezbędny do przygotowania i przedstawienia odpowiedzi na zapytanie oraz do czasu cofnięcia przez Panią/Pana wyrażonej zgody na otrzymywanie informacji marketingowych.
  • Posiada Pani/Pan prawo dostępu do treści swoich danych oraz prawo ich sprostowania, usunięcia/zapomnienia, ograniczenia przetwarzania, prawo do przenoszenia danych, prawo wniesienia sprzeciwu, prawo do cofnięcia zgody w dowolnym momencie bez wpływu na zgodność z prawem przetwarzania, którego dokonano na podstawie zgody przed jej cofnięciem. Realizację wszystkich powyższych praw można zrealizować poprzez wniosek złożony na stronie https://www.daneosobowe.assecods.pl
  • Ma Pani/Pan prawo wniesienia skargi do Regulatora, gdy uzna Pani/Pan, iż przetwarzanie danych osobowych Pani/Pana dotyczących narusza przepisy Rozporządzenia.
  • Podanie przez Pana/Panią danych osobowych jest niezbędne do realizacji wniosku z zapytaniem. Jest Pan/Pani zobowiązana do ich podania, a konsekwencją niepodania danych osobowych będzie brak możliwości uzyskania odpowiedzi na wysłane zapytanie.
  • Pani/Pana dane będą przetwarzane w sposób zautomatyzowany w tym również w formie profilowania. Zautomatyzowane podejmowanie decyzji będzie odbywało się na zasadach przetwarzania danych osobowych podanych przy utworzeniu Konta i uzupełnianiu danych w nim zawartych oraz danych dotyczących aktywności w Serwisach (zgodnie z Polityką prywatności serwisu internetowego Asseco Data Systems S.A. Polityka prywatności)
    i aktywności związanej z naszą komunikacją mailową z Panią/Panem, a efektem takiego przetwarzania będzie dopasowanie informacji marketingowych dotyczących naszych produktów i usług, które mogą Panią/Pana zainteresować.
Polityka prywatności