Coroutine Actor 이용해서 단일 서버 락 구현하기" data-og-description="📌 Actor🔵 Actor란?Actor 모델은 병렬 프로그래밍에서 상태를 가진 개체가 메시지를 주고받으며 비동기적으로 동작하는 개념이다.즉, 자체적인 상태를 가지고 메시지를 수신하며 이를 처리하는 " data-og-host="wtg1026.tistory.com" data-og-source-url="https://wtg1026.tistory.com/19" data-og-url="https://wtg1026.tistory.com/19" data-og-image="https://scrap.kakaocdn.net/dn/bnwsFD/hyWSioV8Ax/7O8RmVDgoySIRbq3uEYrkk/img.png?wi..
📌 Actor🔵 Actor란?Actor 모델은 병렬 프로그래밍에서 상태를 가진 개체가 메시지를 주고받으며 비동기적으로 동작하는 개념이다.즉, 자체적인 상태를 가지고 메시지를 수신하며 이를 처리하는 논리를 가지고 있는 실행 단위이다.코루틴에서도 스레드 간 동기화를 지원하기 위해 이를 지원해 준다. actorLaunches new coroutine that is receiving messages from its mailbox channel and returns a reference to its mailbox channel as a SendChannel. The resulting object can be used to send messages to this coroutine. The scope of the..
📌 에러 상황현재 수수에서 Slack을 통계, 에러 알림으로 사용하고 있다.근데 가끔 Slack 메시지 전송이 실패했다고 알림이 온다.스케줄러 에러인 것을 보아, 통계 알림의 슬랙 메시지 전송 부분에서 발생한 것을 알 수 있다.근데 위에 보여준 건 여러 개 중 하나이다.다행히 모두 통계 알림 에러이다.하지만 이 일이 에러 알림에서 발생해도 이상하지 않다.센트리로 에러 사항이 기록되긴 하지만 개발자가 이 에러의 발생을 빠르게 파악할 수 있는 것은 슬랙 알람뿐이다.그러므로 알람이 전달됨을 보장해주는 로직이 필요했다. 📌 처리에 관한 고민처음엔 서킷 브레이커를 생각했다.슬랙이 오랜 기간 동안 장애가 발생한다면 시스템의 안정성을 높이는 부분에 있어서 유용할 것이다.하지만 슬랙이 오랜 기간 동안 장애가 발생..
📌 실험 개요Webflux는 적은 리소스에서 MVC에 비해 많은 요청을 처리할 수 있고, Coroutine은 스레드를 사용하는 것보다 메모리 자원을 효율적으로 관리할 수 있다고 한다.인터넷에 Webflux vs MVC를 비교한 글은 많아도, Webflux + Coroutine vs MVC를 비교하는 글은 없는 것 같다.이에 위 두 환경을 만들어서 앞서 언급한 부분에 대해 증명하고자 한다. 수수에서 Reactive Stack을 사용했는데, Webflux + Coroutine + JPA 조합을 사용했다.이와 흔히 사용하는 MVC + JPA 조합을 비교하고자 한다. 📌 실험 내용🔵 실험 목표이 실험을 통해 알아보고 싶은 점은 아래와 같다.MVC와 비교했을 때 Webflux의 요청 처리 능력Coroutin..
📌 SUSU 프로젝트YAPP 23기에서 진행한 경조사비 관리 서비스이다.자세한 내용은 아래 링크를 이용하면 된다.결혼식, 돌잔치, 장례식, 생일 같은 경조사를 챙긴 적 있나요?주고받은 소중한 마음들, 수수와 함께 경조사비를 똑똑하게 관리해요! Disquiet*IT 서비스 메이커들의 소셜 네트워크. 디스콰이엇에서 서로의 프로젝트를 공유해 보세요!disquiet.io많관부 ㅎㅎ 📌 왜 Coroutine을 썼을까🔵 Coroutine 이란자세한 설명은 이 글에서 안 할 것이다.간단히 소개만 해보겠다. 위키백과에는 아래와 같이 쓰여있다.Coroutines are computer program components that allow execution to be suspended and resumed, gene..