Kuliah tambahan dari kursus "Merancang Sistem Sangat Dimuat" (musim gugur 2018) di Technopolis

gambar

Kami terus menerbitkan kuliah pada kursus "Merancang Sistem Bermuatan Tinggi", yang diajarkan kepada mahasiswa Universitas Politeknik St. Petersburg oleh tim insinyur Odnoklassniki sebagai bagian dari program dua tahun "Pengembang Java Aplikasi Sangat Dimuat" dari proyek Technopolis (proyek bersama Mail.Ru Group dan SPbPU). Pada 2017, 10 kuliah (30 jam video) dibaca dan diunggah, tetapi topik Highload sangat luas sehingga tidak mungkin mencakup semuanya dalam satu semester. Kami hanya sebentar terjun ke aspek utama dari pengembangan Highload, yang masing-masing layak kursus terpisah. Tahun ini, kami terus menutup bintik-bintik putih dan menyajikan kepada Anda serangkaian enam ceramah tentang topik-topik baru: kami mulai dengan komputasi paralel dan livecoding tahap pertama proyek kursus siswa, setelah itu kami menyelami alat pemantauan dan diagnostik JVM, dan kemudian beralih ke masalah toleransi kesalahan. Dan setelah kuliah tentang algoritma canggih yang relevan dalam proyek-proyek yang sangat dimuat, kami mengakhiri siklus dengan kuliah tentang pendekatan yang ada untuk replikasi dan penerapannya untuk berbagai tugas.

Sepuluh kuliah pertama .

Daftar kuliah baru:

  1. Model Aktor. Masa depan Aliran Reaktif (Vadim Tsesko incubos )
  2. Livecoding tahap kedua proyek (Vadim Tsesko incubos )
  3. Pemantauan dan diagnostik JVM (Andrey Pangin apangin )
  4. Rekayasa Keandalan Situs (Anton Ivanov keyplayer )
  5. Struktur data "modern" (Dmitry Shchitinin dormidoncheg )
  6. Replikasi (Dmitry Shchitinin dormidoncheg )


Kuliah 11. Model Aktor. Masa depan Aliran Reaktif (Vadim Tsesko incubos )



Presentasi
Video di saluran Technostream

Kuliah membahas pendekatan modern untuk organisasi komputasi paralel, yang mendapatkan popularitas baru-baru ini: Model Aktor berdasarkan transmisi pesan dalam implementasi Akka; Abstrak Masa Depan / Janji, kombinator dan callback untuk mengatur pemrosesan data asinkron selama IO; dan juga mengungkapkan esensi Reactive Streams untuk streaming pemrosesan data dengan tekanan balik. Banyak contoh penggunaan pendekatan dalam sistem yang ada disediakan, serta tautan untuk studi independen.

Kuliah 12. Livecoding tahap kedua proyek (Vadim Tsesko incubos )



Proyek kursus
Video di saluran Technostream

Livecoding adalah solusi proyek dasar yang diharapkan dapat diselesaikan siswa Technopolis tahun ini. Mirip dengan pelajaran pertama, dengan satu-satunya perbedaan mendasar: kali ini kami beralih ke server web berkinerja tinggi dari one-nio. Juga kali ini kami merekam video dengan demonstrasi implementasi komponen yang lebih rinci.

Kuliah 13. Pemantauan dan diagnostik JVM (Andrey Pangin apangin )



Presentasi
Video di saluran Technostream

Kuliah ini memperkenalkan alat untuk memantau aplikasi Java dan menganalisis masalah umum: kebuntuan, kebocoran memori, hambatan kinerja. Kami mempertimbangkan kedua utilitas standar dari JDK dan perangkat lunak pihak ketiga yang populer, dan menganalisis kemampuan profiler Java. Ini menunjukkan bagaimana JMX, JVM TI dan antarmuka lainnya membantu dalam pengembangan alat pemantauan dan diagnostik mereka sendiri.

Kuliah 14. Rekayasa Keandalan Situs (Anton Ivanov keyplayer )



Presentasi
Video di saluran Technostream

Ceramah ini mencakup dasar-dasar penulisan kode toleransi kesalahan. Kesalahan umum dianalisis, yang dalam praktiknya menyebabkan jatuhnya sistem yang sangat dimuat. Bagian pertama membahas masalah-masalah yang muncul di tingkat layanan: sumber daya sumber daya, kelebihannya, mulai lambat dan shutdown anggun. Pada bagian kedua, kita beralih ke tingkat interaksi antar-layanan, membahas secara rinci jenis waktu tunggu, teknik penyeimbang, dan masalah pelatihan ulang. Bagian terakhir membahas pemantauan dan respons insiden.

Kuliah 15. Struktur data "Modern" (Dmitry Shchitinin dormidoncheg )



Presentasi
Video di saluran Technostream

Kuliah ini dikhususkan untuk struktur data, yang, sebagai aturan, tidak dipertimbangkan dalam kursus klasik, tetapi diterapkan secara efektif dalam praktiknya dalam sistem terdistribusi yang sangat sarat. Seringkali ini adalah struktur data probabilistik, kompak dan cepat, tetapi memberikan hasil perkiraan. Jadi, misalnya, menggunakan HyperLogLog Anda dapat memperkirakan jumlah elemen yang berbeda dalam dataset dari miliaran elemen, menghabiskan tidak lebih dari satu kilobyte untuk itu, dan hasilnya akan berbeda dari yang tepat hanya dengan beberapa persen. Bagian terpisah dikhususkan untuk pendekatan penghitungan kuantil, kekuatan dan kelemahannya dipertimbangkan.

Kuliah 16. Replikasi (Dmitry Shchitinin dormidoncheg )



Presentasi
Video di saluran Technostream

Replikasi bersama dengan sharding adalah jantung dari sistem terdistribusi toleransi kesalahan yang sangat dimuat. Replikasi dengan pemimpin tunggal yang berdedikasi banyak digunakan dalam RDBMS klasik. Konfigurasi dengan beberapa pemimpin terkemuka dapat terjadi dengan sistem yang beroperasi di beberapa DC, dan juga muncul dalam tugas pengeditan kolaboratif. Replikasi tanpa pemimpin yang berdedikasi terletak di jantung basis data NoSQL seperti Cassandra, Voldemort, Riak, dll. Kuliah ini membahas setiap pendekatan, ruang lingkup, kekuatan dan kelemahan, serta detail implementasi utama.



Daftar putar semua kuliah ada di tautan , juga di Youtube .

Proyek kursus ada di sini .
Berbagai solusi dapat ditemukan di antara permintaan tarik tertutup .

Siaran dan rekaman video dari kursus lain dari proyek Technopolis dapat ditemukan di kelompok resmi proyek di OK .

Kami juga mengingatkan Anda bahwa saluran Technostream memiliki kuliah dan kelas master terkini tentang pemrograman dan analisis data dari spesialis TI dari semua proyek pendidikan Mail.Ru Group - Technoatom, Technopark, Technopolis, Technopolis, Technosphere dan Technotrek.

Source: https://habr.com/ru/post/id437858/


All Articles