Rumah  >  Artikel  >  Java  >  Apakah kaedah reka bentuk keseluruhan seni bina java Dubbo?

Apakah kaedah reka bentuk keseluruhan seni bina java Dubbo?

WBOY
WBOYke hadapan
2023-04-27 21:52:051324semak imbas

    1. Penerangan perhubungan panggilan Dubbo

    java Dubbo架构整体设计方法是什么

    1.1 Komponen

    Ini Dia terutamanya terdiri daripada empat bahagian:

    ● Pembekal: penyedia perkhidmatan yang mendedahkan perkhidmatan
    Protokol: bertanggungjawab untuk data interaksi protokol antara pembekal dan pengguna
    Perkhidmatan: perniagaan sebenar perkhidmatan Maklumat boleh difahami sebagai antara muka dan pelaksanaan
    Bekas: Persekitaran operasi Dubbo
    ● Pengguna: pengguna perkhidmatan yang memanggil perkhidmatan jauh
    Protokol: bertanggungjawab untuk data interaksi protokol antara pembekal dan pengguna
    Kluster: Memahami maklumat senarai di bahagian penyedia
    Proksi: Ia boleh difahami sebagai proksi panggilan perkhidmatan penyedia, yang mengambil alih logik panggilan antara muka dalam Pengguna
    ● Daftar: Pusat pendaftaran, digunakan untuk penemuan perkhidmatan dan konfigurasi penghalaan, dsb. Kerja, pembekal dan pengguna akan didaftarkan di sini
    ● Monitor: digunakan untuk statistik data mengenai pembekal dan pengguna, seperti kekerapan panggilan, bilangan kejayaan dan kegagalan, dsb.

    1.2 Mula dan Perihalan Proses Pelaksanaan

    ● Bahagian penyedia dimulakan, dan kontena bertanggungjawab untuk memuatkan maklumat Perkhidmatan dan mendaftarkannya ke pusat pendaftaran melalui Protokol
    ● Bahagian pengguna dimulakan, mengesan penyedia maklumat dengan mendengar senarai pembekal, dan Apabila pembekal bertukar, pengguna akan dimaklumkan dengan segera melalui pusat pendaftaran
    ● Pengguna memulakan permintaan melalui modul Proksi
    ● Pengguna menggunakan modul Kluster untuk memilih pembekal sebenar untuk dipanggil;
    ● Pengguna Gunakan Protokol dalam Pengguna untuk menghantar maklumat kepada pembekal
    ● Pembekal memproses maklumat pengguna melalui modul Protokol
    ● Akhirnya, Perkhidmatan pembekal mengendalikan pemprosesan

    2. Pautan panggilan keseluruhan

    java Dubbo架构整体设计方法是什么

    Penerangan: Hijau muda mewakili skop pengeluar perkhidmatan, biru muda mewakili skop pengguna perkhidmatan dan merah anak panah mewakili arah panggilan: lapisan logik perniagaan-> ; lapisan RPC (panggilan prosedur jauh) ->

    ● Pengguna membuat panggilan kaedah melalui Antara Muka, bersatu Ia diserahkan kepada Proksi di sebelah pengguna, dan objek proksi dicipta melalui ProxyFactory Teknologi javassist jdk digunakan di sini● dan diserahkan kepada modul Penapis untuk membuat permintaan penapisan bersatu● Seterusnya ialah logik panggilan Invoker yang paling penting

    ○ Baca maklumat daripada konfigurasi melalui Direktori, dan akhirnya dapatkan semua Invoker melalui kaedah senarai

    ○ Melalui Modul kluster, pilih senarai Invoker mengikut peraturan penghalaan khusus yang dipilih
    ○ Melalui modul LoadBalance, mengikut strategi pengimbangan beban Pilih Invoker tertentu untuk mengendalikan permintaan
    ○ Jika ralat berlaku semasa pelaksanaan dan percubaan semula mekanisme dikonfigurasikan dalam peringkat Pengguna, pelaksanaan akan dicuba semula
    ● Teruskan menggunakan Penapis untuk merangkum fungsi pelaksanaan sebelum dan selepas, dan Invoker memilih khusus Laksana protokol
    ● Pelanggan melakukan pengekodan dan siri , dan kemudian menghantar data
    ● Jangkau lapisan Pelayan dalam Pembekal untuk menyahkod dan menyerikan data yang diterima
    ● Gunakan Pengeksport untuk memilih pelaksana
    ● Biarkan Penapis melakukan penapisan sisi pembekal dan sampai ke pelaksana Invoker
    ● Panggil pelaksanaan khusus antara muka melalui Invoker, dan kemudian kembalikan hasilnya

    3. Reka bentuk keseluruhan Dubbo

    Legenda: java Dubbo架构整体设计方法是什么

    ● Latar belakang biru muda di sebelah kiri dalam rajah ialah antara muka yang digunakan oleh pengguna perkhidmatan, dan latar belakang hijau muda di sebelah kanan ialah antara muka yang digunakan oleh antara muka yang terletak di paksi pusat digunakan oleh kedua-dua pihak. ● Angka itu dibahagikan kepada sepuluh lapisan dari atas ke bawah Setiap lapisan mempunyai kebergantungan sehala Anak panah hitam di sebelah kanan mewakili hubungan ketergantungan antara lapisan yang mana lapisan Service dan Config ialah API, dan semua lapisan lain ialah SPI● Blok hijau dalam gambar ialah antara muka sambungan dan blok biru ialah kelas pelaksanaan Gambar hanya menunjukkan kelas pelaksanaan yang digunakan untuk mengaitkan setiap lapisan

    ● Blok biru dalam gambar ialah Garis putus-putus ialah proses permulaan, iaitu, rantai pemasangan pada permulaan Garis merah pepejal ialah proses panggilan kaedah, iaitu, rantai panggilan masa jalan ialah warisan. Subkelas boleh dianggap sebagai nod yang sama dengan kelas induk.


    Reka bentuk keseluruhan kod sumber Dubbo sangat serupa dengan pautan panggilan. Walau bagaimanapun, di sini anda boleh melihat beberapa pelaksanaan khusus antara muka dan bahagian hierarki yang lebih terperinci di sebelah kiri Kami juga akan menumpukan pada pelaksanaan modul yang lebih penting dalam analisis kod sumber berikutnya.

    Berikut ialah pengenalan berlapis

    1. Lapisan logik perniagaan
    ● Lapisan perniagaan perkhidmatan: termasuk kod perniagaan seperti antara muka dan kelas pelaksanaan
    2 Lapisan RPC: lapisan panggilan prosedur jauh
    ● lapisan konfigurasi konfigurasi, yang menyediakan konfigurasi kepada dunia luar. ServiceConfig dan ReferenceConfig ialah teras, yang boleh memulakan kelas konfigurasi secara langsung atau menghuraikan fail konfigurasi
    ● Lapisan ejen perkhidmatan proksi, sama ada pengeluar atau pengguna, rangka kerja itu akan menghasilkan keseluruhan kelas proksi proses adalah telus ke lapisan atas, dan lapisan perniagaan Panggilan jauh tidak sensitif
    ● Daftar lapisan pusat pendaftaran, yang merangkumi pendaftaran dan penemuan alamat perkhidmatan, berpusat pada URL perkhidmatan
    ● Lapisan penghalaan kelompok ( lapisan toleransi kesalahan kelompok), menyediakan penghalaan dan beban untuk berbilang penyedia Seimbang, dan ia merapatkan pusat pendaftaran dengan Invoker sebagai pusat
    ● Pantau lapisan pemantauan, maklumat berkaitan panggilan RPC, seperti bilangan panggilan, situasi kegagalan, masa panggilan dan statistik lain akan dilengkapkan dalam lapisan ini
    ● Protokol jauh Lapisan panggilan, yang merangkum panggilan RPC, sama ada pendedahan perkhidmatan atau rujukan perkhidmatan, bertanggungjawab untuk keseluruhan kitaran hayat Invoker sebagai pintu masuk fungsi utama dalam Protokol. Semua model dalam Dubbo bergerak lebih dekat kepada Invoker
    3. Lapisan Rmoting: Lapisan penghantaran data jauh
    ● Lapisan pertukaran maklumat bertukar, merangkum mod permintaan dan tindak balas, menukar permintaan daripada segerak kepada tak segerak
    ● Pengangkutan lapisan penghantaran rangkaian, menyatukan antara muka penghantaran rangkaian, seperti Netty dan mina disatukan ke dalam satu rangkaian Antara muka penghantaran
    ● Mensiri lapisan pensirilan data, bertanggungjawab untuk mengurus pensirilan dan penyahsirilan penghantaran data dalam keseluruhan rangka kerja

    Atas ialah kandungan terperinci Apakah kaedah reka bentuk keseluruhan seni bina java Dubbo?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan:
    Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam