Architektury Flashcards

1
Q

Co je to The Single responsibility principle

A

Každý softwarový modul má jednotnou izolovanou zodpovědnost.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Co je to Open-Close Principle

A

Aby bylo možné systém upravovat musí být navržen tak aby umožnoval změnu chování přidáním nového kódu, ne úpravou stávajícího.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Co je to The Liskov Substitution Principle

A

Říká že Pro sestavení softwaru z vyměnitelných částí, musí tyto části dodržovat určité konvence, aby byly navzájem vyměnitelné.
Příklad dědičnosti Když mám třídu Person a třídu Woman mužu nahradit Person třídou Woman, protože má stejné vlastnosti

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Co je to Dependency Inversion Principle

A

DIP říká že kód, který implementuje high level policies by neměl být závislý na low-level detailech nýbrž na jeji ch abstrakci.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Co je to Interface segregation principle.

A

Tohle nám říká že více menších rozhraní je lepších než jedno univerzální.
A to proto že když nějaka třida bude potřebovat dvě veci z rozhrani kde je 10 věcí tak těch zbylých 10 věcí musí implementovat.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Vrstevná architektura

A

Prezentační, Business, Services, Persistence, Database vrstvy komunikují jen s jednou nad nebo pod sebou, ne s ostatními.
Sink-hole(když požadavek musí projít přes všechny vrstvy který ho ale nijak neupravují) - pravidlo 80%/20%

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Roury a Filtry

A

Máme Filtr -> Pipe -> Filtr -> Pipe.
Příkladem muže být Linux kde mám příkaz který pak větvím “pajpou” do dalšího příkazu.
Nebo ETL -> Extrahuju data -> Transformuju je -> Loadnu je

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Mikrokernel

A

Máme nějake jádro obsahující hlavní minimální logiku a potom nějake p lug-in komponenty využívající tuto logiku k svému výpočtu.Příklad:
Operační systémy - male jadro a komponenty využívající toto jádro.
MS Visual studio code - Lightweight textový editor, který po přidání hodně pluginu konkuruju IntelJ

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Co je to Servisně orientovaná architektura

A

Máme nějake servicy třeba pro Uber Aplikaci(Platební servica, Google map Service, Login Service) a já všechny tyhle Servisy skryju pod jedno API a při výpadku jedné VM prostě zapnu další VM a přesměruju traffic.
Scalable, Reusable, ale Hodně trafficu a komplexní design.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Co je to Event-driven architektura

A

Máme jednu servicu co pošle požadavek do queue(Brokera - RabbitMQ) a už jí nezajima co se s požadavkem stane, Broker pak pošle požadavek na jinou servicu. Důležité je že ty servicy o sobě neví a jediné co dělaji že posilaji data do brokera

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Co Je to Broker u Event-driven-architektury

A

RabbitMQ/Kafka - stará se o doručování zpráv/událostí správným Consumerům

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Jak funguje SYNC vs ASYNC komunikace u Event-driven-architektury

A

ASYNC je lepší jelikož nemusím čekat na odpoved a použí vání front je lepší jelikož to trva 25ms do brokera a 25ms z brokera kdežtak u http je to 50ms tam a pak 50ms zpatky kvuli potvrzeni http requestu.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Space-based-architektura

A

Pro distribuované systémy, které vyžadují škálovatelnost, odolnost proti chybám a flexibilitu. Asynchroní komunikace, Ukmožnuje paralelní zpracování a zvyšuje celkovou efektivitu systému.
Samostatné komponenty mají sdílený prostor kde jsou všechna ta data a asynchronně si berou ty data třeba z brokera

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Co je Messaging grid u SBA

A

Kafka,RabbitMQ, je to efektivní způsob jak zajistit async komunikaci a je to jakoby load balancer a směruje ty requesty nějake processing units

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Co je Data grid u SBA

A

Slouží pro aktualizaci dat v lokalnich cache pamětích processing units, když se data změní tak je změní i v těch cache pamětích u Proccesing units aby ty unity pracovaly s aktuálnímy daty.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Microservices-architecture

A

Rozdělíme aplikaci na malé částí například FE/BE/DB, jedna mikroservisa by měla dělat jen jednu věc a měla by být schopná být deploayable a scalable nezávisle na ostatních. Problém nastává když máme příliš mnoho microservis, když nějaka selže a ostatní na ní jsou závislé je těžší najít chybu.

17
Q

Processing GRID u SBA

A

Šká luje requesty pokud lze požadavek rozdělit na více dotazů, je to nějaký orchestrátor

18
Q

Co je to Orchestration-driven-architecture.

A

Mám nějakého dirigenta, který se stará o requesty, což připomíná routy a filtry, je to synchronní - takže počkám na výsledek z jedne komponenty a pak postupuju na další, Kontaktu žlužbu pro správu skladu aby zkontroloval jestl ije zboží skladem, Pokud je zboží skladem kontaktuje platební br ánu, Počká na potvrzení paltby potom kontaktuje kurýrní službu a nakonec aktualizuje stav objednávky a informuje zákazníka.