Rumah pembangunan bahagian belakang tutorial php Sambungan GRPC baharu diperkenalkan dalam PHP8.1

Sambungan GRPC baharu diperkenalkan dalam PHP8.1

Jul 08, 2023 pm 06:57 PM
php grpc

Pelanjutan GRPC baharu yang diperkenalkan dalam PHP8.1

PHP ialah bahasa skrip bahagian pelayan yang digunakan secara meluas yang boleh menjana kandungan web secara dinamik dengan berinteraksi dengan pelayan web. Untuk memenuhi keperluan seni bina perkhidmatan moden dengan lebih baik, versi PHP8.1 memperkenalkan sambungan GRPC baharu, yang meningkatkan lagi prestasi dan kebolehskalaan PHP. Artikel ini akan memperkenalkan konsep asas sambungan GRPC dan memberikan beberapa contoh kod untuk membantu pembaca memahami dan menggunakan ciri baharu ini dengan lebih baik.

1. Pengenalan kepada GRPC
GRPC ialah rangka kerja RPC (panggilan prosedur jauh) berprestasi tinggi dan tujuan umum. RPC ialah protokol komunikasi komputer yang membenarkan atur cara memanggil terus fungsi atau kaedah pada komputer lain tanpa mengetahui butiran rangkaian asas. GRPC adalah berdasarkan pelaksanaan protokol HTTP/2 sumber terbuka Google dan menggunakan protokol penghantaran binari dengan ciri-ciri berikut:

  1. Pensirilan dan penyahsiran yang cekap: GRPC menggunakan Penampan Protokol sebagai mekanisme penyirian lalai Berbanding dengan JSON dan XML, dsb. Teks format lebih cekap.
  2. Penstriman Boleh Dipercayai: GRPC menyokong penstriman dwiarah, mampu melakukan berbilang permintaan dan respons bebas secara serentak pada satu sambungan rangkaian.
  3. Sokongan berbilang bahasa: GRPC menyokong berbilang bahasa pengaturcaraan, termasuk C++, Java, Go, Python, dll.
  4. Alat automasi: GRPC menyediakan pelbagai alatan penjanaan kod yang boleh menjana kod sisi klien dan pelayan untuk bahasa pengaturcaraan yang berbeza.

2. Pasang sambungan GRPC
Sebelum mula menggunakan GRPC, kita perlu memasang sambungan GRPC terlebih dahulu. Dalam PHP8.1, sokongan untuk sambungan GRPC disediakan secara lalai Kami boleh memasangnya melalui langkah berikut:

  1. Pasang versi PHP8.1
  2. Pasang sambungan GRPC: Gunakan arahan PECL untuk memasang sambungan GRPC. modul, seperti yang ditunjukkan di bawah:

    pecl install grpc
    Salin selepas log masuk
  3. Dayakan sambungan GRPC dalam fail php.ini: Tambahkan konfigurasi berikut dalam fail php.ini:

    extension=grpc
    Salin selepas log masuk

3. Gunakan sambungan GRPC
Selepas pemasangan selesai , kita boleh menggunakan sambungan GRPC untuk membuat panggilan prosedur jauh. Di bawah ini kami memberikan contoh mudah untuk menggambarkan cara menggunakan sambungan GRPC.

  1. Tentukan antara muka
    Pertama, kita perlu mentakrifkan fail antara muka (.proto file) untuk menerangkan struktur data dan kaedah antara muka. Contohnya, kami mentakrifkan antara muka Greeter, termasuk kaedah SayHello:

    syntax = "proto3";
    
    service Greeter {
      rpc SayHello (HelloRequest) returns (HelloResponse) {}
    }
    
    message HelloRequest {
      string name = 1;
    }
    
    message HelloResponse {
      string message = 1;
    }
    Salin selepas log masuk
  2. Jana kod
    Seterusnya, kami menggunakan alat penjanaan kod yang disediakan oleh GRPC untuk menjana kod klien dan pelayan yang sepadan berdasarkan fail .proto. Mula-mula, kita perlu memasang alat Protocol Buffers, dan kemudian laksanakan arahan berikut untuk menjana kod:

    protoc --php_out=./out --grpc_out=./out --plugin=protoc-gen-grpc=/usr/local/bin/grpc_php_plugin greeter.proto
    Salin selepas log masuk

    Selepas melaksanakan arahan di atas, direktori keluar akan dijana yang mengandungi fail kod PHP yang dijana.

  3. Melaksanakan bahagian pelayan
    Seterusnya, kita boleh melaksanakan kod sisi pelayan. Dalam kod, kita perlu melaksanakan kaedah yang ditakrifkan oleh antara muka. Contohnya:

    class GreeterImpl extends GreeterGreeterService
    {
     public function SayHello(GreeterHelloRequest $request): GreeterHelloResponse
     {
         $response = new GreeterHelloResponse();
         $response->setMessage("Hello, " . $request->getName());
         return $response;
     }
    }
    Salin selepas log masuk
  4. Mulakan pelayan
    Kita boleh memulakan pelayan GRPC dan mendengar port yang ditentukan melalui kod berikut:

    $server = new SwooleServer('0.0.0.0', 50051, SWOOLE_PROCESS, SWOOLE_SOCK_TCP | SWOOLE_SSL);
    $server->set([
     'ssl_cert_file' => 'server.crt',
     'ssl_key_file' => 'server.key',
    ]);
    $server->on("start", function (SwooleServer $server) {
     echo "GRPC server is started at 0.0.0.0:50051
    ";
    });
    $server->on("receive", function (SwooleServer $server, $fd, $fromId, $data) {
     $server->send($fd, $data);
    });
    $server->start();
    Salin selepas log masuk
  5. Panggilan pelanggan
    Akhir sekali, kita boleh menulis kod pelanggan untuk memanggil pelayan jauh melalui kaedah rangkaian. Contohnya:

    $client = new GreeterGreeterClient('127.0.0.1:50051');
    $request = new GreeterHelloRequest();
    $request->setName("PHP");
    $response = $client->SayHello($request);
    echo $response->getMessage();
    Salin selepas log masuk

Melalui contoh kod di atas, kita boleh belajar cara menggunakan sambungan GRPC untuk membuat panggilan prosedur jauh dalam PHP8.1. Sambungan GRPC menyediakan kaedah komunikasi jauh yang lebih cekap dan boleh dipercayai, membantu membina sistem teragih moden. Dalam projek sebenar, kami boleh menggunakan sambungan GRPC secara fleksibel untuk membina seni bina perkhidmatan mikro merentas bahasa berdasarkan keperluan perniagaan.

Ringkasan
Pelanjutan GRPC ialah ciri penting yang diperkenalkan dalam versi PHP8.1, yang membolehkan PHP mempunyai keupayaan RPC yang lebih cekap dan berskala. Melalui contoh kod, kami memahami konsep asas dan penggunaan sambungan GRPC Kami berharap pembaca dapat mempelajari dan menggunakan ciri baharu ini dan meningkatkan keupayaan pembangunan PHP mereka.

Atas ialah kandungan terperinci Sambungan GRPC baharu diperkenalkan dalam PHP8.1. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Apr 05, 2025 am 12:04 AM

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Terangkan konsep pengikatan statik lewat dalam PHP. Terangkan konsep pengikatan statik lewat dalam PHP. Mar 21, 2025 pm 01:33 PM

Artikel membincangkan pengikatan statik lewat (LSB) dalam PHP, yang diperkenalkan dalam Php 5.3, yang membolehkan resolusi runtime kaedah statik memerlukan lebih banyak warisan yang fleksibel. Isu: LSB vs polimorfisme tradisional; Aplikasi Praktikal LSB dan Potensi Perfo

Ciri -ciri Keselamatan Rangka Kerja: Melindungi Kelemahan. Ciri -ciri Keselamatan Rangka Kerja: Melindungi Kelemahan. Mar 28, 2025 pm 05:11 PM

Artikel membincangkan ciri -ciri keselamatan penting dalam rangka kerja untuk melindungi daripada kelemahan, termasuk pengesahan input, pengesahan, dan kemas kini tetap.

Menyesuaikan/Memperluas Rangka Kerja: Cara Menambah Fungsi Custom. Menyesuaikan/Memperluas Rangka Kerja: Cara Menambah Fungsi Custom. Mar 28, 2025 pm 05:12 PM

Artikel ini membincangkan menambah fungsi khusus kepada kerangka kerja, memberi tumpuan kepada pemahaman seni bina, mengenal pasti titik lanjutan, dan amalan terbaik untuk integrasi dan debugging.

Bagaimana cara menghantar permintaan pos yang mengandungi data JSON menggunakan perpustakaan php curl? Bagaimana cara menghantar permintaan pos yang mengandungi data JSON menggunakan perpustakaan php curl? Apr 01, 2025 pm 03:12 PM

Menghantar data JSON menggunakan perpustakaan Curl PHP dalam pembangunan PHP, sering kali perlu berinteraksi dengan API luaran. Salah satu cara biasa ialah menggunakan perpustakaan curl untuk menghantar post ...

Huraikan prinsip -prinsip yang kukuh dan bagaimana ia memohon kepada pembangunan PHP. Huraikan prinsip -prinsip yang kukuh dan bagaimana ia memohon kepada pembangunan PHP. Apr 03, 2025 am 12:04 AM

Penerapan prinsip pepejal dalam pembangunan PHP termasuk: 1. Prinsip Tanggungjawab Tunggal (SRP): Setiap kelas bertanggungjawab untuk hanya satu fungsi. 2. Prinsip Terbuka dan Tutup (OCP): Perubahan dicapai melalui lanjutan dan bukannya pengubahsuaian. 3. Prinsip Penggantian Lisch (LSP): Subkelas boleh menggantikan kelas asas tanpa menjejaskan ketepatan program. 4. Prinsip Pengasingan Antara Muka (ISP): Gunakan antara muka halus untuk mengelakkan kebergantungan dan kaedah yang tidak digunakan. 5. Prinsip Inversi Ketergantungan (DIP): Modul peringkat tinggi dan rendah bergantung kepada abstraksi dan dilaksanakan melalui suntikan ketergantungan.

Bagaimanakah sesi merampas kerja dan bagaimana anda dapat mengurangkannya dalam PHP? Bagaimanakah sesi merampas kerja dan bagaimana anda dapat mengurangkannya dalam PHP? Apr 06, 2025 am 12:02 AM

Sesi rampasan boleh dicapai melalui langkah -langkah berikut: 1. Dapatkan ID Sesi, 2. Gunakan ID Sesi, 3. Simpan sesi aktif. Kaedah untuk mengelakkan rampasan sesi dalam PHP termasuk: 1. Gunakan fungsi Sesi_Regenerate_ID () untuk menjana semula ID Sesi, 2. Data sesi stor melalui pangkalan data, 3.

See all articles