عن المشروع

Zipkin هو نظام تتبع موزع لجمع بيانات التوقيت اللازمة لاستكشاف مشاكل زمن الاستجابة في بنى الخدمات. يدعم كلًا من جمع بيانات التتبع والاستعلام عنها. يمكن للمستخدمين فتح تتبع مباشرة بواسطة المعرف من السجلات أو الاستعلام حسب الخدمة، أو اسم العملية، أو العلامات، أو المدة، أو سمات أخرى. تلخص الواجهة معلومات مثل الوقت المستغرق في الخدمات وأعطال العمليات، وتعرض مخطط تبعية يوضح حجم الطلبات المتتبعة بين التطبيقات، بما في ذلك مسارات الأخطاء الإجمالية. يجب تجهيز التطبيقات بأداة تتبع أو مكتبة تجهيز للإبلاغ عن الامتدادات. يمكن لـ Zipkin استقبال البيانات عبر HTTP وKafka، مع خيارات نقل إضافية تشمل ActiveMQ وgRPC وRabbitMQ وPulsar. يقدم الخادم واجهة الويب وواجهات برمجة التطبيقات، بينما يمكن الاحتفاظ ببيانات الامتدادات في الذاكرة للاختبار أو تخزينها في أنظمة تخزين داعمة. تشمل خيارات النشر ملف JAR تنفيذيًا ذاتيًا يتطلب JRE 17 أو أحدث، وصور Docker، وHomebrew، ومخططات Helm. الإصدار المختصر أصغر حجمًا ويبدأ بشكل أسرع، ويدعم التخزين في الذاكرة وElasticsearch ولكنه يستبعد وسائط النقل مثل Kafka وRabbitMQ. تشمل مكونات التخزين التخزين في الذاكرة للاختبارات، وCassandra، وElasticsearch/OpenSearch. يتم تجميع روابط تبعية Cassandra وElasticsearch عبر وظيفة zipkin-dependencies المنفصلة. يبقى مكون تخزين MySQL v1 القديم للانتقال، على الرغم من أن ملف README يلاحظ أن مخططه لم يُصمم لأداء عالٍ. يمكن تعطيل نقاط نهاية البحث لتقليل تكلفة التخزين أو زيادة إنتاجية الكتابة، مع ترك استرجاع التتبع بالمعرف فقط. يحتوي المستودع أيضًا على مكتبة Java الأساسية الدنيا المستخدمة في التجهيز ورمز الخادم، بما في ذلك برامج الترميز لنماذج JSON لـ Zipkin v1 وv2. تستهدف المكتبة الأساسية Java 8+، بينما تتطلب مكونات التخزين والخادم الحالي Java 17+. تُنشر منتجات الخادم تحت مجموعة Maven io.zipkin، ومنتجات المكتبات تحت io.zipkin.zipkin2، وتتوفر صور الحاويات على Docker Hub وGitHub Container Registry.