Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Analysis and comparison of microservice data exchange formats on Enduro/X platform

The thesis analyzes and compares the microservice data exchange formats. The work
contains a study of what data exchange formats are available, what characteristics to consider
when choosing these formats. Each of the selected data exchange formats is implemented in a
microservice architecture environment where measurements are made on the performance of a
particular data exchange format by serialization of data, deserialization between service calls.
The end results are compared and conclusions are drawn on which of these data exchange
formats is better, which one would be better suited to specific situations.
The analytical section of the thesis examines the Enduro/X UBF data exchange format, which
was found to be incomplete during the research. Based on these shortcomings, design is being
developed.
The main body of the thesis is 82 pages, 41 pictures, 18 tables, 43 titles of information sources and 19 appendices.

  • Login to see the comments

  • Be the first to like this

Analysis and comparison of microservice data exchange formats on Enduro/X platform

  1. 1. 1 Maģistra darbs Darba autors: Einārs Leckis,151RDC008 Darba vadītājs: Dr.sc.ing., profesors Jānis Eiduks MIKROSERVISU DATU APMAIŅAS FORMĀTU ANALĪZE UN SALĪDZINĀJUMS 22.01.2019
  2. 2. 2 Maģistra darba mērķis Rīgas Tehniskā universitāte Maģistra darba mērķis ir mikroservisu datu apmaiņas formātu analīze un to salīdzināšana. Uzdevumi: 1. Mikroservisu datu apmaiņas formātu analīze (JSON, XML, Enduro/X UBF); 2. Mikroservisu datu apmaiņas formātu API salīdzinājums (JSON, XML, Enduro/X UBF); 3. Priekšrocību (sarežģītība programmēt augstas veiktspējas C programmēšanas valodas sistēmās, grūtības definēt, ātrdarbības, saderības ar citām sistēmām) analīze un novērtējums; 4. Datu apmaiņas formātu JSON, XML, Enduro/X UBF veiktspējas salīdzinājums mikroservisu arhitektūrā
  3. 3. 3 Tēmas aktualitāte un problēmas raksturojums Rīgas Tehniskā universitāte Attīstoties biznesam pieaug prasības, kā rezultātā produktu ir nepieciešams uzlabot, lai tas spētu nodrošināt labāku veiktspēju. Izmantojot tradicionālo monolītisko arhitektūru tas bieži vien sagādā neērtības.
  4. 4. 4 Lietojums monolītiskā arhitektūrā Rīgas Tehniskā universitāte
  5. 5. 5 Lietojums mikroservisu arhitektūrā Rīgas Tehniskā universitāte
  6. 6. 6 Datu apmaiņas formātu veiktspējas salīdzinājums Rīgas Tehniskā universitāte Datu apmaiņas formāti: 1. JSON, 2. XML, 3. UBF. Datu formāti JSON un XML tika izvēlēti, jo tie ir visbiežāk industrijā lietotie formāti interfeisos, savukārt UBF tika izvēlēts kā papildus datu apmaiņas formāts, jo to piedāvā Enduro/X, kas tika izvēlēta par pamatu mikroservisu arhitektūras realizēšanai, lai noskaidrotu kuram no datu formātiem ir augstāka veiktspēja.
  7. 7. 7 Izmantotās komponentes Rīgas Tehniskā universitāte C programmēšanas valodas bibliotēkas: 1. XML – libxml2 2. JSON – jansson 3. UBF – libubf Operētājsistēma: Linux Mint 19 (Linux eleckis-X540SA 4.15.0-43-generic #46-Ubuntu SMP Thu Dec 6 14:45:28 UTC 2018 x86_64 GNU/Linux) Portatīvais dators: ASUS X540SA-XX018D Starpprogrammatūra: Enduro/X
  8. 8. 8 Testa scenārijs Rīgas Tehniskā universitāte 1. Klients aizpilda ziņojuma struktūru ar datiem; 2. Izsauc funkciju, kas sagatavo (serializē) ziņojumu atbilstoši izvēlētajam datu formātam; 3. Izsauc servera servisu pārsūtot datus; 4. Serveris saņemot datus veic to deserializāciju izmantojot funkciju atbilstoši izvēlētajam datu formātam; 5. Ja netiek konstatētas kļūdas ziņojuma deserializēšanā, tad tas ziņojumam pievieno atbildes informāciju un serializē datus transportam; 6. Serveris atbild klientam pārsūtot datus; 7. Klients saņem informāciju un deserializē; 8. Klients pārbauda atbildes datus.
  9. 9. 9 Veiktspējas salīdzinājums palielinot skaitlisko lauku skaitu Rīgas Tehniskā universitāte
  10. 10. 10 Veiktspējas salīdzinājums palielinot virknes lauku skaitu Rīgas Tehniskā universitāte
  11. 11. 11 API salīdzinājums Rīgas Tehniskā universitāte Pazīme Formāts JSON XML UBF Viegli lietojamsun saprotams Atbilst Atbilst Atbilst Kļūdu apstrāde Atbilst Atbilst Atbilst Kļūdu paziņojumi Neatbilst Neatbilst Atbilst Labi dokumentēts Daļēji atbilst Daļēji atbilst Atbilst Funkciju atbilstība Atbilst Atbilst Atbilst Strukturēts Atbilst Atbilst Neatbilst
  12. 12. 12 Enduro/X arhitektūra Rīgas Tehniskā universitāte
  13. 13. 13 Enduro/X izmaiņu prasības Rīgas Tehniskā universitāte 1. Jāpārveido esošais bufera formāts uz strukturētu formātu; 2. Jānodrošina tādas pašas funkcijas kā esošajam buferim darbam ar strukturēto buferi; 3. Strukturētā bufera funkcijas jānodrošina ar vienību testiem; 4. Esošā Enduro/X funkcionalitātenedrīkst tikt sabojāta.
  14. 14. 14 Enduro/X esošā datu struktūra Rīgas Tehniskā universitāte Maksājuma datu reprezentācija izmantojot esošo Enduro/X datu formātu
  15. 15. 15Rīgas Tehniskā universitāte Vairāku komisiju datu reprezentācija izmantojot esošo Enduro/X datu formātu
  16. 16. 16 Enduro/X datu formāta izmaiņas Rīgas Tehniskā universitāte
  17. 17. 17 Enduro/X datu formāta sagaidāmais rezultāts Rīgas Tehniskā universitāte
  18. 18. 18 Enduro/X nepieciešamās izmaiņas Rīgas Tehniskā universitāte 1. Rekursīvs API bufera lauku piekļūšanai (BE / CBE funkcijas); 2. Vienību testi jaunpievienotajām funkcijām darbam ar strukturēto buferi; 3. Izmaiņas RESTINCL – funkcijās tpjsontoubf(), tpubftojson() ieviest atbalstu konvertēt datus uz JSON un no JSON datu formāta; 4. Funkcija pirmā līmeņa UBF konvertācijai uz padziļinātu UBF līmeni; 5. Funkcijas strukturētu datu bufera serializācijai un deserializācijai starpprocesu komunikācijai; 6. Izmaiņas TPBRIDGE datu serializācijā un deserializācijā datu pārsūtīšanai starpprogrammatūras līmenī; 7. Izmaiņas TPBRIDBGE/libnetproto strukturēta bufera serializācija uz TLV formātu un otrādi.
  19. 19. 19 Secinājumi Rīgas Tehniskā universitāte 1. Izpētot datu apmaiņas formātu īpašības tika secināts, ka UBF nav strukturēts datu formāts. 2. Mikroservisu arhitektūra dod iespēju izmantot dažādas tehnoloģijas izvietotajos servisos, bet brīva un dažādu tehnoloģiju lietošana var novest pie nelabvēlīgām sekām. 3. XML datu apmaiņas formāts nodrošina detalizētāku iespēju klāstu kontrolēt datu integritāti. 4. Binārais datu formāts – UBF, šajos veiktspējas testos nodrošina vislabāko veiktspēju pie visiem iterācijas soļiem. 5. Informācija par JSON vēsta, ka tas ir vieglāks un ātrāks datu apmaiņas formāts nekā XML, taču veicot veiktspējas mērījumus pierādījās tas, ka XML ir ātrāks. 6. Binārais datu formāts var būt uzskatāms un ērts darbam ar datiem.
  20. 20. 20 PALDIES PAR UZMANĪBU!

×