close
close

Top 50 systeemontwerpterminologieën die u moet kennen

Top 50 systeemontwerpterminologieën die u moet kennen

1. Schaalbaarheid
Definitie: Een systeem kan een verhoogde belasting ondersteunen door bronnen toe te voegen.
Voorbeeld: voeg meer servers toe om de toename van het webverkeer aan te kunnen.

2. Loadbalancer
Definitie: Het binnenkomende netwerkverkeer verdelen over meerdere servers, zodat geen enkele server een grote hoeveelheid belasting verwerkt.
Voorbeeld: taakverdeling van webverkeer over meerdere EC2-instanties met behulp van de AWS Elastic Load Balancer (ELB) Service.

3. Microdiensten
Definitie: Het is een architectonisch patroon dat de structurering van een applicatie dwingt als een verzameling losjes gekoppelde services.
Voorbeeld: een monolithische applicatie opsplitsen in onafhankelijke services die verantwoordelijk zijn voor gebruikersbeheer, het verwerken van betalingen en het verzenden van meldingen.

4. CAP-stelling
Definitie: Er wordt gesteld dat er op zijn best slechts twee van de drie garanties kunnen worden verkregen in een gedistribueerd systeem: consistentie, beschikbaarheid en partitietolerantie.
Voorbeeld: wanneer moet u consistentie inruilen voor beschikbaarheid – en vice versa – bij gedistribueerd databaseontwerp.

5. Sharden
Definitie: Het gaat om het opsplitsen van een grote database in kleinere stukken, shards genaamd, voor beter beheer.
Voorbeeld: het delen van een gebruikersdatabase op basis van geografische regio.

6. Latentie
Definitie: Dit wordt gedefinieerd als de tijd die gegevens nodig hebben om van punt A naar punt B te reizen.
Voorbeeld: het meten van de vertraging bij het bezorgen van berichten via een chatapplicatie.

7. Doorvoer
Definitie: Een maatstaf voor de hoeveelheid gegevens die een systeem in een bepaald tijdsbestek verwerkt
Voorbeeld: verzoeken die in één seconde door een webserver worden verwerkt.

8. Cache
Definitie: Elke hardware- of softwarecomponent die gegevens opslaat om toekomstige verzoeken om dezelfde gegevens te voorkomen en deze snel te kunnen leveren.
Voorbeeld: Redis-caching implementeren voor herhaalde databasequery’s.

9. Netwerk voor inhoudslevering (CDN)
Definitie: Een serversysteem, geografisch verspreid, dat webinhoud aan een gebruiker toont op basis van de geografische locatie vanwaar hij toegang heeft.
Voorbeeld: Cloudflare CDN gebruiken voor het sneller laden van webpagina’s.

10. REST-API
Definitie: een type architecturale stijl ontworpen om webservices te bouwen waarbij gegevens worden benaderd en gemanipuleerd met behulp van HTTP-verzoeken.
Voorbeeld: Ontwerp van de Social Media API volgens de REST-principes (Representational State Transfer).

11. GrafiekQL
Definitie: Het is een taal die is ontworpen om gegevens op te vragen, dus het is veel krachtiger, efficiënter en flexibeler dan REST.
Voorbeeld: GraphQL gebruiken om gebruikersinformatie in één verzoek op te vragen.

12. ZUUR
Definitie: Een reeks eigenschappen die een betrouwbare verwerking van databasetransacties garanderen. De eigenschappen zijn atomiciteit, consistentie, isolatie en duurzaamheid.
Voorbeeld: Door ervoor te zorgen dat een banktransactie ACID-eigenschappen heeft, worden beschadigde gegevens voorkomen.

13. BASIS
Definitie: Een alternatief voor ACID dat de nadruk legt op beschikbaarheid en partitietolerantie boven strikte consistentie. Beschikbaar, zachte staat, uiteindelijk consistent systeem.
Voorbeeld: Ontwerp van een zeer beschikbare, uiteindelijk consistente NoSQL-database.

14. GeenSQL
Definitie: Een type database dat is ontworpen om de opslag en het ophalen van gegevens te bevorderen die zijn gemodelleerd op andere manieren dan de tabelrelaties die in relationele databases worden gebruikt.
Voorbeeld: MongoDB gebruiken voor een op documenten gebaseerde gegevensopslag.

15. SQL
Definitie: Het is de standaardtaal voor het opslaan, manipuleren en ophalen van gegevens in relationele databases.
Voorbeeld: SQL-query’s schrijven om gegevens terug te halen uit een relationele database.

16. Database-indexering
Definitie: Het is een datastructuurtechniek die snel zoeken naar en toegang tot gegevens uit een database mogelijk maakt.
Voorbeeld: Maak indexering in de gebruikers-ID-kolom voor verbetering van de zoeksnelheid.

17. Replicatie
Definitie: Een proces van het kopiëren en onderhouden van databaseobjecten in een groot aantal databases die deel uitmaken van een gedistribueerd databasesysteem.
Voorbeeld: Het gaat erom dat een database met behulp van replicatie in hoge mate beschikbaar is op verschillende geografische locaties.

18. Failover
Definitie: Een operationele back-upmodus waarin functies van systeemcomponenten worden overgenomen door andere systeemcomponenten in geval van verlies van een primair systeemcomponent.
Voorbeeld: Ingebouwde automatische failovers naar standby-servers bij serverstoring van uw internetapplicaties.

19. API-gateway
Definitie: Een server die zich aan de voorkant van een API bevindt, API-verzoeken ontvangt, throttling- en beveiligingsbeleid toepast en deze vervolgens doorstuurt naar back-endservices.
Voorbeeld: AWS API Gateway gebruiken om API’s te beheren.

20. Servicegaas
Definitie: Een speciale infrastructuurlaag voor het faciliteren van service-to-service-communicatie tussen microservices.
Voorbeeld: Istio integreren als een servicemesh voor het beheer van microservice-interacties.

21. Serverloos computergebruik
Definitie: Een cloud computing-implementatie die “dynamisch de toewijzing van machinebronnen door de cloudprovider mogelijk maakt”.
Voorbeeld: Voer backend-code uit zonder enige serverinrichting aan uw kant met behulp van AWS Lambda.

22. Gebeurtenisgestuurde architectuur
Definitie: Een softwarearchitectuurparadigma dat het genereren, detecteren en consumeren van, en de reactie op, gebeurtenissen in het algemeen aanmoedigt.
Voorbeeld: Ontwerp een systeem met gebeurteniscommunicatie tussen microservices met behulp van Apache Kafka.

23. Monolithische architectuur
Definitie: Een softwarearchitectuur waarin alle elementen in één enkele applicatie zijn ingepast en als één enkele service worden uitgevoerd.
Voorbeeld: oude traditionele bedrijfsapplicaties gebouwd als één grote eenheid.

24. Gedistribueerde systemen
Definitie: Een model waarin componenten op netwerkcomputers met elkaar communiceren en hun acties coördineren door berichten door te geven.
Voorbeeld: het ontwerpen van een gedistribueerd bestandssysteem zoals Hadoop.

25. Berichtenwachtrij
Definitie: Deze methode maakt asynchrone service-to-service-communicatie mogelijk in zowel serverloze als microservices-architecturen.
Voorbeeld: RabbitMQ gebruiken om berichten tussen services in de wachtrij te plaatsen.

26. Pub/sub-model
Definitie: Een berichtenpatroon waarin afzenders (uitgevers) berichten zo abstract publiceren dat elk van deze berichten uiteindelijk door de ontvangers kan worden geopend zonder dat de afzender zelfs maar de identiteit van de bestemmingsontvangers (abonnees) hoeft te kennen.
Voorbeeld: Een notificatiesysteem dat gebruik maakt van Google Cloud Pub/Sub.

27. Gegevenspartitionering
Definitie: Verdeling van een database in kleinere, beheersbare delen.
Voorbeeld: een tabel in een database op datum partitioneren om een ​​supersnelle uitvoering van query’s mogelijk te maken.

28. Horizontale schaling
Definitie: Het vergroten van de capaciteit door meer machines of knooppunten binnen een systeem toe te voegen.
Voorbeeld: het toevoegen van meer webservers om een ​​toenemend volume aan gebruikersverkeer te verwerken.

29. Verticaal schalen
Definitie: Het upgraden van een reeds bestaande machine met meer kracht in de vorm van een CPU of RAM.
Voorbeeld: het RAM-geheugen van een server upgraden, zodat deze meer verzoeken in één keer kan verwerken.

30. Snelheidslimiet
Definitie: Het betekent het controleren van de snelheid van het verkeer dat de netwerkinterfacecontroller verzendt of ontvangt.
Voorbeeld: een API beperken om misbruik te voorkomen.

31. Patroon stroomonderbreker
Definitie: Een ontwerppatroon dat wordt gebruikt in de moderne softwareontwikkeling, toegepast om fouten op te sporen en de logica samen te vatten om te voorkomen dat een fout zich voortdurend herhaalt.
Voorbeeld: het afhandelen van mislukte serviceoproepen op afstand met behulp van een stroomonderbreker in een microservice-architectuur.

32. Gegevensconsistentie
Definitie: Ervoor zorgen dat gegevens voor meerdere instanties hetzelfde zijn en niet beschadigd zijn.
Voorbeeld: het handhaven van de consistentie van gebruikersgegevens via meerdere replica’s van een database.

33. Eventuele consistentie
Definitie: Een consistentiemodel dat wordt gebruikt bij gedistribueerd computergebruik met als doel hoge beschikbaarheid, waarbij wordt gesteld dat updates van een systeem zich uiteindelijk zullen verspreiden en door alle knooppunten zullen worden weerspiegeld.
Voorbeeld: Amazon DynamoDB biedt een uiteindelijk consistent model voor de leesbewerking.

34. Sterke consistentie
Definitie: Een consistentiemodel dat ervoor zorgt dat elke leesbewerking de meest recente schrijfbewerking op een bepaalde gegevenseenheid krijgt.
Voorbeeld: het gebruik van sterke consistentie in een financieel transactiesysteem.

35. Containerisatie
Definitie: In principe is dit het geval wanneer een applicatie en zijn afhankelijkheden zijn ingekapseld in een container die in elke computeromgeving kan worden uitgevoerd.
Voorbeeld: Docker gebruiken om de applicaties in containers te plaatsen voor implementatie in verschillende omgevingen, zoals dev, test, prod enz.

36. Kubernetes
Definitie: Een open-sourceplatform dat het proces van de implementatie, schaling en werking van applicatiecontainers automatiseert.
Voorbeeld: voer containerapplicaties uit en implementeer deze met Kubernetes.

37. Automatisch schalen
Definitie: Automatisch aanpassen van het aantal rekenbronnen op basis van de gebruikersbelasting.
Voorbeeld: gebruik maken van de AWS EC2 Auto Scaling-functie om het aantal exemplaren dynamisch aan te passen.

38. Multi-tenancy
Definitie: Architectuur waarbij één exemplaar van een softwareapplicatie meerdere consumenten/klanten bedient.
Voorbeeld: SaaS-applicaties, zoals Salesforce, maken gebruik van multi-tenancy in hun dienstverlening aan hun verschillende categorieën klanten.

39. Lastafschakeling
Definitie: Het terugschroeven van bepaalde eisen of het verlagen van diensten om de gezondheid van het algehele systeem onder hoge belasting te behouden.
Voorbeeld: Hierdoor worden alle niet-essentiële diensten uitgeschakeld tijdens piekuren.

40. Idempotentie
Definitie: Een eigenschap voor sommige wiskundige en computerwetenschappelijke bewerkingen die aangeeft dat deze hetzelfde effect heeft als deze meerdere keren wordt herhaald.
Voorbeeld: een HTTP DELETE-verzoek is idempotent.

41. Quorum
Definitie: Het minimumaantal stemmen dat nodig is om een ​​gedistribueerde transactie uit te voeren.
Voorbeeld: Kortom, op quorums gebaseerde replicatie zorgt ervoor dat er consistentie bestaat in de gedistribueerde database.

42. Orkestratie
Definitie: Een patroon van service-interactie waarbij een centrale coördinator de interactie tussen services controleert.
Voorbeeld: het gebruik van een workflow-engine om een ​​uit meerdere stappen bestaand bedrijfsproces te beheren.

43. Choreografie
Definitie: Een service-interactiepatroon waarin elke service op zichzelf staat en via gebeurtenissen met anderen communiceert; er zal geen coördinator of orkestrator zijn.
Voorbeeld: microservices die communiceren via een evenementenbus in een choreografiepatroon.

44. Serviceregister
Definitie: Een database die exemplaren van microservices bijhoudt.
Voorbeeld: gebruik van het Eureka-serviceregister in een microservice-architectuur.

45. API-snelheidslimiet
Definitie: Het betekent controleren hoeveel verzoeken een klant binnen een bepaald tijdsbestek tegen een API kan indienen.
Voorbeeld: Het beperken van verzoeken aan een API tot 100 per minuut om misbruik te voorkomen.

46. ​​Datawarehouse
Definitie: Een systeem dat helpt bij het genereren van rapporten en analyse van bedrijfsgegevens; het centrum van Business Intelligence.
Voorbeeld: Amazon Redshift kan worden geïmplementeerd in datawarehousing.

47. Datameer
Definitie: Een systeem of opslagplaats waar gegevens in native/ruwe indeling worden bewaard, meestal als objectblobs of bestanden.
Voorbeeld: Petabyte-schaling voor het opslaan en beheren van gestructureerde en ongestructureerde gegevens in een datameer.

48. OLAP
Definitie: Online analytische verwerking: de softwarecategorie die de analyse mogelijk maakt van gegevens die in een database worden bewaard.
Voorbeeld: gebruik van de OLAP-kubussen voor puntige analytische en willekeurige zoekopdrachten.

49. OLTP
Definitie: Online transactieverwerking: een klasse van systemen die transactiegerichte applicaties beheren.
Voorbeeld: gebruik van OLTP-systemen voor het beheer van transactiegegevens, zoals in banksystemen, enz.

50. Grote data
Definitie: Grote, complexe datasets die in het beste geval niet efficiënt kunnen worden beheerd door conventionele gegevensverwerkingssoftware.
Voorbeeld: het analyseren van interacties op sociale media om modetrends te voorspellen.

Bedankt voor het lezen! Deel deze handleiding alstublieft met anderen als u deze op de een of andere manier nuttig vindt, zodat zij deze reeks oefeningen ook kunnen doen.