Glosarium AAT

Rujukan cepat istilah AAT (IF4031). Definisi di sini sengaja singkat dan boleh mengulang isi UTS_AAT; penjelasan lengkap ada di bagian yang di-link pada kolom ketiga (angka seperti 2.5 berarti bagian 2.5 di UTS_AAT). Istilah dengan tanda (P) adalah prasyarat yang tidak dijelaskan di materi mana pun, penjelasannya ada di bagian 1 UTS_AAT dan merupakan tambahan di luar materi kuliah. Cakupan saat ini: note 01 sampai 08. Istilah umum SWE/AI/Data ada juga di folder Glosarium-Teknis.

A. Dasar Aplikasi Terdistribusi dan Kualitas Sistem

IstilahPenjelasan singkatDijelaskan lengkap di
Aplikasi terdistribusiAplikasi dengan banyak proses di satu atau lebih node, berkomunikasi lewat infrastruktur, di lingkungan heterogen2.1
HeterogenKomponen berbeda platform dan bahasa2.1
Node, cluster, replica (P)Satu mesin/instance; sekumpulan node; salinan komponen atau data1.4
IOPSJumlah operasi I/O per detik yang mampu ditangani storage2.1
ThroughputJumlah request yang diproses per satuan waktu2.1
Latency / response timeWaktu yang dibutuhkan untuk memproses atau membalas request2.1
Bandwidth (P)Kapasitas maksimum jalur jaringan (bit/detik)1.1
Load (beban)Sesuatu yang memakai resource sistem (CPU, memory, network, I/O), diukur dari user/request konkuren, request per waktu, rasio write terhadap read2.1
Scale upMenambah kapasitas dengan hardware lebih kuat2.1
Scale outMenambah jumlah mesin atau instance2.1
RedundancyDuplikasi komponen agar sistem tetap jalan saat ada kegagalan2.1
ResilientTetap berfungsi meski terjadi kegagalan2.1
Cascading failureKegagalan satu komponen menjalar ke komponen lain2.1
Fault isolationMengisolasi dampak kegagalan agar tidak menyebar2.1
Single point of failure (P)Satu komponen yang bila gagal menghentikan seluruh sistem1.4
Law of Leaky AbstractionsSemua abstraksi non-trivial pada tingkat tertentu bocor (tidak menjamin semua yang seharusnya)2.1
FLP ImpossibilityConsensus tidak bisa dijamin deterministik pada sistem asynchronous jika satu proses bisa gagal2.1
ObservabilityKemampuan memantau kondisi sistem untuk mendeteksi masalah dini2.1
DevOpsPraktik yang menyatukan development dan operations2.1
MiddlewarePerantara antar komponen software untuk integrasi dan interoperability2.2
IPC (interprocess communication)Mekanisme komunikasi antar proses, mis. HTTP2.2
ServiceBagian sistem yang di-deploy dan di-scale independen, berisi business logic dan interface2.2
Stub / skeletonWakil lokal objek remote di client (stub) dan penerima panggilan di server (skeleton)2.2
Naming Service (RMI Registry)Direktori tempat server mendaftarkan objek dan client mencarinya2.2
Utility computingModel bayar sesuai pemakaian, dasar cloud computing2.2
Three-tier / n-tierArsitektur aplikasi bertingkat, ciri enterprise application2.2
StatelessTidak mengingat apa pun dari request sebelumnya; perilaku murni dari input dan kode2.3
StatefulMenyimpan state yang berubah akibat request2.3
Pure function (analogi)Fungsi tanpa state lokal, analog kode stateless2.3
CookieMekanisme menjaga identitas/sesi pada HTTP yang stateless2.3, 2.7
AffinityKeharusan user kembali ke server yang sama saat state tersimpan lokal2.3

B. Load Balancing dan Jaringan

IstilahPenjelasan singkatDijelaskan lengkap di
Load balancerMembuat cluster tampak sebagai satu server dan membagi request ke worker2.4
NAT load balancerBekerja di IP layer, meneruskan paket dan mengingat pemetaan client-server2.4
Reverse proxyBekerja di HTTP layer, menampung request/response penuh; ada SSL termination, caching2.4
Health checkRequest periodik untuk memeriksa server hidup2.4
Rolling updateUpdate server satu per satu sambil traffic diarahkan ke yang lain2.4
DNSDirektori terdistribusi hostname ke IP2.4
Round-robin DNSSatu domain mengembalikan beberapa IP, dibagikan acak atau bergiliran2.4
Geographic load balancingMengarahkan user ke replica terdekat lewat IP geolocation2.4
CDNJaringan server global yang meng-cache response di dekat client2.4
IP AnycastBanyak router mengiklankan IP sama via BGP; traffic ke yang terdekat2.4
BGP (P)Protokol antar Autonomous System untuk bertukar informasi rute1.1
Autonomous System, ISP (P)Kumpulan jaringan satu pengelola; penyedia akses Internet1.1
IP address, port (P)Alamat mesin; nomor pintu layanan di mesin1.1
TCP, UDP (P)TCP andal dan berurutan; UDP ringan tanpa jaminan1.1
Socket (P)Titik ujung komunikasi di program untuk jaringan1.1
TTL (DNS)Lama sebuah jawaban DNS boleh di-cache sebelum berubah2.4
Distributed service discoveryMasalah client menemukan replica tanpa bottleneck pusat2.4

C. Server, I/O, dan Konkurensi

IstilahPenjelasan singkatDijelaskan lengkap di
C10K problemMendesain server yang menangani sekitar 10 ribu koneksi bersamaan2.5
I/O boundWaktu lebih banyak habis menunggu I/O daripada komputasi2.5
CPU boundWaktu lebih banyak habis untuk komputasi2.5
Persistent connectionKoneksi HTTP yang tetap terbuka untuk beberapa request2.5
Preforking / prethreadedMembuat proses/thread di awal sebelum ada koneksi2.5
Blocking I/OProses terblok sampai data siap dan tersalin2.5
Non-blocking I/OLangsung return EWOULDBLOCK bila data belum siap; proses polling2.5
I/O multiplexingSatu panggilan memantau banyak descriptor sekaligus2.5
Signal-driven I/OKernel kirim SIGIO saat data siap dibaca2.5
Asynchronous I/OKernel mengerjakan wait dan copy, notifikasi setelah selesai total2.5
select / poll / epoll / kqueueMekanisme I/O multiplexing (epoll Linux, kqueue BSD)2.5
Level-triggeredNotifikasi terus muncul selama masih ada data belum dibaca2.5
Edge-triggeredNotifikasi hanya saat status berubah; harus baca semua data2.5
Stack rippingMelacak state eksplisit pada model event2.5
Preemptive vs cooperative schedulingDijadwalkan paksa oleh sistem vs handler menyerahkan kontrol sendiri2.5
MPM (Apache)Multi-Processing Modules: prefork, worker, event2.5
Nginx master/workerSatu master untuk konfigurasi; worker event-driven menangani banyak koneksi2.5
Process vs thread (P)Program berjalan dengan memori sendiri vs alur eksekusi dalam process1.3
Kernel space, system call (P)Inti OS; cara program meminta layanan kernel1.3
Context switch (P)CPU berpindah dari satu process/thread ke lainnya1.3
Stack memory (P)Memori per thread untuk variabel lokal dan pemanggilan fungsi1.3
Race condition (P)Hasil bergantung urutan eksekusi thread yang tak terduga1.3
Lock, lock contention (P)Penjaga akses data bersama; banyak thread berebut lock1.3
Callback (P)Fungsi yang dipanggil nanti saat kejadian terjadi1.3
Parsing (P)Menguraikan teks/byte mentah jadi struktur1.1
Event loopLoop yang mengecek event lalu memanggil handler2.6
Handler / watcherFungsi penanganan event / catatan minat terhadap event (libev)2.6
libevent, libev, libuvLibrary event loop di C; libuv untuk Node.js, portable2.6
IOCPI/O Completion Port, mekanisme async I/O Windows2.6
asyncioLibrary Python untuk concurrent programming dengan async/await2.6
CoroutineObjek yang dapat di-suspend dan dilanjutkan2.6
Task (asyncio)Coroutine yang dijadwalkan pada event loop2.6
run_in_executorMemindahkan fungsi blocking ke thread pool agar loop tidak terblokir2.6
Thread poolSekumpulan thread berjumlah terbatas yang dipakai ulang2.6
Garbage collector (P)Pembersih memori otomatis; “stop-the-world” menghentikan program sebentar1.3
Goroutine (P)Thread ringan milik bahasa Go1.3

D. API, RPC, dan Serialisasi

IstilahPenjelasan singkatDijelaskan lengkap di
API (library vs network)Cara software dipakai software lain; network API dipanggil lewat jaringan2.7
Ingress API vs internal APIInteraksi dengan pihak eksternal vs antar komponen sendiri2.7
RESTGaya API berbasis resource dan HTTP method2.7
Resource-oriented vs command-orientedMemodelkan state resource vs memanggil aksi2.7
IdempotentRequest bisa diulang tanpa mengubah hasil akhir; semua method HTTP kecuali POST2.7
HATEOASResponse menyertakan link ke aksi lanjutan; client mengikuti link2.7
HTTP request/response (P)Terdiri dari baris awal, header, body1.1
SerialisasiMengubah objek ber-reference jadi urutan byte2.7
JSON, XMLFormat data teks; JSON dengan [ ] dan { }, XML dengan tag2.7
Circular referenceDua objek saling merujuk; ditangani dengan ID2.7
Session ID: random vs rich tokenID acak dengan lookup database vs token berisi informasi (perlu signed)2.7
Secure, HTTPOnly, SameSiteAtribut cookie autentikasi2.7
XSS, CSRF (P)Serangan penyisipan script; serangan memalsukan request dari browser korban1.2
SSOSingle Sign-On: proses signing token dipakai bersama banyak service2.7
OAuth 2.0, OpenID ConnectStandar authorization; lapisan identitas di atasnya2.7
ScopeCakupan akses di OAuth2.7
Bearer tokenToken di header Authorization: Bearer <token>2.7
JWTToken self-encoded: header, payload (claim, mis. iss/exp), signature2.7
TLS, HTTPS, mTLS (P)Enkripsi koneksi; HTTP di atas TLS; TLS dua arah1.2
Hash, HMAC, signature, Base64 (P)Sidik jari data; hash berkunci; bukti keaslian; data biner sebagai teks1.2
RPCMemanggil prosedur proses lain seolah fungsi lokal2.7
GranularitasBesar kecilnya unit operasi API2.7
Query-based API, ODataAPI dengan query, pagination, filtering, response shaping2.8
GraphQLRPC-based API dengan query dan mutation; “ask for what you want, get exactly that”2.8
Schema, resolver (GraphQL)Definisi tipe data; kode yang menjalankan tiap field2.8
Deep / shallow fetch, response shapingAmbil data bersarang atau dangkal; bentuk response sesuai query2.8
Over-fetching / under-fetchingData berlebih / kurang dari yang dibutuhkan2.8
SPASingle-Page Application2.8
Apache ThriftRPC library Facebook, polyglot, dengan IDL2.8
IDLInterface Definition Language: definisi data dan service bebas bahasa2.8
Positional arguments / field numberingNomor eksplisit pada parameter dan field agar evolvable2.8
TProtocol / TTransportFormat serialisasi / mekanisme pengiriman di Thrift2.8
Processor, server (Thrift)Glue hasil generate; pengendali yang menerima koneksi2.8
Protocol Buffers (Protobuf)Library serialisasi Google berbasis .proto2.8
gRPCRPC di atas Protobuf dan HTTP/22.8
HTTP/2, binary framing, multiplexingHTTP biner; banyak stream dalam satu koneksi2.8
Unary / server streaming / client streaming / bidirectionalEmpat pola komunikasi gRPC2.8
Wire protocol (P)Format byte persis di jaringan1.1

E. Microservices, Gateway, dan Mesh

IstilahPenjelasan singkatDijelaskan lengkap di
MonolithSeluruh aplikasi dalam satu codebase dan satu deployment2.9
MicroservicesSuite service kecil, independen, berkomunikasi dengan mekanisme ringan2.9
SOAService-Oriented Architecture: service course-grained, masih coupled lewat orkestrasi2.9
Bounded context, DDDBatas model domain; Domain Driven Design2.9, 2.12
Single Responsibility PrincipleSatu service satu tanggung jawab2.9
Two-pizza rule, Bezos mandateTim cukup diberi makan dua pizza; semua tim wajib ekspos data lewat interface2.9
Smart endpoints, dumb pipesKecerdasan di service, bukan di middleware2.9
Designed for failureMengasumsikan service lain bisa gagal2.9
PolyglotTiap service bebas memilih bahasa/stack2.9
Eventual consistencyData akhirnya konsisten, bukan seketika2.9
Serialization overheadBiaya transform data berulang antar service2.9
Service interface versioningPerbedaan versi API antar service2.9
Retry stormGelombang retry yang membebani sistem2.9
12 Factor AppDua belas prinsip aplikasi modern (codebase sampai admin processes)2.9
OWASP Top 10, AAA (P)Risiko keamanan web umum; authentication, authorization, accounting1.2
API GatewayFaçade/reverse proxy untuk API publik: routing, composition, translation2.10
Cross-cutting concernFungsi dibutuhkan hampir semua API (auth, rate limit, logging, tracing)2.10
Rate limiterMembatasi jumlah request dalam periode tertentu2.10
Leaky bucketAlgoritma rate limiting yang mengizinkan burst sebelum throttling2.10
Throttling (P)Sengaja membatasi laju request1.4
ADCApplication Delivery Controller: LB plus caching, compression, SSL offload2.10
Traefik: entrypoints, providers, routers, servicesKomponen gateway modern2.10
Service meshLapisan infrastruktur untuk komunikasi antar service dari satu control plane2.10
Control plane vs data planeMengatur kebijakan (low volume, konsistensi) vs mengeksekusinya (high volume, speed)2.10
Sidecar proxyProxy yang menyertai tiap service dalam service mesh2.10
Istio, Envoy, LinkerdImplementasi service mesh dan data plane-nya2.10
Strangler patternMengganti monolith bertahap dengan microservice baru2.12
Aggregator / proxy / chained / branch / shared resource patternPola composition microservices2.12
Database per service / shared databasePola database microservices2.12
CQRSMemisahkan jalur command (write) dan query (read)2.12
SagaTransaksi per service dengan compensating transaction2.12
Compensating transactionLangkah pembatal efek transaksi sebelumnya2.12
Choreography vs orchestration (Saga)Tanpa koordinator (event) vs satu coordinator2.12
Two-phase commit (2PC) (P)Protokol agar semua peserta commit atau batal serentak1.4
Foreign key, normalisasi (P)Lihat 14_Relational_Data_Model1.4
Circuit breakerMemutus panggilan ke service bermasalah agar gagal cepat2.12
Blue-green / canary / red-black deploymentDeployment bertahap dengan dua environment atau versi uji2.12
Service registry / discovery (Eureka)Direktori lokasi instance service aktif2.12
Chattiness, fan-outSatu request edge menjadi banyak request downstream2.12
Service HosedSatu dependency lambat memblokir semua thread2.12
Hystrix, Ribbon, Archaius, Servo, EVCache, KaryonLibrary NetflixOSS (resiliency, LB, properties, metrics, cache, server)2.12
Client-side smart load balancerLB di sisi caller yang memperhitungkan kondisi instance2.12
Sidecar pattern (Prana)Komponen pendamping yang memberi akses homogen ke platform services2.12
RxNetty, ReactiveXFramework reaktif non-blocking2.12
Simian ArmyTool chaos engineering Netflix2.12
Distributed tracing, centralized logging (ELK)Jejak request lintas service; log terpusat (Logstash, Elasticsearch, Kibana)2.12
Container, VMDijelaskan di materi berikutnya13_Computing_Platform_Deployment

F. Messaging

IstilahPenjelasan singkatDijelaskan lengkap di
Messaging systemFasilitas pertukaran pesan lewat broker, loosely coupled2.11
BrokerPerantara pesan antara producer dan consumer2.11
Producer, consumerPengirim dan pengambil pesan; consumer bisa pull atau push2.11
Command / event / document / query messageJenis pesan menurut tujuannya2.11
Point-to-Point (PTP)Satu pesan hanya untuk satu receiver lewat queue2.11
Publish-SubscribeSatu pesan untuk banyak subscriber2.11
Durable subscriberSubscriber yang tetap menerima pesan yang dipublish saat offline2.11
Delivery guaranteeExactly once, at least once, at most once, best effort2.11
Publisher confirmsAck dari broker ke producer2.11
Manual ackConsumer ack setelah selesai memproses2.11
JMS, JMS providerSpesifikasi Java untuk messaging; implementasinya2.11
Administered objectsConnection factory dan destination yang dikelola administratif2.11
JNDI (P)Cara Java mencari objek terdaftar lewat nama1.3
Message selectorFilter pesan (SQL92) yang dijalankan di broker2.11
AMQPOpen standard messaging termasuk wire protocol (port 5672)2.11
Exchange (direct, fanout, topic, header)Penentu routing pesan ke queue2.11
Routing key, bindingNilai penentu queue tujuan; ikatan queue ke exchange2.11
Queue (private/shared, durable/temporary)Penampung pesan FIFO2.11
Channel, connection, session (AMQP)Koneksi logik, fisik, dan sepasang channel2.11
RabbitMQAMQP broker: smart broker, dumb client2.11
Apache KafkaPlatform pesan high throughput: smart client, dumb broker2.11
Topic, partition, offsetKategori data; pembagian topic; id urut pesan di partisi2.11
Consumer groupPesan diproses satu consumer per grup; grup berbeda dapat salinan2.11
Leader / followerReplika yang melayani read/write / replika cadangan2.11
ZookeeperPengelola state dan koordinasi di cluster Kafka2.11
Retention, replayPesan disimpan sampai masa tertentu sehingga bisa dibaca ulang2.11
MQTTProtokol pub/sub ringan untuk IoT (bukan message queue)2.11
QoS 0/1/2 (MQTT)Best effort; at least once; exactly once2.11
RETAIN, Last Will and TestamentSimpan pesan terakhir topik; pesan otomatis bila client terputus tiba-tiba2.11
Keep-AliveTimer ping agar broker tahu client masih terhubung2.11
IoT (P)Perangkat fisik kecil yang terhubung jaringan1.4
RabbitMQ clustering / mirroring (ha-mode)Node setara; queue hanya di node asal, bisa di-mirror2.11