Versions Compared

Key

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

...

Note

원격메시지에대한 안정적인 공급/소비 문제를 해결하기위한 좋은 툴로 Kafka가 등장하였고 범용적으로 사용되고 있습니다.

하지만 모든 실시간 메시지를 중앙에서 분산관리하느냐? 로컬적인 메시지를 자기들끼리 알아서 처리하게하느냐?

목적성에 따라 장단점이 있는부분입니다.

리모트 액터로 Kafka와 같은 역활을 모두 대체시키는것은 권장되지 않으며,

모든 실시간 메시지를 Kafka를 통해서 하는것도 올바른 설계방법이 아닙니다.

액터로 설계된것은 Kafka와도 완벽하게 상호연동이 되기때문에 목적성에 맞게

잘구분하여 사용할 필요가 있습니다.


아래와 같은 차이가 있으며, RemoteActor와 Kafka 전송 난이도는 큰차이가 없으며

이기종통신일때 Kafka가 이점이 있으며, 같은 기종 Java객체 전달할때 RemoteActor가

조금더 설계의 이점이 있습니다.

  • netty를사 용하여 저수준 메시지전송 기능을 구현한다. ( 분산처리를 직접설계해야해서 어려움 )
  • netty가 추상화된 RemoteActor를 사용하여 메시지 전송을 구현한다. (분산처리를 위해 AkkaCluster를 이용하고 내장형)
  • kafka를 이용하여 메시지를 전송한다 ( 분산처리를 위해서 주키퍼의 클러스터 구성이 필요하며 외장형임)