Rumah  >  Artikel  >  pangkalan data  >  Pembangunan Redis dan Erlang: membina sistem teragih yang boleh dipercayai

Pembangunan Redis dan Erlang: membina sistem teragih yang boleh dipercayai

WBOY
WBOYasal
2023-07-31 13:13:12831semak imbas

Pembangunan Redis dan Erlang: Membina Sistem Teragih yang Boleh Dipercayai

Dalam beberapa tahun kebelakangan ini, dengan perkembangan pesat teknologi Internet, permintaan untuk sistem teragih telah meningkat dari hari ke hari. Membina sistem teragih yang boleh dipercayai adalah tugas penting yang dihadapi oleh pembangun. Dalam artikel ini, kami akan meneroka cara menggunakan pembangunan Redis dan Erlang untuk membina sistem teragih yang boleh dipercayai.

Redis ialah pangkalan data dalam memori yang cekap yang menyediakan struktur data yang kaya dan fungsi teragih yang berkuasa Ia digunakan secara meluas untuk membina sistem seperti cache, baris gilir mesej dan storan data teragih. Erlang ialah bahasa pengaturcaraan berfungsi dengan keupayaan pemprosesan serentak yang berkuasa dan mekanisme toleransi kesalahan, dan sesuai untuk membina sistem teragih yang sangat boleh dipercayai.

Di sini, kami akan menggunakan contoh mudah untuk menggambarkan cara menggunakan Redis dan Erlang untuk membina sistem pengedaran yang boleh dipercayai. Katakan kita ingin membangunkan aplikasi sembang dalam talian yang mudah di mana pengguna boleh menghantar mesej kepada pengguna dalam talian yang lain. Kami akan menggunakan Redis sebagai baris gilir mesej dan storan data, dan Erlang sebagai logik pelayan bahagian belakang untuk memproses mesej.

  1. Pasang dan konfigurasikan Redis

Pertama, kita perlu memasang dan mengkonfigurasi pelayan Redis. Redis boleh dimuat turun dan dipasang dari laman web rasmi Redis. Selepas pemasangan selesai, konfigurasikan pelayan dengan mengubah suai fail konfigurasi Redis redis.conf. Ubah suai parameter berikut terutamanya:

  • ikat: Tentukan alamat IP yang terikat pada pelayan
  • port: Tentukan nombor port yang didengari oleh pelayan
  • daemonize: Dayakan mod daemon; sambungan;
  • requirepass: Tetapkan kata laluan sambungan.
  • Selepas melengkapkan konfigurasi, mulakan pelayan Redis.

Menulis Kod Erlang
  1. Kami akan menggunakan Erlang untuk menulis kod sebelah pelayan. Mula-mula, buat fail .erl, seperti chat_server.erl. Tulis kod berikut dalam fail:
-module(chat_server).
-export([start_server/0]).
 
start_server() ->
    {ok, Pid} = gen_server:start_link(?MODULE, [], []),
    io:format("Chat server started.~n"),
    Pid.
 
handle_call({send_msg, From, To, Msg}, _From, S) ->
    io:format("Received message: ~p~n", [Msg]),
    lists:foreach(fun(P) -> P ! {new_msg, From, Msg} end, To),
    {reply, ok, S}.
 
handle_cast(_Msg, S) ->
    {noreply, S}.

Dalam kod ini, kami mentakrifkan modul Erlang yang dipanggil chat_server dan melaksanakan fungsi yang dipanggil start_server. Fungsi ini memulakan pelayan dan mengembalikan PID proses pelayan.

Selain itu, kami juga mentakrifkan dua fungsi panggil balik untuk memproses mesej. handle_call digunakan untuk memproses mesej yang dihantar oleh klien dan menghantar mesej kepada pengguna yang ditentukan. handle_cast digunakan untuk mengendalikan jenis mesej lain.

Menulis kod pelanggan
  1. Seterusnya, kami akan menulis program pelanggan mudah untuk menghantar mesej ke pelayan. Cipta fail .erl dan tulis kod berikut:
-module(chat_client).
-export([send_message/3]).
 
send_message(From, To, Msg) ->
    gen_server:call(chat_server, {send_msg, From, To, Msg}).

Dalam kod ini, kami mentakrifkan modul Erlang yang dipanggil chat_client dan melaksanakan fungsi yang dipanggil send_message. Fungsi ini digunakan untuk menghantar mesej kepada pelayan Parameter termasuk penghantar, penerima dan kandungan mesej.

Mulakan pelayan dan pelanggan
  1. Sekarang, kita boleh memulakan pelayan dan pelanggan dan menguji sistem pengedaran kita. Mula-mula, mulakan pelayan dalam baris arahan Erlang:
$ erl
Erlang/OTP 23 [erts-11.1.5] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1]
 
Eshell V11.1.5  (abort with ^G)
 
1> chat_server:start_server().

Kemudian, mulakan klien dan hantar mesej kepada pelayan:

$ erl
Erlang/OTP 23 [erts-11.1.5] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1]
 
Eshell V11.1.5  (abort with ^G)
 
1> chat_client:send_message("user1", ["user2"], "Hello, Erlang!").
Received message: "Hello, Erlang!"

Melalui langkah-langkah di atas, kami berjaya membina sistem teragih mudah menggunakan Redis dan Erlang. Sistem ini boleh menerima mesej yang dihantar oleh pengguna dan mengedarkan mesej kepada penerima yang ditetapkan.

Ringkasan

Artikel ini memperkenalkan cara menggunakan Redis dan Erlang untuk membangun dan membina sistem teragih yang boleh dipercayai. Melalui keupayaan teragih Redis dan keupayaan pemprosesan serentak Erlang, kami boleh membina sistem teragih dengan kebolehpercayaan dan skalabiliti yang tinggi dengan mudah. Melalui kod sampel di atas, pembaca boleh mempelajari dan menggunakan Redis dan Erlang untuk membina sistem teragih yang lebih kompleks dan berkuasa.

Atas ialah kandungan terperinci Pembangunan Redis dan Erlang: membina sistem teragih yang boleh dipercayai. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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