Sobes.tech
Junior — Middle

Kako mikroservis komunicira sa bazom podataka za skladištenje i preuzimanje podataka?

sobes.tech АИ

Одговор од АИ

Микросервис у Go-у комуницира са базом података преко драйвера или ORM библиотека које имплементирају интерфејс за повезивање, извршавање упита и обраду резултата.

Главни кораци:

  1. Успостављање везе са базом података коришћењем пакета, нпр. database/sql и одговарајућег драйвера (нпр. pq за PostgreSQL).
  2. Извршавање SQL упита за уметање, ажурирање, брисање или избор података.
  3. Обрада резултата упита и њихово претварање у потребне структуре података.

Пример повезивања и избора из PostgreSQL:

import (
    "database/sql"
    _ "github.com/lib/pq"
    "log"
)

func getUserByID(db *sql.DB, id int) (string, error) {
    var name string
    err := db.QueryRow("SELECT name FROM users WHERE id = $1", id).Scan(&name)
    if err != nil {
        return "", err
    }
    return name, nil
}

func main() {
    connStr := "user=username dbname=mydb sslmode=disable"
    db, err := sql.Open("postgres", connStr)
    if err != nil {
        log.Fatal(err)
    }
    defer db.Close()

    name, err := getUserByID(db, 1)
    if err != nil {
        log.Println("Грешка при преузимању корисника:", err)
    } else {
        log.Println("Име корисника:", name)
    }
}

Овим начином, микросервис користи стандардне библиотеке и драйвере за интеракцију са базом података.