GH GambleHub

تدفقات البيانات بين العقد

(القسم: النظام الإيكولوجي والشبكة)

1) الجوهر والأهداف

تدفقات البيانات بين العقد هي قنوات مُدارة للأحداث والحالات والقطع الأثرية بين أدوار النظام الإيكولوجي (المعتمدون/القراء/الفهارس/الجسور/البوابات/المخازن/التحليلات). الأهداف:
  • القدرة على التنبؤ: التكنولوجيات المستدامة المستقرة حسب التأخير/النجاح/النضارة.
  • الموثوقية: مقاومة الخسائر، التكرارات، إعادة التنظيم.
  • الأمن والامتثال: التشفير والتوقيعات والإقامة.
  • قابلية التوسع: التوزيع الجغرافي، التقسيم، QoS.

2) تصنيف التدفق

1. مستوى التحكم: التكوينات، phicheflags، سياسات التوجيه/الحد.
2. Data Plane - event: domain events ('deposit. '،' دفع تعويضات. «،» الجسر. ').
3. مستوى البيانات - التدفق: تدفقات طويلة العمر (gRPC/WebSocket) للإشارات والمقاييس الحية.
4. الدفعة/الردم: تنزيلات الشرائح التاريخية، والإعادة، واللقطات.
5. التكرار/مضاد الإنتروبيا: مزامنة الحالة، التركيز، تيارات CRDT.
6. القياس عن بُعد/إمكانية الرصد: لا يتداخل النطاق الجانبي للأشعة فوق البنفسجية الرئيسية.

يحتوي كل نوع على فئات QoS وقواعد إعادة/طلب خاصة به.

3) الطوبولوجيا والتوجيه

Hub-and-Speak: محاور إقليمية كإطارات ؛ - عقد الأدوار.
Mesh/P2P: شبكة جزئية للتكرار/النميمة.
Edge-Tiered: بوابات رفيعة الحافة (حد المعدل/ذاكرة التخزين المؤقت) → مجموعات إقليمية سميكة.
التوجيه الجغرافي: قواعد الإقامة Anycast/Latency-Aware LB +.

المفتاح - التقسيم: «التقسيم _ المفتاح = معرف السلسلة» موضوع «الكيان» يعطي ترتيبًا وحجمًا يمكن التنبؤ بهما.

4) النقل والأشكال

HTTP/2/3، gRPC/QUIC - زمن انتقال منخفض، تعدد الإرسال، حافظ.
كافكا/بولسار/ناتس - طوابير مع المثابرة/الأطراف/مجموعات المستهلكين.
WebSocket - ادفع الأحداث والبث المباشر.
التنسيقات: Protobuf/Avro (مخططات ذات تطور)، JSON لواجهات برمجة التطبيقات الخارجية.
عنوان الهاش وإيصالات ميركل للتحقق من النزاهة.

5) الطلب والتسليم والانتهاء

نموذج التسليم:
  • مرة واحدة على الأقل (الافتراضي ؛ الفراغ/الوفاة المطلوبة).
  • تأثير مرة واحدة بالضبط عبر Outbox/Inbox + المستهلك اللطيف.
  • الأمر: مضمون داخل الحزب ؛ النظام بين الأحزاب غير مضمون.
  • وضع اللمسات الأخيرة: الحالات 'المرصودة → المؤكدة (K) → → غير صالحة (إعادة ترتيب)' ؛ للتفاؤل - نافذة النزاع.

6) الفراغ والتخلص

مفتاح الاختصاص للأحداث:
  • «الفراغ _ المفتاح = ${chainId}|${block}|${tx}|${logIndex}|${type}»
القواعد:
  • مزعج بالمفتاح، TTL من نافذة التفريغ ≥ 72 ساعة.
  • بالنسبة للنزاع، الحمولة هي سياسة «مصدر الحقيقة» (الأولوية، النسخة، التوقيع).
  • بالنسبة لطلبات HTTP، فإن الرأس هو «Idempotency-Key» + سجل الاستجابة.

7) قوائم الانتظار والضغط الخلفي والحصص

الطوابير: الأطراف حسب المفتاح ؛ DLQ للرسائل «السامة».
الضغط الخلفي: الاعتمادات/الرموز، الحد الأقصى للطيران، قاطع الدائرة.
الحصص/QoS: P0 (حرج)، P1 (منتج)، P2 (سائب). المجمعات المقسمة/حدود RPS/bytes/s/الاشتراكات.
مراقبة القبول: الرفض المبكر للطلبات «باهظة الثمن»، والحراسة حسب النطاق/الحجم.

8) نماذج الاتساق والبيانات

اقرأ - تكتب داخل الحفلة/العقدة.
الاتساق بين الأقاليم/الأطراف.
CRDT لتكرار بعض المجموعات الخالية من النزاعات (العدادات والمجموعات).
لقطات + سجلات للحصول على تمهيد سريع وإعادة تشغيل حتمية.

9) الأمن والثقة

mTLS بين العقد، تثبيت المفتاح، الدوران.
توقيعات الرسائل/الخطاف الشبكي والنوافذ الزمنية والنوافذ المضادة لإعادة التشغيل.
التشفير أثناء التنقل/عند الراحة ؛ الفصل بين المفاتيح الإقليمية.
تقليل PII: الترميز، وحظر البيانات الشخصية في الملصقات/المقاييس.

10) الكفاءة: التغليف والضغط والذاكرة المخبأة

الدفعة: تجميع الرسائل الصغيرة لتقليل النفقات العامة.
الضغط: zstd/gzip مع قواميس آمنة.
النقد: الإجابات السلبية والأدلة «الساخنة» ؛ TTL والإعاقة حسب الحدث.

11) مخططات البيانات (المراجع)

سجل التدفق/القرعة

sql
CREATE TABLE streams (
name TEXT PRIMARY KEY,
partitions INT,
qos TEXT,        -- P0    P1    P2 retention_days INT,
schema_version TEXT
);

CREATE TABLE offsets (
stream TEXT, partition INT, consumer_group TEXT,
offset BIGINT, updated_at TIMESTAMPTZ,
PRIMARY KEY (stream, partition, consumer_group)
);

سجل الأحداث (مزعج الخصوصية)

sql
CREATE TABLE events_core (
id UUID PRIMARY KEY,
idempotency_key TEXT UNIQUE,
ts TIMESTAMPTZ,
partition_key TEXT,
type TEXT,
payload JSONB,
status TEXT,      -- observed    confirmed    finalized    invalidated signature TEXT
);

DLQ/الحجر الصحي

sql
CREATE TABLE dlq (
id UUID PRIMARY KEY,
stream TEXT, partition INT, offset BIGINT,
reason TEXT, payload JSONB, ts TIMESTAMPTZ
);

12) السياسات (YAML)

QoS والحدود

yaml qos:
P0: { ack_timeout_ms: 2000, retries: 3, backoff_ms: [100,400,800], rps_per_org: 1500 }
P1: { ack_timeout_ms: 5000, retries: 2, rps_per_org: 800 }
P2: { best_effort: true, rps_per_org: 200 }
limits:
max_message_bytes: 1048576 max_stream_subscriptions_per_client: 20

الانتهاء والنوافذ

yaml finality:
eth-mainnet: { k: 12 }
polygon:   { k: 256 }
optimistic: { k: 0, challenge_minutes: 20 }

التوجيه/الإقامة

yaml routing:
prefer_local_region: true fallback: [nearest_healthy, master_hub]
residency:
eu: ["eu"]
uk: ["uk"]

13) إمكانية الرصد: SLI/SLO

SLI (core):
  • Latency p95/p99 (ingress→egress, per-stream/QoS).
  • معدل النجاح/معدل الانخفاض.
  • قائمة الانتظار Lag p95 وتأخر المستهلك حسب الطرف.
  • نضارة p95 (ingest→consume).
  • Reorg/Invalid Rate (if onchain).
  • Dedup Effective (٪ من المأكولات يتم امتصاصها بشكل غبي).
  • نسبة الضربات الأرضية (مخدومة محليا).
SLO (معالم):
  • P0 latency p95 ≤ 400 mm ؛ النجاح ≥ 99. 95%; Loue-lag p95 ≤ 2 с; النضارة p95 ≤ 60 с.
  • كفاءة التخلص ≥ 99٪ ؛ DLQ ≤ 0. 1٪ من حركة المرور.

لوحات القيادة: Streams Core/Lag & Freshness/QoS & Errors/Geo/Security (mTLS/signations).

14) أنماط المستهلك

Outbox/Inbox: النشر الذري والتطبيق الخفي.
تأثير مرة واحدة بالضبط: قم بتخزين آخر مفتاح وإصدار مطبق.
العلامات المائية: بيانات متأخرة.
Idempotent Side-Effects: external questions with only key and response log.

15) أنماط التحلل

الوضع النهائي فقط: نصدر الأحداث النهائية فقط.
مخبأ فقط للكتب المرجعية، تجميد الطرق الثقيلة.
خنق P2 و «وضع النظام الغذائي» للتدفقات (معدل تحديث منخفض).
اقرأ فقط لواجهات برمجة التطبيقات الثانوية.

16) الإطلاقات والهجرات الخالية من التوقف

الأزرق الأخضر/الكناري من قبل التدفقات والمستهلكين.
المخطط أولا: تضاف الحقول فقط ؛ MAJOR - نسخ متوازية من المواضيع.
هجرات التعويض: مستهلكو الظل، مقارنة التأخير/النجاح، التبديل.

17) لوائح التشغيل

يوميًا: تقرير SLO (زمن الوصول/النجاح/التأخير/النضارة)، تدقيق التوقيع، فحص DLQ.
أسبوعيًا: مراجعة الدفعات/الحصص، اختبار DR (bootstrap من لقطة)، تحليل كفاءة Dedup.
شهريًا: اختبارات الفوضى (فقدان/نفث، فشل سمسار، إعادة انفجار)، مراجعة النوافذ النهائية.
قبل الإصدار: كناري ≥120 دقيقة، بوابات SLO، خطة التراجع.

18) حوادث قواعد اللعبة

ألف - انفجار طابور التأخير/تأخر المستهلك

1. زيادة المستهلكين/KEDA ؛ (2) إعادة توزيع الأطراف ؛ 3) تجميد الوظائف برتبة ف-2 والوظائف بالجملة ؛ 4) تحليل المفاتيح «الساخنة».

B. Growth of P95 Latency P0

1. P2-throttle، تحديد أولويات الرتبة ف-0 ؛ 2) البوابات/السماسرة ؛ 3) مخبأ للكتب المرجعية فقط ؛ 4) الطرد الخارجي.

C. High DLQ/dembing

1. تحقق من مفتاح الخصوصية/TTL ؛ 2) تعزيز التخلص ؛ 3) الحد من صخب المنتج ؛ 4) إعادة التشغيل بعد الإصلاح.

دال - مخططات/عقود الانجراف

1. تمكين وضع صارم (قطع غير صحيح) ؛ 2) إخطار المنتج ؛ 3) تحرير المحول ؛ 4) تحديث البطانات.

هاء - انتهاك الإقامة/التوقيعات

1. وحدة التصدير/القناة ؛ (2) تناوب المفاتيح/السيرت ؛ (3) مراجعة الحسابات والتشريح ؛ 4) تحديث السياسات.

19) قائمة التنفيذ المرجعية

1. حدد أنواع التيار ومفتاح التقسيم.
2. تمكين التطرف/التخلص والانتهاء مع نوافذ K/النزاع.
3. ضبط قوائم الانتظار، QoS، الحصص، والضغط الخلفي.
4. تشغيل mTLS/التوقيعات وسياسة الإقامة.
5. أدخل المخططات/السجلات (التدفقات، التعويضات، dlq) والقياس عن بعد SLI/SLO.
6. تنظيم هجرات دائرة الكناري/الأزرق والأخضر والخالية من التوقف.
7. اعمل على أوضاع التحلل وكتب اللعب الخاصة بالحوادث.

20) مسرد

الضغط الخلفي - التحكم في حمل المدخلات (الاعتمادات/الرموز/الحدود).
DLQ - «قائمة انتظار ميتة» لرسائل المشكلة.
CRDT - هياكل البيانات مع حل النزاعات دون تنسيق.
النهاية - عدم الرجوع عن الحدث/الحالة.
تأثير مرة واحدة بالضبط - نتيجة آمنة متكررة على التسليم مرة واحدة على الأقل.
Watermark - علامة معالجة التقدم للأحداث المتأخرة.
الطرد الخارجي - استبعاد الحالات المتدهورة من المسبح.

خلاصة القول: تدفقات البيانات بين العقد ليست مجرد «قائمة انتظار ومستمع»، ولكنها نظام نظامي للنظام، والانتهاء، والخصوصية، والأمن، وقابلية المراقبة. تعطي مفاتيح التقسيم القياسية، وسجل الجودة/الحصص، والمخططات الصارمة، والمكاتب المحلية، جنبًا إلى جنب مع أنماط التدهور وكتيبات اللعب، قنوات نقل البيانات المستقرة للنظام الإيكولوجي على نطاق واسع وتحت المراجعة.

Contact

اتصل بنا

تواصل معنا لأي أسئلة أو دعم.نحن دائمًا جاهزون لمساعدتكم!

Telegram
@Gamble_GC
بدء التكامل

البريد الإلكتروني — إلزامي. تيليغرام أو واتساب — اختياري.

اسمك اختياري
البريد الإلكتروني اختياري
الموضوع اختياري
الرسالة اختياري
Telegram اختياري
@
إذا ذكرت تيليغرام — سنرد عليك هناك أيضًا بالإضافة إلى البريد الإلكتروني.
WhatsApp اختياري
الصيغة: رمز الدولة + الرقم (مثال: +971XXXXXXXXX).

بالنقر على الزر، فإنك توافق على معالجة بياناتك.