Perbezaan: 1. swoole ialah rangka kerja komunikasi soket yang dilaksanakan dalam bahasa C, manakala workerman ialah rangka kerja soket yang dilaksanakan dalam PHP tulen 2. Dalam workerman, soket dikendalikan oleh proses pekerja, manakala swoole dikendalikan; oleh proses utama Benang reaktor di dalamnya bertanggungjawab.
Persekitaran pengendalian tutorial ini: sistem Windows 10, versi Swoole 4, komputer DELL G3
Pekerja dan swoole sangat kontroversi pada peringkat ini Anda perlu mengenali satu sama lain apabila anda mempunyai masa, jika tidak, anda tidak berada dalam kalangan PHP. Swoole ialah rangka kerja komunikasi soket yang dilaksanakan dalam bahasa C, manakala Workerman ialah rangka kerja komunikasi soket yang dilaksanakan dalam PHP tulen Terdapat juga banyak perbezaan dalam model proses antara keduanya.
proses induk
Proses ini lebih kompleks, dan saya fikir ia adalah proses teras Ini ialah proses yang mengandungi berbilang utas, termasuk satu utas utama dan n benang reaktor (nombor boleh dikonfigurasikan).
Antaranya, benang utama digunakan untuk menerima sambungan baharu, kemudian menilai bilangan sambungan setiap benang reaktor bertanggungjawab untuk mengekalkan, dan kemudian menetapkannya kepada benang reaktor dengan nombor terkecil untuk memaksimumkan beban setiap benang reaktor adalah seimbang.
Pada asasnya, apabila soket boleh dibaca atau ditulis, ia dihantar oleh benang reaktor kepada proses pekerja atau kepada pelanggan. Selain itu, benang utama juga bertanggungjawab untuk mengambil alih semua isyarat untuk mengelakkan gangguan apabila benang reaktor menerima isyarat.
Secara lebih Barat, proses induk bertanggungjawab untuk penerimaan dan pengehosan sambungan, dan kebolehbacaan dan kebolehtulisan soket (penghantaran dan penerimaan data pada dasarnya, proses induk adalah). bertanggungjawab ke atas IO. Ia juga harus diperhatikan bahawa benang reaktor adalah kaedah kerja tak segerak dan tidak menyekat sepenuhnya.
proses pengurus
Proses pengurus ialah ibu kepada proses pekerja dan proses pekerja tugasan proses pekerja tugas dan melahirkan mereka Ia mesti diuruskan, jadi proses pengurus mesti bertanggungjawab terhadap kewajipan penyelenggaraan proses pekerja dan proses pekerja tugas, termasuk memantau status mereka, memulakan semula proses baharu apabila mereka menutup telefon secara tidak dijangka (mengelakkan zombi. proses), dan memulakan semula yang lancar (Ini adalah muat semula legenda).
Proses pekerja
Proses pekerja bercabang oleh proses pengurus Secara terang-terangan, proses ini hanyalah kerja (kod perniagaan disebut berkali-kali dalam dokumen rasmi ). Sebenarnya, kod logik perniagaan dadih yang biasanya dikodkan, adakah anda faham? Tetapi apa yang lebih menarik tentang proses pekerja ialah proses ini boleh berfungsi secara tak segerak atau serentak. Jika anda tidak memahami maksudnya, hanya menghafalnya dahulu dan membiasakannya sebelum bercakap mengenainya.
proses pekerja tugas
Proses pekerja tugas (selepas ini dirujuk sebagai proses penugas) sebenarnya pada dasarnya adalah proses pekerja, tetapi proses pekerja khas. Jika terdapat beberapa operasi yang memakan masa dan intensif buruh dalam proses pekerja anda, anda boleh mula-mula membuangnya ke proses petugas dan melakukan perkara lain sendiri Apabila petugas selesai, proses pekerja akan mengambilnya. Walau bagaimanapun, proses petugas hanya boleh berfungsi dalam mod segerak dan tidak boleh menggunakan mod tak segerak. Inilah sebabnya mengapa proses petugas tidak boleh menggunakan pemasa, tetapi proses pekerja boleh menggunakan pemasa.
Ringkasan ringkas tentang cara proses ini berfungsi bersama. Secara terang-terangan, proses induk bertanggungjawab untuk mengambil kerja jualan, tetapi kerja khusus dilakukan oleh proses pekerja Jika proses pekerja merasakan bahawa beberapa proses terlalu sibuk dan rumit, ia boleh membiarkan proses petugas melakukannya. Proses pengurus ialah jabatan sokongan sumber manusia bagi proses pekerja logistik dan proses pengambil, bertanggungjawab ke atas hidup dan mati mereka serta makan, minum dan tidur.
workerman
Model proses workerman adalah agak mudah, berbanding dengan swole, workerman tidak mempunyai benang reaktor dalam swole tidak berguna. Proses pekerja dan proses petugas yang digunakan untuk mengendalikan perniagaan biasa. Dalam kes pekerja, soket dikendalikan oleh proses pekerja, manakala dalam swole ia dikendalikan oleh benang reaktor dalam proses utama. Selepas menerima data, swoole boleh memproses perniagaan melalui proses pekerjanya sendiri (agak serupa dengan proses fpm).
workerman ialah rangka kerja pelayan soket PHP berprestasi tinggi berdasarkan pada PHP berbilang proses dan pustaka tinjauan acara libevent boleh membangunkan aplikasi rangkaian mereka sendiri selagi mereka melaksanakan satu atau dua antara muka, seperti sebagai Perkhidmatan Rpc, pelayan bilik sembang, pelayan permainan mudah alih, dsb.
Matlamat Pekerja adalah untuk memudahkan pembangun PHP membangunkan perkhidmatan aplikasi berasaskan soket berprestasi tinggi tanpa perlu memahami butiran soket PHP dan pelbagai proses PHP. Workerman sendiri ialah rangka kerja pelayan berbilang proses PHP dengan pengurusan proses PHP dan modul komunikasi soket, jadi ia boleh berjalan secara bebas tanpa bergantung pada php-fpm, nginx atau apache dan bekas lain
Pembelajaran yang disyorkan: swoole Tutorial
Atas ialah kandungan terperinci Apakah perbezaan antara pekerja dan swole. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!