Channel Dağıtık İletişim Bileşeni
(Workerman sürümü >= 3.3.0 gereklidir)
Kaynak adresi: https://github.com/walkor/Channel
Channel, süreçler arası ya da sunucular arası iletişimi gerçekleştirmek için kullanılan bir dağıtık iletişim bileşenidir.
Özellikler
-
Abone yayım modeli bazlıdır.
-
Engellemeyen IO.
Prensip
Channel, Channel/Server sunucusu ve Channel/Client istemcisini içerir.
Channel/Client, connect arayüzü aracılığıyla Channel/Server ile bağlantı kurar ve uzun süreli bir bağlantı sürdürür.
Channel/Client, on arayüzünü çağırarak Channel/Server'a hangi olaylarla ilgilendiğini bildirir ve olay geri çağırma fonksiyonlarını kaydeder (geri çağırmalar Channel/Client'ın bulunduğu süreçte gerçekleşir).
Channel/Client, publish arayüzü aracılığıyla Channel/Server'a belirli bir olayı ve olaya ilişkin verileri yayar.
Channel/Server, olay ve verileri aldıktan sonra bu olaya ilgi duyan Channel/Client'a dağıtır.
Channel/Client, olay ve verileri aldıktan sonra on arayüzü ayarına göre geri çağırmayı tetikler.
Channel/Client yalnızca ilgilendiği olayları alır ve geri çağırmayı tetikler.
Kurulum
composer require workerman/channel
Dikkat
Channel sadece workerman ortamında kullanılabilir, php-fpm ortamında kullanılamaz.