DField SolutionsMérnöki stúdió · Budapest
Loading · Töltődik
Ugrás a tartalomhoz

Lock-free queue

Kapcsolódó szolgáltatás Egyedi szoftverfejlesztés

MEGHATÁROZÁS

Concurrent sor, amely mutex helyett atomi műveletekkel (CAS, fetch-and-add) koordinál. Garantálja, hogy a rendszer mindig halad · legalább egy szál előre megy, akkor is, ha mások megakadnak. Tipikus implementációk: Michael-Scott queue, MPMC ring buffer (LMAX Disruptor, crossbeam, moodycamel). Nem 'gyorsabb mindig' · ha van contention, a CAS-loop is szenved. Akkor érdemes, ha alacsony latencia, kiszámítható tail és nincs szabad kernel-thread váltás.

KAPCSOLÓDÓ FOGALMAK06
  • Docker

    Egy app-ot a függőségeivel együtt egy image-be csomagolunk, amiből futtatható container indul - így mindenhol ugyanúgy fut, fejlesztői gépen és szerveren is. A „nálam működik” innentől nem kifogás.

  • CI/CD

    Continuous Integration / Delivery: minden commitot automatikusan buildelünk, tesztelünk és (ha kéred) deployolunk. Ez a pipeline teszi lehetővé, hogy naponta sokszor, biztonságosan szállítsunk - kézi hibák nélkül.

  • Blue-Green Deployment

    Két azonos környezetet futtatunk: a blue él, a green az új verzió. Ha a green leellenőrzött, átkapcsoljuk rá a forgalmat; baj esetén egy mozdulattal visszaváltunk. Zero-downtime release, azonnali rollback.

  • Horizontális skálázás

    Több gépet/instance-ot adunk hozzá (scale out), nem egy nagyobbat (vertikális, scale up). Stateless szolgáltatásoknál ez a nyerő: olcsóbb, rugalmasabb, nincs felső plafon. State-et viszont külön tárba tesszük.

  • Load balancer

    A bejövő forgalmat több instance között osztja szét - ez a bejárati ajtó, ami redundanciát és sima skálázást ad. Health checkekkel kiveszi a halott instance-okat, így egy gép kiesése nem látszik a felhasználónak.

  • Distributed tracing

    Egy kérést végigkövetünk az összes szolgáltatáson egy trace ID-val (pl. OpenTelemetry). Microservice-rendszerben így derül ki másodpercek alatt, melyik szolgáltatás lassított be vagy hibázott - nem találgatunk.

EMLÍTÉSEK A BLOGON05