Rumah >pangkalan data >tutorial mysql >Analisis kes teras seni bina teknikal tapak web besar Mysql
7. Atas permintaan: Seni bina laman web yang boleh berskala
Keterluasan: merujuk kepada sistem dengan impak minimum pada sistem sedia ada mengembangkan atau menambah baik fungsi. Ia adalah prinsip pembukaan dan penutupan pada peringkat reka bentuk seni bina sistem Reka bentuk seni bina mengambil kira pengembangan fungsi masa hadapan Apabila fungsi baharu ditambahkan pada sistem, tidak perlu mengubah suai struktur dan kod sistem sedia ada.
Skalabiliti: merujuk kepada keupayaan sistem untuk meningkatkan (mengurangkan) keupayaan pengkomputeran dan pemprosesannya sendiri dengan meningkatkan (mengurangkan) skala sumbernya sendiri.
A. Bina seni bina laman web berskala
1 Nilai terbesar seorang arkitek perisian bukan terletak pada penguasaan banyak teknologi canggih, tetapi pada keupayaan untuk memotong sesuatu. sistem besar menjadi kepingan Keupayaan untuk membahagikannya kepada N sub-modul gandingan rendah ini termasuk modul perniagaan mendatar dan modul teknologi asas menegak.
2. Idea teras ialah pemodulatan Atas dasar ini, gandingan antara modul dikurangkan dan kebolehgunaan semula modul dipertingkatkan.
B. Gunakan baris gilir mesej yang diedarkan untuk mengurangkan gandingan sistem
1. ( Seni Bina Didorong Peristiwa): Dengan menghantar mesej acara antara modul gandingan rendah untuk mengekalkan gandingan modul yang longgar, dan melengkapkan kerjasama antara modul dengan bantuan komunikasi mesej acara, baris gilir mesej yang diedarkan biasanya digunakan.
Baris gilir mesej berfungsi menggunakan model terbitkan-langganan, di mana penghantar mesej menerbitkan mesej dan satu atau lebih penerima mesej melanggan mesej itu.
2 Baris gilir mesej yang diedarkan
Baris gilir ialah struktur masuk dahulu, keluar dahulu dan aplikasi boleh mengakses antara muka dari jauh Gunakan baris gilir mesej yang diedarkan untuk melaksanakan operasi capaian mesej untuk mencapai panggilan tak segerak yang diedarkan.
Aplikasi pengeluar mesej menolak mesej ke pelayan baris gilir mesej melalui antara muka akses jauh Pelayan baris gilir mesej menulis mesej ke baris gilir memori setempat dan segera mengembalikan yang berjaya respons kepada pengeluar mesej yang. Pelayan baris gilir mesej mencari aplikasi pengguna mesej yang melanggan mesej berdasarkan senarai langganan mesej, dan menghantar mesej dalam baris gilir mesej ke program pengguna mesej melalui antara muka komunikasi jauh mengikut keluar dahulu masuk dahulu. prinsip (FIFO).
Baris gilir mesej yang diedarkan boleh menjadi sangat kompleks, contohnya, ia boleh menyokong ESB (Enterprise Service Bus), menyokong SOA (Service Oriented Architecture), atau ia boleh menjadi sangat mudah menggunakan rekod MySQL: Program pengeluar mesej menulis mesej ke dalam pangkalan data sebagai rekod data, dan program pengguna mesej menanyakan pangkalan data dan menyusunnya mengikut cap waktu penulisan rekod, dengan itu merealisasikan baris gilir mesej yang diedarkan secara de facto.
1 membuat panggilan perkhidmatan melalui penerangan antara muka Desert Rose. 2. Masalah dengan sistem Big Mac: kesukaran dalam pengurusan cawangan kod;
Pecahan menegak: Pisahkan aplikasi besar kepada berbilang aplikasi kecilKelemahan : mekanisme pendaftaran dan penemuan yang tidak cekap; cara penggunaan dan penyelenggaraan HTTP yang agak mahal
D. Struktur data boleh diperluas
Manfaatkan reka bentuk ColumnFamily (keluarga lajur) yang digunakan dalam pangkalan data NoSQL.E. Gunakan platform terbuka untuk membina ekosistem tapak web
1 perlu menghadapi bilangan besar pembangun pihak ketiga Atau, kita perlu menghadapi banyak perkhidmatan perniagaan dalam laman web secara dalaman.
2. Seni bina: Antara muka API, penukaran protokol, keselamatan, pengauditan, penghalaan, proses8. Tidak dapat ditembusi: Seni bina keselamatan tapak web
A. Serangan dan pertahanan aplikasi laman web
1.Serangan XSSKaedah serangan adalah untuk mengusik halaman web, menyuntik skrip HTML berniat jahat, dan mengawal penyemak imbas pengguna untuk melakukan operasi berniat jahat apabila pengguna menyemak imbas web.
Satu jenis serangan ialah jenis refleksi Penyerang mendorong pengguna untuk mengklik pada pautan yang dibenamkan dengan skrip berniat jahat untuk mencapai tujuan serangan
Satu lagi jenis serangan ialah serangan XSS yang berterusan skrip disertakan dalam halaman biasa, mencapai tujuan serangan. Ia sering digunakan dalam aplikasi web seperti forum dan blog.
Langkah pencegahan termasuk membasmi kuman dan menapis aksara berbahaya, sambil melarang halaman JS daripada mengakses kuki dengan atribut HttpOnly
2 >
6 Pengimbasan kerentanan keselamatan tapak web
1. Penyulitan cincang sehala: md5, sha, dsb., tambah garam
2. Penyulitan simetri: Algoritma DES, algoritma RC, dsb., gunakan kekunci yang sama untuk penyulitan 3. Asimetri penyulitan: Algoritma RSA
4 pengurusan keselamatan kunci
Dengan meletakkan kunci dan algoritma dalam pelayan bebas atau peranti perkakasan khusus, dan merealisasikan penyulitan dan penyahsulitan data melalui perkhidmatan. panggilan .
C. Penapisan maklumat dan anti-spam
Sebilangan kecil kandungan boleh digantikan dengan ungkapan biasa
3 penapis
Mesin mengenal pasti transaksi dan maklumat berisiko tinggi secara automatik dan menghantarnya kepada juruaudit kawalan risiko untuk semakan manual Teknologi dan kaedah kawalan risiko mesin sentiasa dipertingkatkan secara beransur-ansur melalui risiko baharu jenis ditemui secara manual.
10 Analisis reka bentuk seni bina berprestasi tinggi Wikipedia
Tapak web A.Wikipedia secara keseluruhan. Seni bina:
Lamp+ produk sumber terbuka, GeoDNS, LVS, Sotong, Lighttpd, PHP, Memcached, Lucene, MySQLStrategi pengoptimuman prestasi Wikipedia
1 . Pengoptimuman prestasi bahagian hadapan
Inti seni bina bahagian hadapan ialah kluster sotong pelayan proksi terbalik, yang diseimbangkan oleh LVS dan dikembalikan melalui CDN sebelum proksi terbalik.
Data di tempat panas tertumpu dicache terus ke dalam memori setempat pelayan aplikasi
Kandungan data cache hendaklah dalam format yang boleh digunakan terus oleh pelayan aplikasi
Gunakan tatasusunan cakera RAID0 untuk akses tinggi
11 Analisis reka bentuk seni bina ketersediaan tinggi sistem storan teragih besar Doris
Untuk sistem storan data, ketersediaan tinggi bermakna: perkhidmatan Tersedia yang tinggi, data yang sangat boleh dipercayai
A. Seni bina kebolehsediaan tinggi sistem storan teragih
1 Redundansi: sandaran panas pelayan, storan data berbilang
2. Pembahagian sistem keseluruhan:
Pelayan aplikasi: Pelanggan sistem storan memulakan permintaan operasi data kepada sistem
Pelayan storan data : Teras sistem storan, menyimpan data dan bertindak balas kepada permintaan operasi data daripada pelayan aplikasi
Pelayan pusat pengurusan: Induk utama terdiri daripada dua mesin Siap sedia panas kecil- kluster pelayan skala, bertanggungjawab untuk pengurusan kluster, pengesanan degupan jantung kesihatan bagi kluster penyimpanan data, pengurusan pemulihan kesalahan perkhidmatan maklumat konfigurasi alamat kluster untuk pelayan aplikasi, dsb.
B. Penyelesaian ketersediaan tinggi di bawah keadaan kerosakan yang berbeza
1 Klasifikasi kerosakan sistem storan teragih: kerosakan seketika, kerosakan sementara, kerosakan kekal
2. berbilang percubaan semula
3. Penyelesaian kerosakan sementara: campur tangan manual diperlukan, pelayan yang bermasalah menggunakan pelayan storan sementara
4. Penyelesaian kerosakan kekal: dayakan penggantian pelayan sandaran Pelayan gagal kekal
12. Kajian kes reka bentuk sistem jualan kilat beli-belah dalam talian
A konkurensi tinggi, beban pangkalan data, peningkatan mendadak dalam lebar jalur rangkaian dan pelayan, pesanan langsung
B. sistem jualan kilat
C >1. Cara mengawal pencahayaan butang pembelian pada halaman produk jualan kilat: gunakan fail JS, ubah suai kandungan pada permulaan, minta ia setiap kali, elakkan daripada dicache oleh CDN, dsb., dan gunakan versi rawak nombor.
13 Analisis kes kegagalan biasa laman web besar
A. Penulisan log juga boleh menyebabkan kegagalan
Konfigurasi keluaran log aplikasi sendiri dan keluaran log komponen pihak ketiga mesti dikonfigurasikan secara berasingan
Periksa fail konfigurasi log, mari kita bermain dengan log pertimbangkan di sekurang-kurangnya Amaran
Perlu mematikan terlalu banyak Log ralat yang mungkin dikeluarkan oleh sesetengah komponen pihak ketiga
laman utama hendaklah statik
Berhati-hati semasa menggunakan operasi kunci
Pelayan cache sudah menjadi bahagian penting dalam seni bina tapak web dan perlu diuruskan pada tahap yang sama dengan pangkalan data
E. Kegagalan disebabkan oleh permulaan aplikasi yang tidak segerak
F. tidak berkongsi storan untuk fail kecil dan fail besar
G .Kesalahan yang disebabkan oleh penyalahgunaan persekitaran pengeluaranBerhati-hati semasa mengakses persekitaran pengeluaran, dan sila sediakan DBA mengekalkan pangkalan data
H.Kesalahan yang disebabkan oleh proses yang tidak teratur
Gunakan arahan diff untuk membandingkan kod sebelum menyerahkannya untuk mengesahkan bahawa tiada kod yang tidak sepatutnya diserahkan telah diserahkan; mengukuhkan semakan kod, minta sekurang-kurangnya seorang jurutera lain menjalankan semakan kod sebelum penyerahan dan berkongsi tanggungjawab untuk kegagalan yang disebabkan oleh kod
I
Beri perhatian kepada pengendalian objek kosong, nilai nol, dsb.14 Arkitek Seni Kepimpinan
A. Fokus pada orang dan bukannya produk
1 Sekumpulan orang yang cemerlang melakukan sesuatu yang mereka suka pasti akan mencapai kejayaan
2 ahli pasukan projek3 Cari matlamat yang patut diusahakan bersama dan cipta pekerjaan di mana semua orang boleh memaksimumkan nilai diri merekaB
1. Perkara membuat orang, bukan orang membuat sesuatu
2. Kebanyakan orang, termasuk diri kita, kita semua lebih baik daripada yang kita fikirkan persekitaran, seperti melakukan sesuatu yang mencabar, bekerjasama dengan orang yang lebih baik, atau mempunyai keberanian untuk mengatasi diri kita3 Menemui kecemerlangan orang jauh lebih bermakna daripada menemui orang yang cemerlang. C. Berkongsi pelan tindakan yang indah
1 Pelan tindakan itu hendaklah dinyatakan dengan jelas tentang: apa yang perlu dilakukan oleh produk, apa yang tidak patut dilakukan dan matlamat perniagaan yang harus dicapai
2. Pelan tindakan harus visual: apakah nilai yang boleh dihasilkan oleh produk untuk pengguna, apakah matlamat pasaran yang boleh dicapai, dan apakah rupa produk itu pada akhirnya
3 mudah: dalam satu ayat Faham: Apa yang kita lakukan
4. Arkitek harus mengekalkan fokus pada rangka tindakan sasaran dan berwaspada terhadap sebarang reka bentuk dan keputusan yang menyimpang daripada pelan tindakan yang salah harus diperbetulkan tepat pada masanya . Perubahan yang perlu mesti dibincangkan oleh semua orang, dan Perlu mendapatkan semula kelulusan semua orang. D dan dokumen seni bina
E. Belajar untuk berkompromi
Pendapat terhadap penyelesaian seni bina dan teknikal pada asasnya memberi perhatian kepada, cuba memahami dan menerima penyelesaian ini. Arkitek tidak boleh terlalu sensitif dan harus berkongsi pendapat mereka secara terus terang dan mencari titik persamaan sambil mengekalkan perbezaan
2. Hujah mengenai butiran teknikal harus disahkan serta-merta dan bukannya terus membincangkan
3. Apabila semua orang tidak membincangkan seni bina, jelaskan Seni bina telah disepadukan ke dalam projek, sistem dan pembangun Semakin cepat arkitek itu dilupakan, semakin berjaya seni bina itu
F 🎜>1. Kerja kita Bukan sahaja untuk menghasilkan produk, tetapi juga untuk mencapai orang ramai, dan akhirnya diri kita sendiri
2. Untuk menyiapkan projek, kita bukan sahaja perlu mencipta nilai untuk pelanggan dan membuat keuntungan untuk syarikat, tetapi juga membenarkan ahli projek untuk berkembang
3 Sebagai ketua teknikal pasukan, arkitek tidak harus cuba mengawal apa-apa semasa proses projek Mereka harus maju dengan pelan dan pelan tindakan yang fleksibel, dan pasukan akan menjaga diri mereka sendiri
15 Panduan Kerjaya Arkitek Laman Web
Tujuan membangunkan perisian adalah untuk menyelesaikan masalah dunia sebenar, tetapi banyak. masa orang tak tahu apa masalah sebenarnya.
Banyak masalah juga akan dihadapi dalam proses pembangunan perisian. Ia adalah perlu untuk menyelaraskan kepentingan semua pihak untuk mendapatkan sokongan yang terbaik keperluan, output perisian, dan pembangunan Hubungan antara sumber memerlukan banyak perkara yang perlu dilakukan untuk merealisasikan pelan tindakan asal reka bentuk perisian.
A. Temui masalah dan temui kejayaan
2. Perkara pertama yang perlu dilakukan oleh pekerja baharu ialah menyepadukan diri ke dalam pasukan
B. Tanya soalan, dapatkan sokongan
1 Masalah ditemui, ia hanya masalah pencari masalah, bukan pemilik masalah, jika anda mahu Untuk menyelesaikan masalah, anda mesti membangkitkan isu tersebut dan memberitahu pemilik masalah bahawa masalah itu wujud.
2. Petua untuk bertanya soalan:
Wakilkan "masalah saya" sebagai "masalah kami"
Tanya soalan tertutup kepada bos anda (berikan pilihan AB dan biarkan bos memilih mana yang lebih baik), dan tanya soalan terbuka kepada orang bawahan andaTunjukkan masalah dan bukannya mengkritik orang itu
Tanya soalan dengan cara yang bersetuju
3. Apa yang dipanggil lantang bermaksud bahawa niat yang ingin anda ungkapkan mestilah berterus-terang. Fahamilah, jangan melatah, tetapi berhati-hati dalam luahan hati dan mengambil kira perasaan pihak yang terlibat
1 Selesaikan masalah saya Sebelum selesaikan masalah, selesaikan masalah anda dahulu
Jika anda membantu orang lain menyelesaikan masalah mereka, orang lain juga akan membantu. anda menyelesaikan masalah mereka
Dalam dalam proses membantu orang lain menyelesaikan masalah, saya menjadi biasa dengan situasi itu
Anda menggunakan penyelesaian anda untuk menyelesaikan masalah orang lain, dan penyelesaian ini adalah di bawah kawalan anda
2 Melarikan diri yang betul dari masalah
Arkitek reka bentuk, arkitek pemadam kebakaran, arkitek evangelistik, arkitek Geek
B. Membahagikan arkitek mengikut kesan
Arkitek Sherpa: biasanya membangunkan modul yang paling sukar dan mencabar dari segi teknikal dalam projek, arkitek Spartan, arkitek kenamaan
C Tanggungjawab dan Peranan ArkitekArkitek Produk: Mengambil bahagian dalam keseluruhan kitaran hayat produk, arkitek perkhidmatan asas (arkitek platform), arkitek infrastruktur
D .Pecahkan arkitek mengikut tahap kebimbanganArkitek yang hanya menumpukan pada fungsi, arkitek yang menumpukan pada bukan fungsi, arkitek yang menumpukan pada organisasi dan pengurusan pasukan, arkitek yang menumpukan pada operasi produk dan arkitek yang menumpukan pada masa depan produk Arkitek
E. Bahagikan arkitek mengikut reputasiArkitek terbaik, arkitek yang baik, arkitek sederhana, arkitek yang lemah, arkitek yang paling teruk Arkitek
F. Cara bukan arus perdana untuk membahagikan arkitekArkitek biasa, arkitek sastera, arkitek 1+1
Lampiran A: Gambaran keseluruhan teknologi laman web berskala besarA. Seni bina bahagian hadapan
Teknologi pengoptimuman penyemak imbas, CDN, pemisahan statik dan dinamik, penggunaan bebas sumber statik dan perkhidmatan imej , proksi refleksi , DNS
B. Seni bina lapisan aplikasi
Rangka kerja pembangunan, pemaparan halaman, pengimbangan beban, pengurusan sesi, penstabilan halaman dinamik, pemisahan perniagaan, pelayan termaya
C Seni bina lapisan perkhidmatan
Pemesejan teragih, perkhidmatan teragih, cache teragih, konfigurasi teragih
D seni bina lapisan storan
Fail teragih, pangkalan data hubungan, pangkalan data NoSQL, penyegerakan data
E. Seni bina bahagian belakang
Enjin carian, gudang data, sistem pengesyoran
F Pengumpulan data (log) dan pemantauan
Pelayar pengumpulan data, pengumpulan perniagaan pelayan, pengumpulan data prestasi pelayan, pemantauan sistem, penggera sistem
G Seni bina keselamatan
Serangan web , Perlindungan data
H. Seni bina bilik komputer pusat data
Bilik komputer, kabinet, pelayan
Atas ialah kandungan terperinci Analisis kes teras seni bina teknikal tapak web besar Mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!