وقتی از میکرو سرویس استفاده میکنیم. تجزیه و تحلیل میکرو سرویس و مانیتور اون ها یکی از بزرگ ترین چالش های اصلی شرکت ها هست. فرض کنید ۲۰ تا میکرو سرویس دارید و برای یکی از api ها مشکلی پیش میاد و کند میشه. فلو اون api هم به این شکل هست که از gateway عبور میکنه و به idnetity میرسه و بعد اون به میکرو سرویس a و بعد اون به b و به c میرسه !!!
حالا از کجا متوجه کندی بشیم که کدوم سرویس کند هست؟؟؟
اصلا سرویس کند هست یا دیتابیس کند هست ؟؟؟
شبکه مشکل داره یا خطا داریم و.....
برای این منظور ۲ ابزار خیلی خوب هست، هر دو open source هستن. یکی از اون ها برای uber هست و اون یکی برای elastic هست.
این دو تفاوت زیادی با هم ندارن.
ابزار jaeger برای uber هست و کلاینت اکثر زبان ها رو داره. Ui هم برای تجزیه تحلیل داره.
ابزار apm هم برای elastic هست.
ابزار apm غیر از trace کردن میتونه اطلاعات بیشتری برای تجزیه تحلیل بهتون بده.
برای راه اندازی jaeger نیازه سرور اون رو با داکر all in one خودش بالا بیارید و بعد کلاینت اون رو روی پروژه خودتون ادد کنید.
برای apm هم باید elastic و kibana رو نصب کنید.
Jaeger
https://github.com/jaegertracing/jaeger-client-csharp
Apm
https://github.com/elastic/apm-agent-dotnet
Post #1041
221