لقد صنعنا نظامين فرعيين داخل Apache Ignite.
في المقالة سأخبر عن هندستها:
- كيف فعل النظام الفرعي للمقاييس والنظام الفرعي لعرض النظام.
- ما الذي تم عمله وماذا سنفعل؟

تحية للجميع! اسمي نيكولاي إيزيكوف. أنا أعمل في Sberbank Technologies لتطوير منتجات مفتوحة المصدر.
ملاحظة 1 : "تم" تعني أن هذه الوظيفة متاحة في Apache Ignite الرئيسي ، يمكنك بناء ومعرفة كيف يعمل كل شيء. سيتم إصدار الوظيفة في إصدار Apache Ignite 2.8 ، والذي سيتم إصداره في أوائل عام 2020.
ملاحظة 2 : لن تحتوي المقالة الخاصة بالهندسة المعمارية على أرقام محددة ستكون مطلوبة لمراقبة Apache Ignite.
ملاحظة 3 : ستتوفر الوظيفة في الإصدار 2.8 ، والذي سيحدث قريبًا ، أو ربما قبل ذلك.
أباتشي إغنايت وزعت منصة في الذاكرة. يوفر الكثير من واجهات برمجة التطبيقات: من أجل التخزين المؤقت ، والحوسبة الموزعة ، والخدمات (بناء بنية الخدمات الصغيرة) ، فإنه يوفر المعاملات.
لماذا
دعنا نقول لديك نظام ويعمل بطريقة أو بأخرى في همز. سيأتي إليك المسؤولون بالتأكيد ويسألون: "لكن كيف ترى ما يحدث في الداخل ، وكيف يتصرف النظام؟ نريد أن نعرف عن العمليات الجارية ، حتى تؤدي إلى انخفاض أو تغيير في السلوك لا يمكن إخفاؤه." تتلخص الأسئلة في جوهرها فيما يلي:
- ? — , , .
- ? — , , : , , , . , .
- ? — .
- ? — " " — ?
.
:
, . , , . :
- API : transaction manager, cache manager, etc.
- .- API: JMX, SQL, Java. API.
:
- : , ? . , , , - . , .
- «» : , API.
- : jmx, sql, http(Prometheus) , , .
- : , .
Open Source community . , Ignite Enhancement Proposal (IEP), , , API, .
:
Ignite : , . , . , . , Ignite . , Ignite — . — . (prometheus, zabbix) .
Ignite . Ignite : jvm, , , . Ignite . , .
: — .
: , data region', .. , , .
: io.dataregion.myregion.TotalAllocatedPages
— Data Region "myregion".
:
Metric
, Gauge
— .MetricRegistry
— (, ) .MetricExporterSpi
— .ReadOnlyMetricRegistry
— , exporter’-. read only access + listeners.GridMetricManager
— .
:
Metric
— . .
: LongAddterMetric
, DoubleMetricImpl
, ObjectMetricImpl
.Gauge
— . , Supplier. . , , .
: LongGauge
, DoubleGauge
, ObjectGauge
.HistogramMetric
— + . , .
: , 250 , 500 , 1 .HitRateMetric
— X .
: , .
MetricExporterSpi
— , . , . JMX, SQL, Log, OpenCensus.
GridMetricManager mmgr = ...;
MetricRegistry mreg = mmgr.registry("io.dataregion." + name);
LongAdderMetric replacedPages = mreg.longAdderMetric("PagesReplaced",
"Number of pages replaced from last restart.");
replacedPages.increment();
, " ?" .
.
System View — ?
— . system view, SQL. ( JMX).
SystemView
— (). : , , compute task', sql table . .SystemViewExporterSpi
— .ReadOnlySystemViewRegistry
— exporter'. read only access + listeners.GridSystemViewManager
—
:
- . , , - . .
- overhead. .
- . . .
: . java-. :
POJO. , . . . : reflection?
:
:
(SystemViewRowAttributeWalker.java), . . system view . .
ctx.systemView().registerView(CACHES_VIEW, CACHES_VIEW_DESC,
new CacheViewWalker(),
registeredCaches.values(),
CacheView::new);
ctx.systemView().registerView(CACHE_GRPS_VIEW, CACHE_GRPS_VIEW_DESC,
new CacheGroupViewWalker(),
registeredCacheGrps.values(),
CacheGroupView::new);
Reflection — , . dev-list JMH benchmark. reflection . walker . Walker 4 .
, " ?" .
- : , .
. - « » (prometheus, zabbix)
- . , . — .
- . Oracle , , : , , , .
- — Ignite , . . threshold «compute 30 », , .
- dev@ignite.apache.org
- user@ignite.apache.org
تعال! لدينا مجتمع ناطق باللغة الروسية تقريبًا ، وجميع المساهمين تقريبًا من روسيا ، لذا يمكنك بسهولة الانضمام والمساهمة في Open Source.
عرض - https://www.highload.ru/moscow/2019/ab abstracts/ 6111
فيديو: