Versions Compared

Key

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

...

Info
Code Block
languagejava
themeEmacs
title보너스코드
  final Materializer materializer = ActorMaterializer.create(system);
  
  final ActorRef throttler =
    Source.actorRef(1000, OverflowStrategy.dropNew())
      .throttle(1,  FiniteDuration.create(1, TimeUnit.SECONDS), 10, ThrottleMode.shaping())
      .to(Sink.actorRef(testActor, NotUsed.getInstance() ))
      .run(materializer);
  	        
  for(int i=0;i<100;i++) {
  	throttler.tell(String.format("fasmsg to slow %d", i), ActorRef.noSender());       	
  }

이건 보너스코드다. 100개의 메시지가 한꺼번에 들어왔다고 가정해보자....API가 되었건, DB가 되었건 ...

보통 동시간에 100개의 요청이 히트가 되어 불안정을 요소한다고 야기한다고 하면 이것을 안정적으로 공급할 장치가필요합니다.

초당 개수 처리제한 및 특정개수가 넘을시 무시조건등 을 기존설계된 액터에 연결을 시킬수가 있다.억제방식등의 설계가 가능하며 역압력 장치라고도 불리며

실제 액체의 유입량을 제어하는 장치로부터 아이디어를 받은 패턴입니다AkkaStrem의 밸브조절기능은 아주 유용하며 액터와 상호연동이 쉽게 가능해집니다.


주요코드

스프링 Context를 가지고 올수 있는곳 어느곳이나  AKKA사용을 위한 ActorSystem을 획득할수 있습니다.

...