Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Netty 참고 성능표 : https://github.com/ronenhamias/netty-perf-testing/wiki/Netty-3-Throughput-test

단순하게 모니터링 집계용도로 직접 설계한다고 하면, 액터 객체를 사용할 필요는 없으나,

비동기 병렬처리 프로그래밍 ( 공유객체 카운팅 증가에 따른 락처리)을 포함하여


Matrix 집계를 일정시간에 수행 하고 Matrix서버에 보고 등  부가적인 기능을 직접 구현해야합니다Akka를 사용하지 않는 기존 시스템은 변경없이, 도메인 이벤트 카운팅 모니터링 기능만을 빌트인해보겠습니다.

액터 모니터링 시스템 탑재하기

Code Block
themeEmacs
using Akka.Monitoring;
using Akka.Monitoring.ApplicationInsights;
using Akka.Monitoring.Datadog;
using Akka.Monitoring.PerformanceCounters;
using Akka.Monitoring.Prometheus;

var MonitorTool = Environment.GetEnvironmentVariable("MonitorTool");
var MonitorToolCon = Environment.GetEnvironmentVariable("MonitorToolCon");

switch (MonitorTool)
{
	case "win":
		var win = ActorMonitoringExtension.RegisterMonitor(actorSystem,
			new ActorPerformanceCountersMonitor(
				new CustomMetrics
				{
					Counters = { "akka.custom.metric1", "akkacore.message" },
					Gauges = { "akka.messageboxsize" },
					Timers = { "akka.handlertime" }
				}));
		break;
	case "azure":
		var azure = ActorMonitoringExtension.RegisterMonitor(actorSystem, new ActorAppInsightsMonitor(appConfig.MonitorToolCon));
		break;
	case "prometheus":
		// prometheusMonotor 를 사용하기위해서, MerticServer를 켠다...(수집형 모니터,Agent탑재)
		// http://localhost:10250/metrics  - 여기서 제공되는 metrics의 포맺과 호환되는 여러종류의 데시보드들과 연동하여 시각화가능합니다.
		metricServer = new MetricServer(10250);
		metricServer.Start();
		var prometheus = ActorMonitoringExtension.RegisterMonitor(actorSystem, new ActorPrometheusMonitor(actorSystem));
		break;
	case "datadog":
		var statsdConfig = new StatsdConfig
		{
			StatsdServerName = MonitorToolCon
		};
		var dataDog = ActorMonitoringExtension.
			RegisterMonitor(actorSystem, new ActorDatadogMonitor(statsdConfig));
		break;
}

...

다음 장에서는, 도메인 처리에 관련된 실시간 메시징을 분산처리할수 있는 클러스터 메시징에 대해 알아보겠습니다.


추가 자료
Image Added

APM을 위한 Akka.net 분산액터메시지 분산추적하는 툴을 제공합니다.

액터의 활용이 높아 개수가 많을시 유용하게 활용할수 있습니다.

링크 : https://petabridge.com/blog/phobos-2.0-otel/?fbclid=IwAR2d3ZKv16_frBmfGKjftya_yL7zQzH4j6BoaeTFv3xlV0csaXl9iVPTskA


참고링크:

...