negeri
Apabila web berkembang, bilangan elemen yang berinteraksi dan tunjukkan pengguna meningkat. Elemen ini mengubah skrin yang dilihat pengguna. Perkara yang menukar skrin boleh ditakrifkan sebagai 'keadaan.'
Sebagai contoh, dalam kes halaman web bermaklumat seperti halaman pendaratan, 'status' ialah satu maklumat untuk ditunjukkan.
Seterusnya, dalam kes GitHub, terdapat pelbagai maklumat seperti maklumat saya, maklumat repositori saya, bilangan bintang, dll. Memandangkan skrin yang ditunjukkan kepada pengguna berbeza-beza bergantung pada ini, semua ini boleh dianggap sebagai 'status '.
Sebagai contoh yang lebih kompleks, anda boleh mengambil contoh seperti Figma. Semua grafik pada skrin, seperti titik, garisan dan permukaan, semuanya 'keadaan'. Selain itu, fungsi kerjasama memerlukan anda berkongsi status orang selain diri anda.
Negeri & Data
Negeri adalah semua data. Maklumat tentang pengguna, maklumat tersuai pengguna, dsb. adalah semua data yang disimpan di suatu tempat, dan data ini tidak lama lagi menjadi keadaan skrin yang dilihat pengguna. Biasanya, data ini disimpan pada pelayan sebagai satu sumber kebenaran. Jika anda log masuk ke tapak web, ia akan disimpan sebagai satu baris dalam jadual pengguna pada pelayan tapak tersebut.
Data terlalu jauh
Web hari ini adalah rumit. Terdapat banyak butang dan banyak data yang dipaparkan pada satu skrin. Terdapat banyak maklumat yang ketepatan masanya penting. Setiap kali keadaan ini berubah, data mesti berulang-alik ke pelayan untuk memastikan konsistensi. Jika anda hanya perlu menerima 'halaman seterusnya' seminit, seperti dokumen, ia bukan masalah besar. Walau bagaimanapun, dalam kes seperti Notion di mana pengguna mengubah suai data secara berterusan, ia menjadi masalah besar. Jika saya terpaksa memuatkannya setiap kali saya menetapkan sesuatu seperti ciri pada halaman, saya akan kecewa
Kemas Kini Optimis
Fikirkan untuk mengklik butang suka pada laman media sosial seperti Instagram. Apabila saya mengklik suka, saya perlu pergi ke pelayan dan menyimpan maklumat yang saya suka siaran itu, tingkatkan bilangan suka untuk siaran itu sebanyak satu, dan kemudian dapatkan suka untuk siaran semasa dan tunjukkan kepada saya.
Tetapi pada Instagram, suka diklik dan bilangannya meningkat bersama-sama dengan animasi dalam 0.001 saat.
Ini boleh dilakukan dengan mengemas kini keadaan pelanggan sebelum maklumat itu sampai ke pelayan. Ideanya adalah untuk mengemas kini status pelanggan, dengan mengandaikan bahawa data seperti itu akan direkodkan dengan baik pada pelayan. Dalam kebanyakan kes, komunikasi dengan pelayan akan berjaya, jadi kami secara optimis menilai ini sebagai satu kejayaan.
Sudah tentu, terdapat kes di mana permintaan yang dihantar kepada pelayan gagal, jadi berhati-hati mesti diambil untuk memulihkan keadaan pelanggan sekiranya berlaku kegagalan.
Responsif Daripada Konsisten
Sangat munasabah untuk menunjukkan secara optimum sama ada saya mengklik butang suka atau tidak. Tetapi apabila saya mengklik, orang lain turut mengklik, jadi bilangan suka mungkin telah meningkat sebanyak satu atau lebih. Bagaimana cara saya menangani perkara ini?
Ini boleh diselesaikan dengan mudah dengan hanya mengabaikan sedikit ketekalan data. Jika siaran itu adalah siaran yang popular, tidak mungkin bilangan suka tidak meningkat semasa saya melihat siaran itu. Ini hanyalah dasar perisian. Untuk respons pantas, beberapa ketekalan data dikorbankanTeorem CAP
Dalam kajian sistem teragih, terdapat teori CAP. Teori ini menyatakan bahawa apabila mengkonfigurasi sistem teragih, hanya dua daripada C, A dan P boleh digunakan.
C bermaksud Konsistensi. Tidak kira dari mana nod anda membaca data, anda mesti membaca data yang sama
A ialah Ketersediaan, yang bermaksud sama ada semua permintaan boleh dijawab walaupun jika nod mati.
P ialah Partition-tolerance, iaitu berapa banyak nod yang boleh beroperasi apabila sambungan rangkaian terputus dan sama ada ia boleh dipulihkan selepas sambungan rangkaian.
Menurut teori ini, akhirnya, tiga sistem mungkin: CA, AP dan CP.
CA
Secara teorinya, sistem teragih boleh memilih CA, tetapi kami memutuskan untuk tidak memanggil sistem yang tidak beroperasi apabila sambungan rangkaian terputus sebagai sistem teragih.
Pada akhirnya, jika ia adalah sistem teragih, P mesti dijamin.
AP
Ketersediaan Melebihi Konsisten
Apabila beberapa nod diputuskan sambungan daripada rangkaian, nilai nod yang disambungkan akan diturunkan walaupun semua nod tidak bersetuju dengan status terkini nilai tersebut. Oleh itu, data terkini mungkin tidak sepadan antara nod yang terputus. Walau bagaimanapun, pengguna boleh terus menggunakan perkhidmatan tersebut seolah-olah mereka menerima data terkini.
Contoh wakil ialah media sosial. Walaupun ini tidak mungkin berlaku dalam realiti, mari kita anggap bahawa sambungan rangkaian antara nod Instagram di Eropah dan nod di Asia hilang. Tidak mengapa bilangan pengikut, suka, dsb. yang dilihat oleh pengguna yang mengakses dari Asia dan pengguna yang mengakses dari Eropah adalah berbeza sedikit semasa tempoh gangguan ini. Tetapi fungsi itu akan tetap berfungsi.
CP
Konsisten Daripada Ketersediaan
Ini ialah sistem yang tidak bertindak balas kepada permintaan pengguna dalam situasi di mana data terkini tidak dapat dipastikan dalam situasi kegagalan rangkaian.
Contoh biasanya berkaitan dengan wang (urus niaga). Katakan terdapat pemutusan rangkaian dalam keadaan hanya tinggal satu bilik hotel dengan diskaun 50%. Dalam sistem AP, tempahan dibuat dengan mengandaikan bahawa kedua-dua bilik akan tersedia, jadi terdapat kemungkinan tempahan berlebihan. Sistem CP tidak pasti tentang status terkini data ini, jadi ia menangguhkan atau menolak permintaan.
Teorem PACELC
Teori CAP sebenarnya adalah teori tentang partition. Jika partition telah berlaku, anda perlu memilih A atau C.
Tetapi sebenarnya, dalam keadaan biasa, partition tidak berlaku. Teori yang boleh diaplikasikan dalam situasi sebegini ialah teori PACELC.
jika (P) maka (AC) lain (LC)
Dalam erti kata lain, dalam kes partition, pertimbangkan AC, jika tidak, pertimbangkan LC.
LC
Latensi & Ketekalan
Dalam keadaan biasa, sistem menukar Latensi dan Konsisten. Ia adalah teori yang hebat, tetapi sebenarnya, ia seperti kebenaran sepanjang kejuruteraan komputer
Memikirkan tentang jual beli bermakna melihat tahap kompromi tertentu antara kedua-dua standard ini.
Latensi boleh ditentukan secara intuitif daripada lambat kepada cepat, tetapi sukar untuk mengetahui secara intuitif apa itu konsistensi.
Konsisten yang Kuat
Konsistensi yang kuat boleh dirasai hanya dengan mendengar namanya. Tidak kira nod yang anda akses, anda mesti melihat data yang sama. Dalam erti kata lain, ketekalan hanya boleh dilakukan apabila semua nod mempunyai data yang sama.
Saya rasa anda boleh memikirkan tentang bank.
Konsisten Akhirnya
Ia adalah konsistensi yang dipanggilSuatu hari nanti ia akan konsisten. Ini bermakna bahawa tidak semua pelanggan akan melihat nilai yang sama pada masa yang sama untuk perubahan tertentu, tetapi mereka akhirnya akan melihat nilai yang sama selepas penyegerakan selesai.
Oleh itu, bergantung pada ciri perisian, ia diputuskan sama ada untuk menjaga konsistensi sambil mengorbankan kependaman atau mengorbankan konsistensi untuk tindak balas yang cepat.
Atas ialah kandungan terperinci Perisian Pertama Tempatan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Java dan JavaScript adalah bahasa pengaturcaraan yang berbeza, masing -masing sesuai untuk senario aplikasi yang berbeza. Java digunakan untuk pembangunan aplikasi perusahaan dan mudah alih yang besar, sementara JavaScript digunakan terutamanya untuk pembangunan laman web.

JavaScriptcommentsareessentialformaintaining,reading,andguidingcodeexecution.1)Single-linecommentsareusedforquickexplanations.2)Multi-linecommentsexplaincomplexlogicorprovidedetaileddocumentation.3)Inlinecommentsclarifyspecificpartsofcode.Bestpractic

Titik berikut harus diperhatikan apabila tarikh pemprosesan dan masa di JavaScript: 1. Terdapat banyak cara untuk membuat objek tarikh. Adalah disyorkan untuk menggunakan rentetan format ISO untuk memastikan keserasian; 2. Dapatkan dan tetapkan maklumat masa boleh diperoleh dan tetapkan kaedah, dan ambil perhatian bahawa bulan bermula dari 0; 3. Tarikh pemformatan secara manual memerlukan rentetan, dan perpustakaan pihak ketiga juga boleh digunakan; 4. Adalah disyorkan untuk menggunakan perpustakaan yang menyokong zon masa, seperti Luxon. Menguasai perkara -perkara utama ini secara berkesan dapat mengelakkan kesilapan yang sama.

PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl

JavaScriptispreferredforwebdevelopment, whersjavaisbetterforlarge-scalebackendsystemsandandroidapps.1) javascriptexcelsinceleatinginteractiveWebexperienceswithitsdynamicnatureanddommanipulation.2) javaoffersstrongyblectionandobjection

JavascripthassevenfundamentalDatypes: nombor, rentetan, boolean, undefined, null, objek, andsymbol.1) numberuseadouble-precisionformat, bergunaforwidevaluangesbutbecautiouswithfloating-pointarithmetic.2)

Penangkapan dan gelembung acara adalah dua peringkat penyebaran acara di Dom. Tangkap adalah dari lapisan atas ke elemen sasaran, dan gelembung adalah dari elemen sasaran ke lapisan atas. 1. Penangkapan acara dilaksanakan dengan menetapkan parameter useCapture addeventlistener kepada benar; 2. Bubble acara adalah tingkah laku lalai, useCapture ditetapkan kepada palsu atau ditinggalkan; 3. Penyebaran acara boleh digunakan untuk mencegah penyebaran acara; 4. Acara menggelegak menyokong delegasi acara untuk meningkatkan kecekapan pemprosesan kandungan dinamik; 5. Penangkapan boleh digunakan untuk memintas peristiwa terlebih dahulu, seperti pemprosesan pembalakan atau ralat. Memahami kedua -dua fasa ini membantu mengawal masa dan bagaimana JavaScript bertindak balas terhadap operasi pengguna.

Java dan JavaScript adalah bahasa pengaturcaraan yang berbeza. 1.Java adalah bahasa yang ditaip dan disusun secara statik, sesuai untuk aplikasi perusahaan dan sistem besar. 2. JavaScript adalah jenis dinamik dan bahasa yang ditafsirkan, terutamanya digunakan untuk interaksi web dan pembangunan front-end.
