Pelatihan
Modul
Pengantar untuk Orleans - Training
Pelajari apa itu kerangka kerja Orleans, manfaat yang dapat diberikannya, serta cara mengintegrasikannya dengan aplikasi Anda.
Browser ini sudah tidak didukung.
Mutakhirkan ke Microsoft Edge untuk memanfaatkan fitur, pembaruan keamanan, dan dukungan teknis terkini.
Manfaat utamanya Orleans adalah:
Model Orleans pemrograman meningkatkan produktivitas programmer ahli dan non-ahli dengan memberikan abstraksi utama, jaminan, dan layanan sistem berikut.
Biji-bijian adalah kelas .NET yang mengimplementasikan antarmuka butir .NET yang dideklarasikan dengan metode asinkron. Biji-bijian muncul ke programmer sebagai objek jarak jauh yang metodenya dapat langsung dipanggil. Ini memberi programmer paradigma OOP yang akrab dengan mengubah panggilan metode menjadi pesan, merutekannya ke titik akhir yang tepat, memanggil metode butir target, dan menangani kegagalan dan kasus sudut secara transparan.
Runtime menjamin bahwa biji-bijian tidak pernah dijalankan pada lebih dari satu utas pada satu waktu. Dikombinasikan dengan isolasi dari biji-bijian lain, programmer tidak pernah menghadapi konkurensi pada tingkat biji-bijian, dan tidak perlu menggunakan kunci atau mekanisme sinkronisasi lainnya untuk mengontrol akses ke data bersama. Fitur ini saja membuat pengembangan aplikasi terdistribusi dapat dilacak untuk programmer non-ahli.
Runtime mengaktifkan biji-bijian hanya ketika ada pesan untuk diproses. Ini dengan bersih memisahkan gagasan membuat referensi ke biji-bijian, yang terlihat dan dikendalikan oleh kode aplikasi, dan aktivasi fisik biji-bijian dalam memori, yang transparan untuk aplikasi. Ini mirip dengan memori virtual karena memutuskan kapan harus "page out" (menonaktifkan) atau "page in" (mengaktifkan) biji-bijian; Aplikasi ini memiliki akses tanpa gangguan ke "ruang memori" penuh dari biji-bijian yang dibuat secara logis, apakah mereka berada dalam memori fisik pada titik waktu tertentu atau tidak.
Aktivasi transparan memungkinkan penyeimbangan beban adaptif yang dinamis melalui penempatan dan migrasi biji-bijian di seluruh kumpulan sumber daya perangkat keras. Fitur ini adalah peningkatan signifikan pada model aktor tradisional, di mana masa pakai aktor dikelola aplikasi.
Referensi biji-bijian (objek proksi) yang digunakan programmer untuk memanggil metode biji-bijian atau meneruskan ke komponen lain hanya berisi identitas logis biji-bijian. Terjemahan identitas logis biji-bijian ke lokasi fisiknya dan perutean pesan yang sesuai dilakukan secara transparan oleh Orleans runtime.
Kode aplikasi berkomunikasi dengan biji-bijian sambil tetap tidak sadar ke lokasi fisik mereka, yang dapat berubah dari waktu ke waktu karena kegagalan atau manajemen sumber daya atau karena biji-bijian dinonaktifkan pada saat dipanggil.
Orleans memungkinkan pemetaan deklaratif status dalam memori biji-bijian ke penyimpanan persisten. Ini menyinkronkan pembaruan, secara transparan menjamin bahwa penelepon menerima hasil hanya setelah status persisten berhasil diperbarui. Memperluas dan/atau menyesuaikan kumpulan penyedia penyimpanan persisten yang ada yang tersedia sangat mudah.
Runtime secara otomatis menyebarkan kesalahan yang tidak tertangani ke atas rantai panggilan dengan semantik percobaan/tangkapan asinkron dan terdistribusi. Akibatnya, kesalahan tidak hilang dalam aplikasi. Ini memungkinkan programmer untuk menempatkan logika penanganan kesalahan di tempat yang sesuai, tanpa pekerjaan yang membosankan menyebarkan kesalahan secara manual di setiap tingkat.
Model Orleans pemrograman dirancang untuk memandu programmer menurunkan jalur kemungkinan keberhasilan dalam menskalakan aplikasi atau layanan melalui beberapa urutan besaran. Ini dilakukan dengan menggabungkan praktik dan pola terbaik yang terbukti dan dengan memberikan implementasi fungsionalitas sistem tingkat bawah yang efisien.
Berikut adalah beberapa faktor utama yang memungkinkan skalabilitas dan performa:
Dengan menggunakan biji-bijian sebagai entitas yang dapat diatasi secara langsung, programmer secara implisit memecah status keseluruhan aplikasi mereka. Orleans Meskipun model pemrograman tidak meresepkan seberapa besar atau kecil biji-bijian, dalam kebanyakan kasus masuk akal untuk memiliki sejumlah besar biji-bijian - jutaan atau lebih - dengan masing-masing mewakili entitas alami aplikasi, seperti akun pengguna atau pesanan pembelian.
Dengan biji-bijian yang dapat diatasi secara individual dan lokasi fisik mereka diabstraksi oleh runtime, Orleans memiliki fleksibilitas besar dalam menyeimbangkan beban dan berurusan dengan hot spot secara transparan dan generis tanpa pemikiran dari pengembang aplikasi.
Biji-bijian tidak mengasumsikan lokalitas biji-bijian lain saat berinteraksi dengan mereka. Karena transparansi lokasi ini, runtime dapat mengelola dan menyesuaikan alokasi sumber daya perangkat keras yang tersedia secara dinamis. Runtime melakukan ini dengan membuat keputusan yang halus tentang penempatan dan migrasi biji-bijian di seluruh kluster komputasi sebagai reaksi terhadap pola beban dan komunikasi—tanpa gagal permintaan masuk. Dengan membuat beberapa replika biji-bijian tertentu, runtime dapat meningkatkan throughput biji-bijian tanpa membuat perubahan apa pun pada kode aplikasi.
Biji-bijian di memiliki titik akhir logis, dan olahpesan di Orleans antaranya adalah multipleks di sekumpulan koneksi fisik all-to-all tetap (soket TCP). Ini memungkinkan runtime untuk menghosting jutaan entitas yang dapat diatasi dengan overhead OS rendah per butir. Selain itu, aktivasi dan penonaktifan butiran tidak dikenakan biaya mendaftar/membatalkan pendaftaran titik akhir fisik, seperti port TCP atau URL HTTP atau bahkan menutup koneksi TCP.
Runtime menjadwalkan eksekusi sejumlah besar biji-bijian berulir tunggal menggunakan .NET Thread Pool, yang sangat dioptimalkan untuk performa. Dengan kode biji-bijian yang ditulis dalam gaya berbasis non-pemblokiran dan kelanjutan (persyaratan model pemrograman Orleans ), kode aplikasi berjalan dengan cara multi-utas "kooperatif" yang sangat efisien tanpa ketidakcocokan. Ini memungkinkan sistem untuk mencapai throughput tinggi dan berjalan pada pemanfaatan CPU yang sangat tinggi (hingga 90%+) dengan stabilitas yang hebat.
Fakta bahwa pertumbuhan jumlah biji-bijian dalam sistem dan peningkatan beban tidak menyebabkan utas tambahan atau primitif OS lainnya membantu skalabilitas simpul individu dan seluruh sistem.
Model Orleans pemrograman membuat sifat asinkron dari aplikasi terdistribusi eksplisit dan memandu programmer untuk menulis kode asinkron yang tidak memblokir. Dikombinasikan dengan olahpesan asinkron dan penjadwalan yang efisien, ini memungkinkan tingkat paralelisme terdistribusi yang besar dan throughput keseluruhan tanpa penggunaan multi-utas secara eksplisit.
Umpan balik .NET
.NET adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik:
Pelatihan
Modul
Pengantar untuk Orleans - Training
Pelajari apa itu kerangka kerja Orleans, manfaat yang dapat diberikannya, serta cara mengintegrasikannya dengan aplikasi Anda.