Pamahaman calo pesen. Diajar mékanika olahtalatah sareng ActiveMQ sareng Kafka. Bab 1

Hello dulur!

Mimiti narjamahkeun buku leutik:
«Pamahaman Pesen calo",
nu ngarang: Jakub Korab, penerbit: O'Reilly Media, Inc., tanggal publikasi: Juni 2017, ISBN: 9781492049296.

Ti bubuka buku:
"... Buku ieu bakal ngajarkeun anjeun kumaha carana mikir ngeunaan sistem olahtalatah brokered ku ngabandingkeun jeung kontras dua téknologi calo populér: Apache ActiveMQ jeung Apache Kafka. Éta bakal ngagariskeun kasus pamakean sareng insentif pangembangan anu nyababkeun pamekarna nyandak pendekatan anu béda-béda pikeun daérah anu sami dina olahtalatah anu dibroker antara sistem. Kami bakal ningali téknologi ieu ti mimiti sareng nyorot dampak tina pilihan desain anu béda-béda sapanjang jalan. Anjeun bakal nampi pamahaman anu jero ngeunaan duanana produk, pamahaman kumaha aranjeunna kedah sareng henteu kedah dianggo, sareng pamahaman naon anu kedah diperhatoskeun nalika ningal téknologi olahtalatah anu sanés di hareup. ... "

Bagian anu ditarjamahkeun dugi ka ayeuna:
Bab 1 Pendahuluan
Bab 3. Kafka

Kuring bakal masangkeun bab réngsé sakumaha aranjeunna ditarjamahkeun.

BAB 1

perkenalan

Olahtalatah Intersystem mangrupikeun salah sahiji daérah IT anu paling teu kahartos. Salaku pamekar atanapi arsiték, anjeun tiasa wawuh pisan sareng sababaraha kerangka sareng pangkalan data. Nanging, sigana anjeun ngan ukur ningali kumaha téknologi olahtalatah dumasar calo. Lamun éta kumaha anjeun ngarasa, ulah salempang, anjeun dina parusahaan alus.

Jalma biasana gaduh kontak anu terbatas sareng infrastruktur olahtalatah. Sering aranjeunna nyambung ka sistem anu diciptakeun lami pisan, atanapi unduh kit distribusi tina Internét, pasang dina PROM sareng mimitian nyerat kode pikeun éta. Saatos ngajalankeun infrastruktur di PROM, hasilna tiasa dicampur: pesen leungit nalika kacilakaan, kiriman henteu jalan sakumaha anu anjeun ngarepkeun, atanapi calo ngagantungkeun produsén anjeun atanapi henteu ngirim pesen ka konsumén anjeun.

Sora akrab?

Skenario umum dimana kodeu olahtalatah anjeun tiasa dianggo saé, samentawis. Nepi ka eureun gawé. Mangsa ieu lulls vigilance sarta méré rasa palsu ngeunaan kaamanan, nu ngabalukarkeun malah leuwih kode dumasar kana gagasan palsu ngeunaan kabiasaan fundamental téhnologi nu. Nalika hal-hal mimiti salah, anjeun nyanghareupan bebeneran anu teu pikaresepeun: yén anjeun leres-leres henteu ngartos kana paripolah dasar produk, atanapi trade-off anu dipilih ku pangarang, sapertos kinerja versus kateguhan, atanapi transactional versus horizontal. skalabilitas.

Tanpa pamahaman anu jero ngeunaan kumaha calo jalanna, jalma-jalma ngadamel klaim anu sigana wajar ngeunaan sistem olahtalatahna, sapertos:

  • Sistim nu moal pernah leungit pesen
  • Pesen bakal diolah sacara berurutan
  • Nambahkeun konsumén bakal ngajantenkeun sistem langkung gancang
  • Talatah ngan bakal dikirimkeun sakali

Hanjakal, sababaraha pernyataan ieu dumasar kana asumsi nu ngan lumaku dina kaayaan nu tangtu, sedengkeun nu sejenna ngan saukur teu bener.

Buku ieu bakal ngajarkeun anjeun kumaha alesan ngeunaan sistem olahtalatah brokered ku ngabandingkeun sareng kontras dua téknologi calo populér: Apache ActiveMQ sareng Apache Kafka. Éta bakal ngagariskeun kasus pamakean sareng insentif pangembangan anu nyababkeun pamekarna nyandak pendekatan anu béda-béda pikeun daérah anu sami dina olahtalatah anu dibroker antara sistem. Kami bakal ningali téknologi ieu ti mimiti sareng nyorot dampak tina pilihan desain anu béda-béda sapanjang jalan. Anjeun bakal nampi pamahaman anu jero ngeunaan duanana produk, pamahaman kumaha aranjeunna kedah sareng henteu kedah dianggo, sareng pamahaman naon anu kedah diperhatoskeun nalika ningal téknologi olahtalatah anu sanés di hareup.

Sateuacan urang ngamimitian, hayu urang ngaliwat dasar.

Naon sistem olahtalatah sareng naha éta diperyogikeun

Supados dua aplikasi tiasa saling komunikasi, aranjeunna kedah netepkeun heula antarmuka. Definisi antarbeungeut ieu kalebet pilihan angkutan atanapi protokol sapertos HTTP, MQTT, atanapi SMTP, sareng negosiasi format pesen anu bakal ditukeurkeun ku sistem. Ieu tiasa janten prosés anu ketat, sapertos netepkeun skéma XML sareng syarat biaya payload pikeun pesen, atanapi tiasa langkung formal, sapertos perjanjian antara dua pamekar yén sababaraha bagian tina pamundut HTTP bakal ngandung identifier klien. .

Salami format pesen sareng urutan anu dikirimkeun konsisten antara sistem, aranjeunna bakal tiasa saling komunikasi tanpa hariwang ngeunaan palaksanaan sistem anu sanés. Internal sistem ieu, sapertos basa program atanapi kerangka anu dianggo, tiasa robih kana waktosna. Salami kontrak sorangan dijaga, interaksi bisa neruskeun unchanged di sisi séjén. Dua sistem sacara efektif dipisahkeun (dipisahkeun) ku antarmuka ieu.

Sistem olahtalatah ilaharna ngalibetkeun hiji perantara antara dua sistem anu berinteraksi pikeun salajengna decouple (misahkeun) pangirim ti panarima atawa panarima. Dina hal ieu, sistem olahtalatah ngamungkinkeun pangirim pikeun ngirim pesen tanpa nyaho dimana lokasina panarima, naha anjeunna aktip atawa sabaraha instansi maranéhanana.

Hayu urang tingali sababaraha analogi pikeun rupa-rupa masalah anu direngsekeun ku sistem olahtalatah sareng ngenalkeun sababaraha istilah dasar.

Titik-ka-Titik

Alexandra indit ka kantor pos pikeun ngirim pakét ka Adam. Manéhna indit ka jandela jeung leungeun parsél ka pagawe. pagawe nyokot pakét sarta méré Alexandra resi a. Adam henteu kedah aya di bumi nalika bungkusan dikirim. Alexandra yakin yén pakét éta bakal dikirimkeun ka Adam di sababaraha waktos ka hareup sareng tiasa teras-terasan ngalaksanakeun usahana. Engké, di sawatara titik, Adam narima bungkusan.

Ieu conto model olahtalatah titik ka titik. Kantor pos di dieu tindakan minangka mékanisme distribusi pakét, mastikeun yén unggal pakét dikirimkeun sakali. Pamakéan kantor pos misahkeun kalakuan ngirim parsél ti pangiriman parsél.
Dina sistem olahtalatah klasik, model titik-ka-titik dilaksanakeun ngaliwatan antrian. Antrian tindakan minangka panyangga FIFO (mimiti asup, kaluar heula) nu hiji atawa leuwih konsumén bisa ngalanggan. Unggal pesen ngan dikirimkeun salah sahiji konsumén ngalanggan. Antrian biasana nyobian ngadistribusikaeun pesen anu adil diantara konsumen. Ngan hiji konsumen anu bakal nampi pesen ieu.

Istilah "awét" dilarapkeun kana antrian. réliabilitas nyaéta sipat jasa anu ngajamin yén sistem olahtalatah bakal tetep pesen dina henteuna palanggan aktip dugi ka konsumen ngalanggan antrian pangiriman pesen.

Reliabiliti mindeng bingung jeung kegigihan jeung, sanajan dua istilah anu ditukeurkeun, maranéhna ngalakukeun fungsi béda. Kegigihan nangtukeun naha pesen ditulis ku sistem olahtalatah kana sababaraha jenis gudang antara narima jeung ngirim ka konsumén. Pesen anu dikirim ka antrian tiasa atanapi henteu tetep.
Olahtalatah titik-ka-titik dipaké nalika kasus pamakéan merlukeun hiji aksi tunggal dina pesen. Conto kalebet neundeun dana kana rekening atanapi ngalaksanakeun pesenan pangiriman. Urang bakal ngabahas engké naha sistem olahtalatah ku sorangan henteu mampuh nyadiakeun hiji-waktos pangiriman jeung naha antrian bisa di pangalusna nyadiakeun jaminan pangiriman. sahenteuna sakali.

Penerbit-Palanggan

Gabriella mencet nomer konperénsi. Nalika anjeunna nyambung ka konperénsi, anjeunna ngupingkeun sadayana anu dicarioskeun ku spiker, sareng sesa pamilon telepon. Nalika anjeunna hideung, anjeunna sono kana naon anu dicarioskeun. Nalika nyambung deui, manéhna terus ngadéngé naon anu diomongkeun.

Ieu conto model olahtalatah nyebarkeun-ngalanggan. Telepon konperénsi tindakan salaku mékanisme siaran. Jalma anu ngobrol henteu paduli sabaraha jalma anu ayeuna nelepon - sistem mastikeun yén saha waé anu ayeuna nyambung bakal ngadangu naon anu diomongkeun.
Dina sistem olahtalatah klasik, modél olahtalatah nyebarkeun-langganan dilaksanakeun ngaliwatan puncak. Hiji topik nyayogikeun metode siaran anu sami sareng mékanisme konferensi. Nalika pesen dipasang dina topik, éta disebarkeun pikeun sakabéh pamaké ngalanggan.

Topik biasana teu bisa diandelkeun (nonndurable). Siga pangdéngé anu teu bisa ngadéngé naon anu diomongkeun dina telepon konperénsi, nalika pangdéngé offline, palanggan topik sono pesen naon anu dikirim nalika aranjeunna offline. Ku sabab kitu, urang bisa disebutkeun yen tops nyadiakeun jaminan pangiriman. teu leuwih ti sakali pikeun unggal konsumen.

Olahtalatah Nyebarkeun-Langganan ieu ilaharna dipaké nalika talatah anu informational di alam jeung leungitna hiji talatah teu utamana signifikan. Contona, hiji topik bisa ngirimkeun bacaan suhu ti grup sensor sakali per detik. Sistem anu kabetot dina suhu ayeuna sareng anu ngalanggan topik moal hariwang upami éta sono pesen - anu sanés bakal sumping pas.

model hibrid

Situs wéb toko nempatkeun pesen pesenan kana "antrian pesen". Konsumén utama pesen ieu nyaéta sistem eksekutif. Salaku tambahan, sistem audit kedah gaduh salinan pesen pesenan ieu pikeun dilacak engké. Kadua sistem teu tiasa sono pesen, sanaos sistemna sorangan henteu sayogi pikeun sababaraha waktos. Website éta henteu kedah sadar kana sistem anu sanés.

Kasus pamakean sering ngabutuhkeun campuran modél olahtalatah nyebarkeun-langganan sareng titik-ka-titik, sapertos nalika sababaraha sistem peryogi salinan pesen sareng réliabilitas sareng kegigihan diperyogikeun pikeun nyegah leungitna pesen.

Dina kasus ieu, hiji tujuan (istilah umum pikeun antrian jeung jejer) diperlukeun, nu distributes pesen dasarna kawas topik, ku kituna unggal pesen dikirim ka sistem misah museurkeun pesen ieu, tapi ogé nu unggal sistem bisa nangtukeun sababaraha pamakéna. nu narima pesen asup, nu leuwih kawas antrian a. Jenis bacaan dina hal ieu nyaéta − sakali pikeun tiap stakeholder. Tujuan hibrid ieu sering ngabutuhkeun daya tahan supados upami konsumen dipegatkeun, pesen anu dikirim dina waktos éta katampi nalika konsumen nyambung deui.

Modél hibrida henteu énggal sareng tiasa diterapkeun ka kalolobaan sistem olahtalatah, kalebet ActiveMQ (via tujuan virtual atanapi komposit anu ngagabungkeun topik sareng antrian) sareng Kafka (sacara implisit, salaku sipat dasar tina desain tujuanana).

Ayeuna urang gaduh sababaraha terminologi dasar sareng pamahaman naon sistem olahtalatah tiasa mangpaat, hayu urang lebet kana detilna.

Tarjamahan réngsé: tele.gg/middle_java

Bagian anu ditarjamahkeun salajengna: Bab 3. Kafka

Ngalajengkeun…

sumber: www.habr.com

Tambahkeun komentar