Sistem teragih dalam takrifan termudahnya ialah sekumpulan komputer yang bekerja bersama-sama yang muncul sebagai satu kepada pengguna akhir. Mesin berkongsi keadaan yang sama, berjalan serentak dan boleh beroperasi secara bebas tanpa menjejaskan masa beroperasi keseluruhan sistem. Sebenarnya mengurus sistem sedemikian adalah topik yang kompleks yang penuh dengan perangkap.
Ikhtisar sistem
Sistem yang diedarkan membenarkan perkongsian sumber (termasuk perisian) yang disambungkan ke rangkaian pada masa yang sama.
Contoh pengedaran sistem:
- Timbunan tradisional. Pangkalan data ini disimpan pada sistem fail satu mesin. Setiap kali pengguna ingin menerima maklumat, dia berkomunikasi secara langsung dengan mesin ini. Untuk mengedarkan sistem pangkalan data ini, anda perlu menjalankannya pada berbilang PC pada masa yang sama.
- Seni bina teragih.
Sistem teragihmembolehkan anda membuat skala secara mendatar dan menegak. Sebagai contoh, satu-satunya cara untuk mengendalikan lebih banyak trafik ialah dengan menaik taraf perkakasan yang menjalankan pangkalan data. Ini dipanggil penskalaan menegak. Penskalaan menegak adalah baik sehingga had tertentu, selepas itu walaupun peralatan terbaik tidak dapat menampung menyediakan trafik yang diperlukan.
Penskalaan secara mendatar bermakna menambah lebih banyak komputer, bukan menaik taraf perkakasan pada satu. Penskalaan menegak meningkatkan prestasi kepada keupayaan perkakasan terkini dalam sistem teragih. Peluang ini tidak mencukupi untuk syarikat teknologi yang mempunyai beban kerja sederhana hingga berat. Perkara terbaik tentang penskalaan mendatar ialah tiada had saiz. Apabila prestasi merosot, mesin lain hanya ditambah, yang, pada dasarnya, boleh dilakukan selama-lamanya.
Di peringkat korporat, sistem kawalan teragih selalunya melibatkan pelbagai langkah. Dalam proses perniagaan di tempat yang paling cekap rangkaian komputer perusahaan. Sebagai contoh, dalam pengedaran biasa menggunakan model sistem teragih tiga peringkat, pemprosesan data dilakukan pada PC di lokasi pengguna, pemprosesan perniagaan dilakukan pada komputer jauh dan akses pangkalan data dan pemprosesan data dilakukan pada komputer yang sama sekali berbeza. yang menyediakan akses terpusat untuk banyak perniagaan, proses. Biasanya, jenis pengkomputeran teragih inimenggunakan model interaksi pelanggan-pelayan.
Tugas Utama
Tugas utama sistem kawalan teragih termasuk:
- Ketelusan - Capai satu imej sistem tanpa menyembunyikan lokasi, akses, penghijrahan, concurrency, failover, penempatan semula, kegigihan dan butiran sumber kepada pengguna.
- Keterbukaan - memudahkan persediaan dan perubahan rangkaian.
- Kebolehpercayaan - Berbanding dengan sistem kawalan tunggal, ia harus boleh dipercayai, konsisten dan mempunyai kebarangkalian tinggi untuk menyembunyikan ralat.
- Prestasi - Berbanding model lain, model yang diedarkan memberikan peningkatan prestasi.
- Boleh Skala - Sistem kawalan teragih ini mestilah boleh berskala dari segi wilayah, pentadbiran atau saiz.
Tugas sistem pengedaran termasuk:
- Keselamatan ialah isu besar dalam persekitaran yang diedarkan, terutamanya apabila menggunakan rangkaian awam.
- Toleransi kesalahan - boleh menjadi sukar apabila model dibina dengan komponen yang tidak boleh dipercayai.
- Penyelarasan dan pengagihan sumber - boleh menjadi sukar jika tiada protokol yang betul atau dasar yang diperlukan.
Persekitaran pengkomputeran teragih
(DCE) ialah piawaian industri yang digunakan secara meluas yang menyokong pengkomputeran teragih tersebut. Di Internet, pembekal pihak ketiga menawarkan beberapa perkhidmatan generik,yang sesuai dengan model ini.
Pengkomputeran grid ialah model pengkomputeran dengan seni bina teragih bagi sejumlah besar komputer yang dikaitkan dengan penyelesaian masalah yang kompleks. Dalam model pengkomputeran grid, pelayan atau komputer peribadi melaksanakan tugas bebas dan disambungkan secara longgar antara satu sama lain melalui Internet atau rangkaian berkelajuan rendah.
Projek pengkomputeran grid terbesar ialah SETI@home, di mana pemilik komputer individu secara sukarela melaksanakan beberapa kitaran pemprosesan berbilang tugas mereka menggunakan komputer mereka untuk projek Search for Extraterrestrial Intelligence (SETI). Masalah komputer ini menggunakan beribu-ribu komputer untuk memuat turun dan mencari data teleskop radio.
Salah satu penggunaan pertama pengkomputeran grid adalah untuk memecahkan kod kriptografi oleh kumpulan yang kini dikenali sebagai distributed.net. Kumpulan ini juga menerangkan model mereka sebagai pengkomputeran teragih.
Penskalaan pangkalan data
Menyebarkan maklumat baharu daripada tuan kepada hamba tidak berlaku serta-merta. Malah, terdapat tetingkap masa di mana anda boleh mendapatkan maklumat lapuk. Jika ini tidak berlaku, prestasi tulis akan terjejas, kerana sistem yang diedarkan perlu menunggu secara serentak untuk data disebarkan. Mereka datang dengan beberapa kompromi.
Menggunakan pendekatan pangkalan data hamba, adalah mungkin untuk mengecilkan trafik baca sedikit sebanyak. Terdapat banyak pilihan di sini. Tetapi anda hanya perlu membahagikan trafik tulis kepada beberapapelayan kerana ia tidak dapat mengendalikannya. Satu cara ialah menggunakan strategi replikasi berbilang induk. Di sana, bukannya hamba, terdapat beberapa nod utama yang menyokong membaca dan menulis.
Kaedah lain dipanggil sharding. Dengan itu, pelayan dibahagikan kepada beberapa pelayan yang lebih kecil, dipanggil serpihan. Serpihan ini mempunyai entri yang berbeza, peraturan dibuat tentang entri mana yang masuk ke serpihan mana. Adalah sangat penting untuk mencipta peraturan sedemikian supaya data diedarkan secara sama rata. Pendekatan yang mungkin untuk ini adalah untuk menentukan julat mengikut beberapa maklumat rekod.
Kunci serpihan ini harus dipilih dengan sangat berhati-hati, kerana beban tidak selalu sama dengan tapak lajur sembarangan. Satu-satunya serpihan yang mendapat lebih banyak permintaan daripada yang lain dipanggil hotspot, dan mereka cuba menghalangnya daripada terbentuk. Setelah berpecah, data penentukuran semula menjadi sangat mahal dan boleh mengakibatkan masa henti yang ketara.
Algoritma konsensus pangkalan data
DB sukar dilaksanakan dalam sistem keselamatan teragih kerana ia memerlukan setiap nod untuk merundingkan gangguan yang betul atau melakukan tindakan. Kualiti ini dikenali sebagai konsensus dan merupakan masalah asas dalam membina sistem pengedaran. Mencapai jenis perjanjian yang diperlukan untuk masalah "komit" adalah mudah jika proses yang terlibat dan rangkaian boleh dipercayai sepenuhnya. Walau bagaimanapun, sistem sebenar tertakluk kepada beberapakemungkinan kegagalan proses rangkaian, mesej hilang, rosak atau pendua.
Ini menimbulkan masalah dan tidak dapat menjamin bahawa konsensus yang betul akan dicapai dalam tempoh masa terhad pada rangkaian yang tidak boleh dipercayai. Dalam amalan, terdapat algoritma yang mencapai konsensus dengan agak cepat dalam rangkaian yang tidak boleh dipercayai. Cassandra sebenarnya menyediakan transaksi ringan melalui penggunaan algoritma Paxos untuk konsensus yang diedarkan.
Pengkomputeran teragih ialah kunci kepada kemasukan pemprosesan data besar yang telah digunakan dalam beberapa tahun kebelakangan ini. Ia adalah satu kaedah untuk memecahkan tugas yang besar, seperti 100 bilion rekod terkumpul, yang mana tiada satu komputer pun mampu melakukan apa-apa sahaja secara praktikal, kepada banyak tugas yang lebih kecil yang boleh dimuatkan ke dalam satu mesin. Pembangun memecahkan tugas besarnya kepada banyak tugas yang lebih kecil, melaksanakannya pada banyak mesin secara selari, mengumpul data dengan sewajarnya, maka masalah asal akan diselesaikan.
Pendekatan ini membolehkan anda membuat skala secara mendatar - apabila terdapat tugasan besar, cuma tambahkan lebih banyak nod pada pengiraan. Tugasan ini telah dilaksanakan selama bertahun-tahun oleh model pengaturcaraan MapReduce yang dikaitkan dengan pelaksanaan untuk pemprosesan selari dan penjanaan set data besar menggunakan algoritma teragih pada gugusan.
Pada masa ini, MapReduce agak ketinggalan zaman dan membawa beberapa masalah. Seni bina lain telah muncul yang menangani isu ini. Iaitu, Lambda Architecture untuk diedarkansistem pemprosesan aliran. Kemajuan dalam bidang ini telah membawa alatan baharu: Kafka Streams, Apache Spark, Apache Storm, Apache Samza.
Sistem penyimpanan dan replikasi fail
Sistem fail teragih boleh dianggap sebagai storan data teragih. Ini adalah sama seperti konsep - menyimpan dan mengakses sejumlah besar data merentas kelompok mesin yang merupakan satu entiti. Ia biasanya seiring dengan Pengkomputeran Teragih.
Sebagai contoh, Yahoo telah terkenal kerana menjalankan HDFS pada lebih 42,000 nod untuk menyimpan 600 petabait data sejak 2011. Wikipedia mentakrifkan perbezaan dalam sistem fail yang diedarkan membenarkan akses fail menggunakan antara muka dan semantik yang sama seperti fail tempatan, dan bukannya melalui API tersuai seperti Bahasa Pertanyaan Cassandra (CQL).
Sistem Fail Teragih Hadoop (HDFS) ialah sistem yang digunakan untuk pengkomputeran ke atas infrastruktur Hadoop. Secara meluas, ia digunakan untuk menyimpan dan meniru fail besar (saiz GB atau TB) pada banyak mesin. Seni binanya terdiri terutamanya daripada NameNodes dan DataNodes.
NameNodes bertanggungjawab untuk menyimpan metadata tentang kluster, seperti nod yang mengandungi blok fail. Mereka bertindak sebagai penyelaras rangkaian, memikirkan tempat terbaik untuk menyimpan dan menyalin fail, menjejaki kesihatan sistem. DataNodes hanya menyimpan fail dan melaksanakan arahan seperti replikasi fail, penulisan baharu danyang lain.
Tidak menghairankan, HDFS paling baik digunakan dengan Hadoop untuk pengkomputeran, kerana ia memberikan kesedaran maklumat tugas. Kerja yang ditentukan kemudiannya dijalankan pada nod yang menyimpan data. Ini membolehkan anda menggunakan lokasi data - mengoptimumkan pengiraan dan mengurangkan jumlah trafik melalui rangkaian.
Sistem Fail Antara Planet (IPFS) ialah protokol/rangkaian peer-to-peer baharu yang menarik untuk sistem fail teragih. Menggunakan teknologi Blockchain, ia mempunyai seni bina terpencar sepenuhnya tanpa pemilik tunggal atau titik kegagalan.
IPFS menawarkan sistem penamaan (serupa dengan DNS) yang dipanggil IPNS dan membolehkan pengguna mendapatkan maklumat dengan mudah. Ia menyimpan fail melalui versi sejarah, sama seperti yang dilakukan Git. Ini membenarkan akses kepada semua keadaan fail sebelumnya. Ia masih melalui pembangunan yang berat (v0.4 pada masa penulisan) tetapi telah pun melihat projek yang berminat untuk membinanya (FileCoin).
Sistem pemesejan
Sistem pemesejan menyediakan lokasi pusat untuk menyimpan dan mengedarkan mesej dalam sistem yang sama. Mereka membenarkan anda memisahkan logik aplikasi daripada komunikasi langsung dengan sistem lain.
Skala diketahui - Kluster Kafka LinkedIn memproses 1 trilion mesej setiap hari dengan puncak 4.5 juta mesej sesaat.
Secara ringkasnya, platform pemesejan berfungsi seperti ini:
- Mesejdiluluskan daripada aplikasi yang berpotensi menciptanya, dipanggil pengeluar, masuk ke platform dan dibaca daripada berbilang aplikasi, dipanggil pengguna.
- Jika anda perlu menyimpan acara tertentu di berbilang tempat, seperti mencipta pengguna untuk pangkalan data, storan, perkhidmatan penghantaran e-mel, maka platform pemesejan ialah cara paling bersih untuk mengedarkan mesej tersebut.
Terdapat beberapa platform pemesejan terkemuka yang popular.
RabbitMQ ialah broker mesej yang membolehkan anda memperhalusi kawalan trajektori mereka menggunakan peraturan penghalaan dan parameter lain yang mudah dikonfigurasikan. Ia boleh dipanggil broker "pintar" kerana ia mempunyai banyak logik dan memantau dengan teliti mesej yang melaluinya. Menyediakan pilihan untuk AP dan CP daripada CAP.
Kafka ialah broker mesej yang kurang berfungsi sedikit kerana ia tidak menjejaki mesej yang telah dibaca dan tidak membenarkan logik penghalaan yang rumit. Ia membantu mencapai prestasi yang menakjubkan dan mewakili janji terbesar dalam ruang ini dengan pembangunan aktif sistem teragih oleh komuniti sumber terbuka dan sokongan pasukan Confluent. Kafka paling popular dengan syarikat teknologi tinggi.
Aplikasi Interaksi Mesin
Sistem pengedaran ini ialah sekumpulan komputer yang bekerjasama untuk muncul sebagai komputer yang berasingan kepada pengguna akhir. Mesin-mesin ini dalam keadaan umum, berfungsiserentak dan boleh bekerja secara bebas tanpa menjejaskan masa beroperasi keseluruhan sistem.
Jika anda menganggap pangkalan data sebagai diedarkan, hanya jika nod berinteraksi antara satu sama lain untuk menyelaraskan tindakan mereka. Dalam kes ini, sesuatu seperti aplikasi yang menjalankan kod dalamannya pada rangkaian peer-to-peer dan diklasifikasikan sebagai aplikasi teragih.
Contoh aplikasi sedemikian:
- Skala Diketahui - BitTorrent mengumpul 193,000 nod untuk episod Game of Thrones.
- Teknologi daftar asas sistem Blockchain yang diedarkan.
Lejar teragih boleh dianggap sebagai pangkalan data aplikasi sahaja yang tidak berubah yang direplikasi, disegerakkan dan dikongsi merentas semua nod dalam rangkaian pengedaran.
Skala yang terkenal - rangkaian Ethereum - mempunyai 4.3 juta transaksi setiap hari pada 4 Januari 2018. Mereka menggunakan corak Penyumberan Acara, yang membolehkan anda memulihkan keadaan pangkalan data pada bila-bila masa.
Blockchain ialah teknologi asas semasa yang digunakan untuk lejar yang diedarkan dan sebenarnya menandakan permulaannya. Inovasi terbaharu dan terbesar dalam ruang teragih ini mencipta protokol pembayaran teragih yang pertama, bitcoin.
Blockchain ialah lejar yang diedarkan dengan senarai tersusun bagi semua transaksi yang pernah berlaku pada rangkaiannya. Tawaran dikumpulkan dan disimpan dalam blok. Keseluruhan blockchain pada asasnya adalah senarai blok yang dipautkan. Blok yang Ditentukanadalah mahal untuk dicipta dan diganding rapat antara satu sama lain melalui kriptografi. Ringkasnya, setiap blok mengandungi cincang khas (yang bermula dengan nombor X sifar) kandungan blok semasa (dalam bentuk pokok Merkle) ditambah cincang blok sebelumnya. Cincang ini memerlukan banyak kuasa CPU.
Contoh sistem pengendalian yang diedarkan
Jenis sistem muncul kepada pengguna kerana ia adalah sistem pengguna tunggal. Mereka berkongsi memori, cakera dan pengguna tidak menghadapi masalah menavigasi melalui data. Pengguna menyimpan sesuatu dalam PCnya dan fail itu disimpan di berbilang lokasi iaitu komputer yang disambungkan supaya data yang hilang boleh dipulihkan dengan mudah.
Contoh sistem pengendalian teragih:
- Windows Server 2003;
- Windows Server 2008;
- Windows Server 2012;
- UbuntuLinux (pelayan Apache).
Jika mana-mana komputer but lebih tinggi, iaitu, jika banyak permintaan ditukar antara PC individu, beginilah pengimbangan beban berlaku. Dalam kes ini, permintaan disebarkan ke PC jiran. Jika rangkaian menjadi lebih dimuatkan, maka ia boleh dikembangkan dengan menambahkan lebih banyak sistem pada rangkaian. Fail dan folder rangkaian disegerakkan dan konvensyen penamaan digunakan supaya tiada ralat berlaku apabila data diambil.
Caching juga digunakan semasa memanipulasi data. Semua komputer menggunakan ruang nama yang sama untuk menamakan fail. Tetapisistem fail adalah sah untuk setiap komputer. Jika terdapat kemas kini pada fail, ia ditulis pada satu komputer dan perubahan itu disebarkan ke semua komputer, jadi fail kelihatan sama.
Fail dikunci semasa proses baca/tulis, jadi tiada jalan buntu antara komputer yang berbeza. Sesi juga berlaku, seperti membaca, menulis fail dalam satu sesi dan menutup sesi, kemudian pengguna lain boleh melakukan perkara yang sama dan seterusnya.
Faedah menggunakan
Sistem pengendalian yang direka untuk memudahkan kehidupan seharian orang ramai. Untuk faedah dan keperluan pengguna, sistem pengendalian boleh menjadi pengguna tunggal atau diedarkan. Dalam sistem sumber yang diedarkan, banyak komputer disambungkan antara satu sama lain dan berkongsi sumber mereka.
Faedah melakukan ini:
- Jika satu PC dalam sistem sedemikian rosak atau rosak, maka nod atau komputer lain akan menguruskannya.
- Lebih banyak sumber boleh ditambah dengan mudah.
- Sumber seperti pencetak boleh menyediakan berbilang komputer.
Ini adalah ringkasan tentang sistem pengedaran, mengapa ia digunakan. Beberapa perkara penting untuk diingat: ia adalah kompleks dan dipilih untuk skala dan harga serta lebih sukar untuk digunakan. Sistem ini diedarkan dalam beberapa kategori storan: pengkomputeran, fail dan sistem pemesejan, daftar, aplikasi. Dan semua ini hanya sangat cetek tentang sistem maklumat yang kompleks.