ConnectionFisherClient
ConnectionFisherClient برای هر line ورودی چند اتصال خروجی همزمان به سمت next میسازد، روی هرکدام یک probe پنجبایتی میفرستد و اولین اتصالی را که پاسخ معتبر از ConnectionFisherServer بگیرد نگه میدارد.
چه زمانی استفاده شود؟
وقتی مسیر خروجی ناپایدار است یا میخواهید چند تلاش همزمان انجام شود و سریعترین/سالمترین مسیر انتخاب شود. این نود باید در سمت مقابل با ConnectionFisherServer استفاده شود.
TcpListener -> ConnectionFisherClient -> TcpConnector
TcpListener -> ConnectionFisherServer -> TcpConnector
نمونه تنظیم
{
"name": "fisher-client",
"type": "ConnectionFisherClient",
"settings": {
"simultaneous-tries-perline": 3
},
"next": "tcp-out"
}
تنظیمات
| گزینه | پیشفرض | توضیح |
|---|---|---|
simultaneous-tries-perline | 2 | تعداد child lineهایی که برای هر line اصلی ساخته میشود. |
رفتار مهم
- probe سمت کلاینت
FISH?و پاسخ سمت سرورFISH!است. - payload تا زمان انتخاب winner در صف نگه داشته میشود.
- اگر هیچ child line معتبری تا حدود
5000msانتخاب نشود، line اصلی بسته میشود. - بعد از انتخاب winner، اتصالهای اضافه بسته میشوند و payloadهای صفشده به ترتیب روی winner ارسال میشوند.