Rumah  >  Artikel  >  pangkalan data  >  Apakah prinsip teras seni bina teknikal laman web berskala besar mysql?

Apakah prinsip teras seni bina teknikal laman web berskala besar mysql?

PHPz
PHPzke hadapan
2023-05-27 13:54:231069semak imbas

1. Evolusi seni bina laman web berskala besar

A. Ketersediaan data yang tinggi; seni bina laman web skala

1 Peringkat permulaan: satu pelayan, LNMP

2 cache data); pelayan fail (cakera keras besar) ;3 Gunakan cache untuk meningkatkan prestasi tapak web: cache tempatan dicache pada pelayan aplikasi (kelajuan akses pantas, terhad oleh memori pelayan aplikasi, volum data terhad), cache teragih jauh (gunakan kluster untuk menggunakan memori yang besar) Pelayan bertindak sebagai pelayan cache khusus)

4 Kluster pelayan aplikasi: dijadualkan melalui pengimbangan beban

5 🎜>

6. Gunakan proksi terbalik dan pecutan CDN : CDN (digunakan dalam bilik komputer rangkaian terdekat), proksi terbalik (digunakan dalam bilik komputer pusat)

7 sistem

8. Gunakan NoSQL dan Enjin carian

9 Perpecahan perniagaan

10 Perkhidmatan yang diedarkan

C evolusi seni bina laman web yang besar

1 .Nilai teras teknologi seni bina laman web berskala besar adalah untuk bertindak balas secara fleksibel kepada keperluan tapak web

2 teknologi laman web berskala besar ialah pembangunan perniagaan tapak web

D Salah Faham

1 🎜>2. Teknologi demi teknologi

3 Berusaha menggunakan teknologi untuk menyelesaikan semua masalah: Teknologi digunakan Selesaikan masalah perniagaan, dan masalah perniagaan juga boleh diselesaikan melalui cara perniagaan

2. Corak seni bina laman web berskala besar

Setiap corak menggambarkan masalah berulang A yang berterusan dan teras penyelesaian untuk masalah itu. Dengan cara ini, anda boleh menggunakan penyelesaian itu berulang kali tanpa perlu menduplikasi kerja. Kunci kepada corak ialah kebolehulangan corak.

A. Corak seni bina laman web

1 Layering

Layering: adalah yang paling biasa dalam sistem aplikasi perusahaan Sebuah seni bina. model yang membahagikan sistem kepada beberapa bahagian dalam dimensi mendatar Setiap bahagian bertanggungjawab untuk tanggungjawab yang agak tunggal, dan kemudian membentuk sistem yang lengkap melalui pergantungan dan panggilan lapisan atas pada lapisan bawah.

Sistem perisian tapak web dibahagikan kepada lapisan aplikasi (lapisan paparan, lapisan logik perniagaan), lapisan perkhidmatan (lapisan antara muka data, lapisan pemprosesan logik), dan lapisan data


  • boleh membahagikan sistem perisian yang besar kepada bahagian yang berbeza untuk memudahkan pembahagian kerja dan pembangunan dan penyelenggaraan koperasi terdapat tahap kebebasan tertentu antara setiap lapisan, selagi antara muka panggilan kekal tidak berubah, setiap lapisan boleh memperdalam pembangunan secara bebas mengikut isu tertentu tanpa memerlukan lapisan lain untuk membuat pelarasan yang sepadan.


  • 2. Bahagikan

  • Potong secara menegak. Asingkan fungsi dan perkhidmatan yang berbeza dan bungkusnya ke dalam unit modular dengan kohesi tinggi dan gandingan rendah. Butiran pembahagian untuk tapak web yang besar boleh menjadi sangat kecil.

3 Diedarkan

  • bermaksud modul yang berbeza digunakan pada pelayan yang berbeza dan berfungsi bersama melalui panggilan jauh. Ini bermakna lebih banyak komputer boleh digunakan untuk melengkapkan fungsi yang sama.

Masalah: Rangkaian mungkin mempunyai kesan yang serius terhadap prestasi; Ini menjadikan tapak web bergantung kepada pembangunan, pemprosesan dan penyelenggaraan yang kompleks menjadi sukar


  • Penyelesaian yang diedarkan: aplikasi dan perkhidmatan yang diedarkan dan storan yang diedarkan; Hadoop dan konfigurasi MapReducenya; menggunakan aplikasi yang sama untuk membentuk kluster, dan bersama-sama menyediakan perkhidmatan luaran melalui peralatan pengimbangan beban.


  • 5. Caching

  • Caching ialah untuk menyimpan beberapa data di lokasi yang paling hampir dengan pengiraan untuk mempercepatkan pemprosesan.

CDN, proksi terbalik, cache setempat, cache teragih.


  • Terdapat dua prasyarat untuk menggunakan cache: satu ialah hotspot akses data tidak seimbang;

6. Asynchronous

  • Mesej yang dihantar antara perniagaan bukanlah panggilan segerak, tetapi operasi perniagaan dibahagikan kepada beberapa peringkat dan setiap peringkat dikongsi melalui Data dilaksanakan secara tak segerak untuk bekerjasama.

  • Satu pelayan boleh mencapai pelaksanaan tak segerak melalui baris gilir memori berbilang benang dalam sistem teragih, berbilang kluster pelayan boleh mencapai pelaksanaan tak segerak melalui baris gilir mesej.

  • Dalam model pengeluar-pengguna yang tipikal, tiada hubungan panggilan langsung antara pengeluar dan pengguna Ciri model ini ialah ia boleh meningkatkan ketersediaan sistem. , mempercepatkan kelajuan tindak balas tapak web dan menghapuskan puncak akses serentak.

  • Menggunakan kaedah tak segerak untuk memproses perniagaan mungkin mempunyai kesan pada pengalaman pengguna dan proses perniagaan, dan memerlukan sokongan reka bentuk produk.

7 Redundansi

  • Untuk memastikan tapak web masih boleh terus disiarkan apabila pelayan terputus tanpa kehilangan data , a. tahap tertentu operasi redundansi pelayan dan sandaran redundansi data diperlukan.

  • Tapak web kecil juga memerlukan sekurang-kurangnya dua pelayan untuk membina kelompok Selain sandaran dan storan biasa untuk mencapai sandaran sejuk, pangkalan data juga perlu melakukan perkongsian tuan-hamba , penyegerakan masa nyata dan sandaran panas.

  • Syarikat besar boleh menyandarkan keseluruhan pusat data dan menyegerakkannya ke pusat pemulihan bencana tempatan.

8 Automasi

  • Terutamanya menumpukan pada operasi dan penyelenggaraan pelepasan.

  • Automasi proses keluaran: pengurusan kod automatik, ujian automatik, pengesanan keselamatan automatik, penggunaan automatik.

  • Pemantauan automatik: penggera automatik, failover automatik, pemulihan kegagalan automatik, degradasi automatik, peruntukan sumber automatik.

9 Keselamatan

B. elemen seni bina teras laman web yang besar

Seni bina: peringkat tertinggi perancangan, keputusan yang sukar diubah. Seni bina perisian: Penerangan abstrak tentang keseluruhan struktur dan komponen perisian, digunakan untuk membimbing reka bentuk semua aspek sistem perisian yang besar.

A. Prestasi

Sisi penyemak imbas: cache penyemak imbas, pemampatan halaman, reka letak yang munasabah, pengurangan penghantaran kuki, CDN, dll.


  • Sebelah pelayan aplikasi: cache setempat pelayan, cache teragih, operasi tak segerak dan kerjasama baris gilir mesej, pengelompokan, dsb.


  • Kod: Berbilang benang, pengurusan memori yang dipertingkatkan, dsb.


  • Pangkalan data: pengindeksan, caching, pengoptimuman SQL, teknologi NoSQL


  • B. Ketersediaan

Cara utama persekitaran pengendalian seperti pelayan, pangkalan data dan storan fail ialah redundansi.


  • Melalui pengesahan prakeluaran, ujian automatik, keluaran automatik, keluaran skala kelabu dan cara lain semasa pembangunan perisian


  • C. Skalabiliti

Skalabiliti merujuk kepada mengurangkan tekanan yang semakin meningkat bagi akses pengguna serentak dan permintaan yang semakin meningkat untuk storan data dengan menambah pelayan secara berterusan. Sama ada menambah pelayan baharu boleh menyediakan perkhidmatan yang sama seperti pelayan asal.


  • Pelayan aplikasi: Pelayan boleh ditambah secara berterusan pada kluster melalui peralatan pengimbangan beban yang sesuai.


  • Pelayan cache: Menambah yang baharu boleh menyebabkan penghalaan cache menjadi tidak sah. Algoritma penghalaan diperlukan.


  • Pangkalan data perhubungan: melalui pembahagian penghalaan dan cara lain.


  • D. Kebolehskalaan

Standard pengukuran: Apabila tapak web menambah produk perniagaan, sama ada ia boleh mencapai Produk sedia ada adalah telus dan tidak mempunyai impak; adakah terdapat beberapa gandingan antara produk yang berbeza (menggabungkan perniagaan dan tersedia? Perkongsian perkhidmatan, dipanggil melalui rangka kerja perkhidmatan teragih)


  • E. Keselamatan

  • 4. Maklum balas segera: tapak web Tinggi- seni bina prestasi

Ujian prestasi tapak web

1. Perspektif berbeza

Laman web dari perspektif pengguna: Optimumkan gaya HTML halaman, manfaatkan ciri konkurensi dan tak segerak penyemak imbas, laraskan strategi caching penyemak imbas, gunakan perkhidmatan CDN, proksi refleksi, dsb.

Prestasi tapak web dari perspektif pembangun: menggunakan cache untuk mempercepatkan pembacaan data, menggunakan kluster untuk meningkatkan daya pemprosesan, menggunakan mesej tak segerak untuk mempercepatkan respons permintaan dan mencapai pengurangan puncak, dan menggunakan kaedah pengoptimuman kod Meningkatkan prestasi program.


  • Prestasi tapak web dari perspektif kakitangan operasi dan penyelenggaraan: membina dan mengoptimumkan rangkaian tulang belakang, menggunakan pelayan tersuai yang menjimatkan kos, menggunakan teknologi virtualisasi untuk mengoptimumkan penggunaan sumber, dsb.


  • 2. Penunjuk ujian prestasi

  • Masa tindak balas: Kaedah ujian adalah untuk mengulangi permintaan dan membahagikan jumlah masa 10,000 ujian Ambil sepuluh ribu.

Nombor konkurensi: bilangan permintaan yang boleh dikendalikan oleh sistem pada masa yang sama (bilangan pengguna sistem tapak web>>bilangan pengguna dalam talian laman web>>bilangan pengguna tapak web serentak), program ujian Uji keupayaan pemprosesan serentak sistem dengan mensimulasikan pengguna serentak melalui berbilang rangkaian.


  • Troughput: bilangan permintaan yang diproses oleh sistem setiap unit masa (TPS, HPS, QPS, dll.)


  • Kaunter Prestasi: Beberapa kayu bedik data yang menerangkan prestasi pelayan atau sistem pengendalian. Versi ayat ini yang ditulis semula ialah: Ini melibatkan beban sistem, bilangan objek dan benang, penggunaan memori, penggunaan CPU dan cakera dan I/O rangkaian.


  • 3 Kaedah ujian prestasi: ujian prestasi, ujian beban, ujian tekanan, ujian kestabilan

    Ujian prestasi dilakukan untuk menambah beban pada sistem secara berterusan untuk mendapatkan penunjuk prestasi sistem, kapasiti beban maksimum dan toleransi tekanan maksimum. Apa yang dipanggil peningkatan tekanan akses bermakna terus meningkatkan bilangan permintaan serentak untuk program ujian.

    5. Strategi pengoptimuman prestasi

    • Analisis prestasi: Semak log setiap pautan pemprosesan permintaan, analisis masa tindak balas pautan mana yang tidak munasabah dan melebihi jangkaan; data pemantauan.

    B.Pengoptimuman prestasi bahagian hadapan web

    1. imej ), gunakan cache penyemak imbas (Cache-Control dan Tamat Tempoh dalam pengepala HTTP), dayakan pemampatan (Gzip), letakkan CSS di bahagian atas halaman dan JS di bahagian bawah halaman, kurangkan penghantaran kuki

    2.CND acceleration

    3. Reverse proxy: Mempercepatkan permintaan web dengan mengkonfigurasi fungsi cache. (Ia juga boleh melindungi pelayan sebenar dan melaksanakan fungsi pengimbangan beban)

    C.

    1

    Undang-undang pertama pengoptimuman prestasi tapak web: Utamakan penggunaan cache untuk mengoptimumkan prestasi

    • Ia digunakan terutamanya untuk menyimpan data yang mempunyai nisbah baca-tulis yang tinggi dan jarang berubah. Apabila cache tidak dapat dipukul, pangkalan data dibaca dan data ditulis ke cache semula.

    • 2. Penggunaan cache yang munasabah: jangan kerap mengubah suai data, akses tanpa titik panas, ketidakkonsistenan data dan bacaan kotor, ketersediaan cache (siap sedia panas cache), pemanasan cache- up ( Pramuat beberapa cache apabila program bermula), penembusan cache
    3 Seni bina cache teragih: cache teragih (JBoss Cache) yang perlu dikemas kini disegerakkan, cache teragih (Memcached) yang tidak berkomunikasi antara satu sama lain.

    4. Operasi tak segerak: Gunakan baris gilir mesej (yang boleh meningkatkan kebolehskalaan dan prestasi tapak web), yang mempunyai kesan pencukuran puncak yang baik dan menyimpan mesej transaksi yang dijana oleh keselarasan tinggi dalam tempoh masa yang singkat dalam baris gilir mesej.

    5. Gunakan kluster

    6. Pengoptimuman kod:

    Berbilang benang (penyekatan IO dan berbilang CPU, bilangan urutan permulaan = [ masa pelaksanaan tugas /(Masa pelaksanaan tugas-masa menunggu IO)]*Nombor teras CPU, perlu memberi perhatian kepada keselamatan benang: reka bentuk objek sebagai objek tanpa negara, gunakan objek tempatan, gunakan kunci semasa mengakses sumber secara serentak); >
    • Penggunaan semula sumber (kes tunggal dan kumpulan objek);
      Pengumpulan sampah


    • D pengoptimuman prestasi storan
    • 1. dan pokok itu mempunyai tiga tingkat. Ia mungkin mengambil 5 akses cakera untuk mengemas kini rekod.

      2. Begitu banyak produk NoSQL menggunakan pepohon LSM, yang boleh dianggap sebagai pepohon gabungan N-order.
    • 3. RAID (Lebihan Susunan Cakera Murah), RAID0, RAID1, RAID10, RAID5, RAID6, digunakan secara meluas dalam pangkalan data hubungan tradisional dan sistem fail.


      4. HDFS (Sistem Fail Teragih Hadoop), bekerjasama dengan MapReduce untuk pemprosesan data besar.

    5. Foolproof: Seni bina ketersediaan tinggi tapak web

    A. Pengukuran dan penilaian kebolehgunaan laman web

    1 . Pengukuran Ketersediaan Laman Web

    Masa tidak tersedia tapak web (masa henti) = titik masa pembaikan kerosakan - titik masa penemuan (laporan) kesalahan

    Indeks ketersediaan tahunan tapak web = (1-masa tidak tersedia tapak web/jumlah masa tahunan) * 100% Ketersediaan tinggi, 9 jam adalah ketersediaan tinggi dengan keupayaan pemulihan automatik, 53 minit adalah ketersediaan sangat tinggi, kurang daripada 5 minit; QQ ialah 99.99, 4 9s, dan tidak tersedia selama kira-kira 53 minit setahun.

    2. Penilaian kebolehgunaan laman web

    • Skor kesalahan: merujuk kepada kaedah mengelaskan dan menimbang kesalahan tapak web untuk mengira tanggungjawab kesalahan

    • Skor kesalahan = masa kegagalan (minit) * berat kegagalan


    • B 🎜 >

    • Kaedah utama ialah sandaran berlebihan dan kegagalan data dan perkhidmatan. Lapisan aplikasi dan lapisan perkhidmatan menggunakan pengimbangan beban kelompok untuk mencapai ketersediaan tinggi, dan lapisan data menggunakan replikasi segerak data untuk mencapai sandaran berlebihan.

    C Aplikasi yang sangat tersedia
    • 1 Kegagalan perkhidmatan tanpa kewarganegaraan melalui pengimbangan beban: Walaupun akses aplikasi sangat kecil, gunakan sekurang-kurangnya dua pelayan untuk digunakan. mengimbangi membina kelompok kecil.

      2. Pengurusan sesi kluster pelayan aplikasi

    • Replikasi sesi: menyegerakkan sesi antara pelayan, gugusan kecil

    Pengikatan sesi: Gunakan Hash alamat sumber untuk mengedarkan permintaan yang berasal dari IP yang sama ke pelayan yang sama, yang mempunyai kesan ke atas ketersediaan yang tinggi.

    Gunakan kuki untuk merekodkan Sesi: had saiz, setiap respons permintaan perlu dihantar dan jika anda mematikan kuki, anda tidak akan dapat mengakses

    Pelayan sesi: Menggunakan cache teragih, pangkalan data, dll., ketersediaan tinggi, berskala tinggi dan prestasi yang baik


    • D. Perkhidmatan ketersediaan tinggi

    • 1 Pengurusan hierarki: Pelayan adalah berhierarki dalam operasi dan penyelenggaraan yang mengutamakan penggunaan perkakasan yang lebih baik, dan kelajuan tindak balas operasi dan penyelenggaraan juga sangat pantas.

      2. Tetapan tamat masa: Tetapkan tempoh tamat masa untuk panggilan perkhidmatan dalam aplikasi Setelah tamat masa tamat, rangka kerja komunikasi akan mengeluarkan pengecualian perkhidmatan yang sama mengikut dasar penjadualan perkhidmatan pada pelayan lain.

      Aplikasi melengkapkan panggilan ke perkhidmatan melalui kaedah tak segerak seperti baris gilir mesej untuk mengelakkan situasi di mana keseluruhan permintaan aplikasi gagal apabila satu perkhidmatan gagal.

      4. Kemerosotan perkhidmatan: Penafian perkhidmatan, menolak panggilan daripada aplikasi keutamaan rendah atau menolak beberapa panggilan permintaan secara rawak, menutup beberapa perkhidmatan yang tidak penting atau menutup beberapa fungsi yang tidak penting dalam perkhidmatan.

      5. Reka bentuk idempoten: Dalam lapisan perkhidmatan, adalah dijamin bahawa panggilan berulang ke perkhidmatan akan menghasilkan hasil yang sama seperti yang dipanggil sekali, iaitu perkhidmatan itu adalah idempoten.

      E. Data yang sangat tersedia

      1.Prinsip CAP

      • Data yang sangat tersedia: ketekunan data (storan kekal, sandaran salinan tidak akan hilang), kebolehcapaian data (penukaran pantas antara peranti berbeza), ketekalan data (dalam kes berbilang salinan, data salinan dijamin konsisten)

      • Prinsip CAP: Sistem storan yang menyediakan perkhidmatan data tidak boleh pada masa yang sama memenuhi tiga syarat ketekalan data (Ketekalan), ketersediaan data (Ketersediaan) dan toleransi partition (Toleransi Pembahagian (sistem mempunyai kebolehskalaan merentas partition rangkaian)).

      • Lazimnya laman web yang besar akan meningkatkan ketersediaan (A) dan kebolehskalaan (P) sistem yang diedarkan, mengorbankan konsistensi (C) pada tahap tertentu. Secara umumnya, ketidakkonsistenan data biasanya berlaku apabila sistem mempunyai operasi tulis serentak yang tinggi atau status kelompok tidak stabil Sistem aplikasi perlu memahami ketidakkonsistenan data sistem pemprosesan data yang diedarkan dan membuat pampasan dan pembetulan ralat pada tahap tertentu data sistem aplikasi yang salah.

      • Ketekalan data boleh dibahagikan kepada: ketekalan data yang kukuh (semua operasi adalah konsisten), ketekalan pengguna data (salinan mungkin tidak konsisten tetapi ralat diperbetulkan apabila pengguna mengaksesnya) pengesahan menentukan bahawa data yang betul dikembalikan kepada pengguna), dan data itu akhirnya konsisten (salinan dan akses pengguna mungkin tidak konsisten, tetapi sistem mencapai konsistensi selepas tempoh pemulihan dan pembetulan diri)

      2. Sandaran data

      • Sandaran panas tak segerak: Operasi tulis berbilang salinan data diselesaikan secara tidak segerak apabila aplikasi menerima respons yang berjaya daripada data sistem perkhidmatan untuk operasi tulis, ia hanya menulis Jika satu salinan berjaya, sistem storan akan menulis salinan lain secara tak segerak (mungkin gagal)

      • Siaga panas segerak: Operasi penulisan daripada berbilang salinan data dilengkapkan secara serentak, iaitu, aplikasi Apabila program menerima respons kejayaan tulis daripada sistem perkhidmatan data, berbilang salinan data telah berjaya ditulis.

      3 Failover

      • Pengesahan kegagalan: pengesanan degupan jantung, kegagalan akses aplikasi

      • Pemindahan akses: Selepas mengesahkan bahawa pelayan tidak berfungsi, halakan semula akses baca dan tulis data ke pelayan lain

      • Pemulihan data: daripada pelayan yang sihat Salin data dan memulihkan bilangan salinan data kepada nilai yang ditetapkan

      Jaminan kualiti perisian untuk tapak web yang mempunyai ketersediaan tinggi

      1 keluarkan

      2. Ujian automatik: Alat Selenium

      melakukan pengesahan pra-keluaran pada pelayan pra-keluaran Kami akan mula-mula mengeluarkannya ke mesin pra-keluaran untuk digunakan oleh jurutera pembangunan dan jurutera ujian. Konfigurasi, persekitaran, pusat data, dsb. perlu sama dengan persekitaran pengeluaran

      4 Kawalan kod: svn, git pembangunan, keluaran cawangan, keluaran batang; 🎜>

      5. Keluaran automatik

      6. Keluaran skala kelabu: Bahagikan pelayan kluster kepada beberapa bahagian, lepaskan hanya sebahagian daripada pelayan setiap hari, dan perhatikan bahawa operasinya stabil dan tanpa kerosakan masalah ditemui dalam tempoh tersebut, anda hanya perlu melancarkan sebahagian daripada pelayan yang dikeluarkan. Juga biasa digunakan untuk ujian pengguna (pengujian AB).

      G. Pemantauan operasi laman web

      1. Versi penyemak imbas, alamat IP, laluan akses halaman, masa tinggal halaman dan maklumat lain. Termasuk koleksi log sisi pelayan dan koleksi log penyemak imbas sisi klien.

      • Pengumpulan prestasi pelayan: seperti beban sistem, penggunaan memori, IO cakera, rangkaian IO, dll., alatan Ganglia, dsb.

      • Laporan data operasi: seperti kadar pukulan penimbal, purata masa tunda respons, bilangan e-mel yang dihantar seminit, jumlah tugas yang perlu diproses, dsb.

      • 2. Pemantauan dan pengurusan

      Penggera sistem: Tetapkan ambang untuk pelbagai penunjuk pemantauan, gunakan e-mel dan alat pemesejan segera , SMS dan penggera lain

      • Pemindahan gagal: maklumkan secara proaktif kepada aplikasi untuk melakukan failover

      • Turun taraf anggun automatik: berdasarkan pemantauan Parameter menentukan beban aplikasi, nyahpasang pelayan aplikasi beban rendah dengan sewajarnya, dan pasang semula aplikasi beban tinggi untuk mengimbangi beban aplikasi keseluruhan.


      • 6. Tidak Berkesudahan: Seni Bina Kebolehskalaan Laman Web

      Kebolehskalaan yang dipanggil laman web bermakna terdapat tidak perlu menukar laman web Reka bentuk perisian dan perkakasan boleh mengembangkan atau mengecilkan keupayaan pemprosesan perkhidmatan laman web hanya dengan menukar bilangan pelayan yang digunakan.

      A. Reka bentuk kebolehskalaan seni bina laman web

      1 Pemisahan fizikal fungsi yang berbeza untuk mencapai penskalaan: pemisahan menegak (pemisahan selepas pelapisan), memisahkan bahagian proses pemprosesan perniagaan yang berbeza. penggunaan untuk mencapai skalabiliti sistem (pemisahan selepas segmentasi perniagaan), penggunaan berasingan modul perniagaan yang berbeza untuk mencapai skalabiliti sistem.

      2. Satu fungsi boleh diskalakan melalui skala kluster

      B Reka bentuk kebolehskalaan kluster pelayan aplikasi

      1 direka bentuk untuk menjadi Stateful yang lancar, tidak menyimpan maklumat konteks permintaan.

      2. Pengimbangan beban:

      • Pengimbangan beban pengalihan semula HTTP: Kira alamat pelayan Web sebenar berdasarkan permintaan HTTP pengguna dan tulis alamat pelayan Dikembalikan kepada pengguna penyemak imbas dalam respons ubah hala HTTP. Penyelesaian ini mempunyai kelebihannya, tetapi kelemahannya ialah ia memerlukan dua permintaan, dan kuasa pemprosesan pelayan ubah hala itu sendiri mungkin terhad Selain itu, 302 lompatan juga boleh menjejaskan SEO.

      • Pengimbangan beban resolusi nama domain DNS: Konfigurasikan berbilang rekod A pada pelayan DNS untuk menghala ke IP yang berbeza Kelebihannya ialah kerja pengimbangan beban dipindahkan ke DNS. Ramai juga menyokong lokasi geografi Mengembalikan pelayan terdekat. Kelemahannya ialah rekod A mungkin dicache, dan kawalannya terletak pada pembekal perkhidmatan nama domain.

      • Pengimbangan beban proksi reflektif: Alamat yang diminta oleh penyemak imbas ialah pelayan proksi terbalik Selepas pelayan proksi terbalik menerima permintaan, ia mengira pelayan sebenar berdasarkan beban algoritma pengimbangan. Alamat pelayan fizikal dan memajukan permintaan ke pelayan sebenar Selepas pemprosesan selesai, respons dikembalikan kepada pelayan proksi terbalik, dan pelayan proksi terbalik mengembalikan respons kepada pengguna. Juga dipanggil imbangan beban lapisan aplikasi (lapisan HTTP). Penggunaannya mudah, tetapi prestasi proksi terbalik boleh menjadi halangan.

      • Pengimbangan beban IP: Selepas paket data permintaan pengguna mencapai pelayan pengimbangan beban, pelayan pengimbangan beban memperoleh paket data rangkaian dalam proses kernel sistem pengendalian, dan mengira Pelayan web sebenar, dan kemudian mengubah suai alamat IP destinasi data ke pelayan sebenar, tanpa memerlukan pemprosesan oleh proses pengguna. Selepas pelayan sebenar menyelesaikan pemprosesan, paket respons kembali ke pelayan pengimbangan beban, dan pelayan pengimbangan beban mengubah suai alamat sumber paket kepada alamat IPnya sendiri dan menghantarnya ke penyemak imbas pengguna.

      • Pengimbangan beban lapisan pautan data: mod penghantaran segi tiga, alamat IP tidak diubah suai semasa proses pengedaran data pelayan pengimbangan beban, hanya alamat mac destinasi diubah suai, melalui IP maya semua pelayan Alamat adalah konsisten dengan alamat IP pelayan pengimbangan beban Alamat sumber dan alamat destinasi paket data tidak diubah suai Memandangkan IP adalah konsisten, paket data tindak balas boleh dikembalikan terus ke pelayar pengguna. Juga dipanggil penghalaan terus (DR). Mewakili produk LVS (Linux Virtual Server).

      3 Algoritma pengimbangan beban:

      • Round Robin (RR): Semua permintaan diedarkan kepada setiap aplikasi Pada pelayan <.>

      • Weighted Round Robin (WRR): Mengikut prestasi perkakasan pelayan, pengedaran dijalankan mengikut berat yang dikonfigurasikan berdasarkan pengundian


      • Rawak: Permintaan diedarkan secara rawak kepada setiap pelayan aplikasi


      • Sambungan Paling Kurang: Pelayan rekod sedang memproses Bilangan sambungan, edarkan permintaan baharu ke pelayan dengan sambungan paling sedikit


      • Cincangan Sumber: Pengiraan cincang berdasarkan alamat IP sumber permintaan


      C. Reka bentuk kebolehskalaan gugusan cache teragih

      1 Model akses gugusan cache teragih Memcached

      Masukkan modul algoritma penghalaan melalui KEY, dan algoritma penghalaan mengira a. Pelayan memcached untuk membaca dan menulis.

      2. Cabaran kebolehskalaan kluster cache teragih Memcached

      Algoritma penghalaan mudah ialah menggunakan kaedah Hash yang selebihnya: bahagikan nilai Hash data cache KEY dengan bilangan pelayan dan cari baki Nombor pelayan yang sepadan. Tidak berskala dengan baik.

      3.

      Algoritma Hash Konsisten cache yang diedarkan

      Mula-mula bina cincin integer dengan panjang 2 hingga kuasa ke-32 (gelang Hash konsisten), mengikut nod The nilai hash nama meletakkan nod pelayan cache pada gelang cincang ini. Kemudian hitung nilai Hash berdasarkan nilai KEY data yang perlu dicache, dan kemudian cari mengikut arah jam pada gelang Hash untuk nod pelayan cache yang paling hampir dengan nilai Hash KEY untuk melengkapkan carian pemetaan Hash dari KEY ke pelayan.

      D. Reka bentuk kebolehskalaan gugusan pelayan storan data

      1. jadual, pangkalan data, pembahagian data (Cobar)

      2 Reka bentuk kebolehskalaan pangkalan data NoSQL

      NoSQL meninggalkan normalisasi berdasarkan algebra hubungan dan Bahasa Pertanyaan Berstruktur (SQL) Model data juga tidak menjamin transaksional ketekalan (ACID). Ketersediaan tinggi dan skalabiliti dipertingkat. (Apache HBase)

Atas ialah kandungan terperinci Apakah prinsip teras seni bina teknikal laman web berskala besar mysql?. 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