Sobes.tech
Junior — Middle

Kaip mikroservisas sąveikauja su duomenų baze, kad saugotų ir gautų duomenis?

sobes.tech AI

Atsakymas iš AI

„Go“ kalba mikroservisas sąveikauja su duomenų baze per vairuotojus arba ORM bibliotekas, kurios įgyvendina sąsają jungimuisi, užklausų vykdymui ir rezultatų apdorojimui.

Pagrindiniai žingsniai:

  1. Prisijungti prie duomenų bazės naudojant paketą, pvz., database/sql ir atitinkamą vairuotoją (pvz., pq PostgreSQL atveju).
  2. Vykdyti SQL užklausas duomenų įterpimui, atnaujinimui, ištrynimui ar pasirinkimui.
  3. Apdoroti užklausų rezultatus ir paversti juos į reikalingas duomenų struktūras.

Pavyzdys prisijungimo ir pasirinkimo iš 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("Klaida gaunant vartotoją:", err)
    } else {
        log.Println("Vartotojo vardas:", name)
    }
}

Šiuo būdu mikroservisas naudoja standartines bibliotekas ir vairuotojus, kad bendrautų su duomenų baze.