GN Gerege Nexus
GitHub Нэвтрэх

Архитектурын тодорхойлолт

Gerege Nexus-ын систем архитектур, давхаргууд ба техникийн шийдвэрүүд.

Монгол  ·  English

Баримт бичгийн төв рүү буцах


1. Системийн ерөнхий архитектур

Gerege Nexus нь өндөр бүтээмжтэй, Монгол Улсын цахим дэд бүтэцтэй нягт холбогдох боломжтой модульт монолит платформ — төрийн болон хувийн хэвшлийн байгууллагын үйлчилгээ, үйл ажиллагаа, систем, өгөгдлийг нэгтгэнэ.

1.1 Өндөр бүтээмжтэй модуль монолит

1.2 Cloud-native тэсвэрлэлт (go-zero-оос санаа авсан)

1.3 Төрийн мэдээлэл солилцоо ба танилт нэвтрэлт

Mock горим нь зөвхөн хөгжүүлэлтийн орчинд ажиллана. ENVIRONMENT=production үед автоматаар унтарна.


2. Системийн бүтцийн диаграм

+-----------------------------------------------------------------------------------+
|                              Gerege Nexus                             |
+-----------------------------------------------------------------------------------+
                                          |
                +-------------------------+-------------------------+
                |                                                   |
      +-------------------+                               +-------------------+
      | Next.js 16 Client |                               |  Go 1.26 Backend  |
      |   (App Router)    |                               |   (Chi Router)    |
      +-------------------+                               +-------------------+
                |                                                   |
        +-------+-------+                                   +-------+-------+
        |               |                                   |               |
+---------------+ +---------------+                 +---------------+ +---------------+
| AI Copilot UI | | E-ID / DAN    |                 | Cloud-Native  | | State Exchange|
|  Drawer Panel | | SSO Provider  |                 | Resilience    | | (xyp.gerege)  |
+---------------+ +---------------+                 +---------------+ +---------------+
                                                            |
                                                    +---------------+
                                                    | Shared-Schema |
                                                    |  PostgreSQL   |
                                                    +---------------+

3. Хүсэлтийн урсгал

  1. Дундын middleware — логлолт, panic сэргээлт, load shedding, Prometheus хэмжүүр, аюулгүй байдлын толгойнууд, CORS.
  2. Танилт — session токеныг cookie эсвэл Authorization: Bearer толгойгоос уншиж, sessions хүснэгтээс шалгана. Токен нь өгөгдлийн санд SHA-256 хэш хэлбэрээр хадгалагдана.
  3. Тенантын контекстtenant_id нь Go context-д шингэж, бүх асуулга түүгээр хязгаарлагдана.
  4. Апп хаалт — модулийн маршрут бүр app_installations дээрх төлөвөөр шалгагдана; суулгаагүй бол 403 Forbidden.
  5. Модулийн handler — бизнес логик, өгөгдлийн сангийн гүйлгээ.

4. Өгөгдлийн загварын үндсэн хүснэгтүүд

Хүснэгт Зориулалт
tenants, users, memberships Олон тенант, хэрэглэгчийн харьяалал
roles, permissions, role_permissions, membership_roles RBAC эрхийн загвар
sessions Сервер талын session токен (SHA-256 хэш)
apps, app_versions, app_installations, installation_events Апп стор ба суулгалтын түүх
contacts, products, warehouses, stock_levels, stock_movements Үндсэн бизнес өгөгдөл
billing_invoices, document_records Нэхэмжлэх ба цахим баримт
oauth2_clients OAuth2 client аппликейшнүүд

Бүх схемийн өөрчлөлт backend/db/migrations/ доторх goose миграцаар хийгдэнэ. Ажиллах үед DDL гүйцэтгэхийг хориглоно.


5. Архитектурын шийдвэрүүд

Шийдвэр Шалтгаан
Микросервис биш модуль монолит Процесс доторх дуудлага нь сүлжээний хоцролтгүй; модулийн хил нь Go интерфейсээр хангагдана
ORM ашиглахгүй (pgx + гар бичмэл SQL) Асуулгыг тодорхой, оновчтой байлгах; далд N+1-ээс сэргийлэх
Дундын схем (shared schema) олон тенант Схем хуулбарлахгүйгээр tenant_id-аар тусгаарлана
Каталог файл нь эх сурвалж Апп нэмэхэд SQL гараар бичихгүй; apps хүснэгт автоматаар синк болно
Opaque session токен JWT-ийн цуцлах боломжгүй байдлаас зайлсхийж, шууд хүчингүй болгоно

6. Хариуцагчид