You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

루나소프트  CRM - 이상한 툴킷(똑바로 읽어도 거꾸로 읽어도 AKKA입니다.)

활용편으로, 사용가능한 소스가 일부포함되어 있습니다.  

서비스 소개 - 루나소프트 솔루션



루나코인과 무관하며, 다양하게 파트너사로 확보한 채널또는 호스팅( 카카오채널,네이버톡톡,메타,CAFE24,MakeShop ) 을 통해 E-Commerce를 위한 구축형이아닌 SaaS형태의 CRM/메시지/마케팅 솔루션을 제공하고 있습니다.

Luna는 통상 달, 혹은 달의 여신을 지칭하지만 미칠 듯한 열정(lunatic)을 뜻하는 중의적 의미도 담고 있습니다. 치열한 E-commerce 생태계 속에서 어두운 밤길을 안내해 주는 달빛처럼 길을 제시하고, 파트너사들의 성공적인 내일을 위해 열정적으로 뛰겠다는 사명감을 가지고 시작한 루나소프트는 기존의 서비스들과 다른 새로운 아이템과 기술력으로 문화와 유행을 만들기 시작했습니다.

- 그레이


링크 : https://lunasoft.co.kr/home/main/page/company/partner


해결사례와 적용사례


스마트 플러스 상품연동

  • 호스팅 연동 상품정보 병렬및 동시성처리를 위해 멀티스레드를 대신하여 Akka의 Dispatcher가 활용되고 있으며 상품정보를 안정적으로 업데이트하고 있습니다.  - Spring Boot With AKKA

나이키 드로우 이벤트 - 타임리밋 이벤트


문제 : 나이키 드로우 이벤트에서는 타임리및 이벤트를 진행하며, 전설적인 상품의 경우 100만건 이상의 이벤트가 짧은 시간에 응모됩니다. 순식간에 발생하는 대용량 이벤트를, 초기 시스템은 처리하지 못하였습니다.

해결 : 우리는 측정기를 빠르게 만들었고 그와함께 커스텀하게 부하를 줄수 있는 AKKA 분산처리 부하기를 만들었습니다. 그리고 로드밸런스및 발송기 처리률을 개선하여 나이키의 전설적인 이벤트를 안정적으로 처리하게 되었습니다.

AKKA 분산처리기

AWS의 로드밸런스, 순간 최대 TPS가 1024란 사실은 알기가 어렵습니다.  대용량 메시징 발송에서 1024는 너무도 작은 숫자이지만, 일반적인 서비스에서는 충분한 숫자일수 있습니다.

AWS의 로드밸런스를 무력화시킬 로드테스트를 하려면 단일장비로는 트래픽유발하기가 어려우며 부하기또한 분산처리 가 되어야 합니다.


성능측정

측정을 하지못하면 개선 또한 할수 없습니다.호출량 만큼 측정이되어야하며 유실또한 없어야합니다. 


참고기술


이벤트 실시간 적재및 분석

CRM서비스에서 유용한 실시간 이벤트는 불특정하게 발생하며, 배치가 아닌 스트리밍형태로 즉각 처리를 하기위해 AKKA가 부분활용되었습니다.

고성능 이벤트 처리기 

문제 : 1000개의 이벤트가 1초내에 외부로부터 발생했다고 가정해봅시다. 1000개의 개별 이벤트를  DB를 순신간에 저장해야한다면 커넥션풀 1000개를 순식간에 소진할것입니다. 그리고 이것은 대부분 이벤트 대량 유실및 장애로 이어지게됩니다.

해결 : 이벤트 적재의 저장소 라운드트립을 줄이기위해 FSMACTOR를 사용되었으며 위와같은 케이스에서 라운드트립 1이면 충분합니다. - Kafka와 연계되어 메시징 분산처리 성능및 보장능력을 더 개선할수 있습니다.




고객의 문장을 형태소분석을 통해 단어를 분리하고, 해당 단어와 매칭이 될시 자주쓰는 메시지 설정을 통해 빠른 상담이 가능합니다. 

고객이 사용한 단어는 곧 트렌드가 될수 있습니다.


상담트렌드 실시간 형태소분석

상담에 사용된 고객의 문장을 단어로 분리하여 트렌드를 파악하는 내용으로 실시간 메시지 처리를위해 , 형태소분석기를 액터에 탑재하고 실시간 이벤트 적재를 위해

AKKA 이벤트 처리기가 이용되었습니다. ( 대시보드는 ELK-키바나 활용)





쇼핑 이커머스 대부분의 상담내용은 교환/반품에 해당하며, 항상 랭킹 1,2위에 언급되며

해당 CS처리를 위한 택배회수 챗봇기능이 제공됩니다.  단어 세그먼트 연결및 분리를 통해 다양한 정보를 확인할수 있습니다.

  • 반품 - 회수 - 지역명 - 
  • 언급된 상품 카테고리 : 원피스-블라우스-사이즈-색상
  • 고객의 카테고리 : 퇴실(호텔) / 복숭아(식품) 
  • 불편한 기능 : 로그인/ 가입 
  • 고객감동 : 감사

CRM EVENT GRAPH


이벤트를 단지 적재하고 통계를 내는것만으로는  부족하며, 모든 이벤트를 연결시키는 것입니다.

실제 상담내용 : "혹시 아래 나이키 신발과 어울릴만한 스커트나 원피스 있을까요? 많이 걸어야하고 아이가 어려 신발은 편한걸 신어야하는데 오랜만에 스커트가 입고싶어서 구매하려고 합니다.

제가 둘러보았는데 코디때문인지 모던하고 여성스런스타일이라 저신발엔 어울릴지 모르겠어서 챗드려요"  - 원피스복장에도 나이키 신발을 찾는 고객의 니즈가 있음

루나톡-WORD.mp4




참고기술



기다림이 없는 메시지 전송 - TELL ( Forgot And Fire )


카카오모빌리티 챗봇/채팅상담 - 루나개발제공


챗봇에서 발생하는 챗봇응답속도를 위해 메시지를 비동기적(액터 Tell)으로 저장하고

이후 챗봇에서 발생한 데이터를 활용하여 빠른 CS상담처리가 됩니다. 

챗봇의 액션을 저장하기위해 고객은 그 시간을 기다릴 필요가 없습니다.


레거시를 위한 지원 - 메시지전송기능 지원


기존 레거시 시스템이 큐처리및 변경이 불가한경우,  API연결지점을 만들어 AKKA에서 제공하는 큐기능으로

메시지 순차처리및 메시지 우선순위(메일BOX) 같은것을 지원할수 있습니다.

링크:



  • No labels