redis pub/sub이나 rabbitmq의 메시지 브로커 방식이 왜 비동기 처리가 아니라는거임?? Async쓰는거 말고 위의것도 비동기로 처리하는거 아님? - dc official App
결과적으로 작업을 위임함으로써 워커쓰레드는 자기 할일하고 나가고 레디스나 메시지큐에서 따로 처리하잖아 - dc App
스트림꽂고대기라도탐?
비동기가 워커쓰레드가 실행하는 관점에서 말하는게 아님? producer 입장에선 비동기 맞잖아 - dc App
본질적으로 io처리 위임이 없으면 성능적으로 이득볼게 없어서? 비동기가 아니다라고 말하긴 애매하지만 비동기를 왜쓰는지 모른다 처럼 보이긴하네
워커쓰레드가 메시지큐에 작업할 메시지를 전송하고 다른 작업을 수행하고 컨슈머가 io작업을 처리하는데 이러면 비동기를 쓰는방법 맞는거 아님? - dc App
io처리 위임도 되는데 - dc App
논블로킹아니고 블로킹으로 스레드를 만들어 할당하는거면 이득이 1도 없고 오히려 네트워크io만 한번 더타니깐 개손핸데... 버퍼로서의미밖에 없음...
사실 제가 자바를 잘 몰라서 틀릴순 있음 논블로킹 콜백이나 알림이벤트를 mq 기반으로 받아서 처리하는식으로 대있으면 님말이맞음
근데 말하고보니 말이안되네 ㅋㅋ
내가 짠거 보니까 컨슈머에서 @RabbitListener를 쓰고 있던데 이게 블로킹임? - dc App
자바 비동기가 요즘 어케 작동하는진 몰겠다만 말하는거랑 io 논블럭 비동기처리랑은 별 상관없어보임
이벤트 기반이여서 블로킹도 아닌거같은데 - dc App
데이터베이스에 저장하는걸 수행하는데 이게 io작업이잖아 - dc App
r2dbc라도씀?
쓰던 안쓰던 큐에 던진거 받아서 할바엔 그냥 할듯
비동기는 맞고 저도 좀 잘못말함...보통 외부 통신같은거 트랜잭션이랑 엮여있을때 대기하기 시르니깐 던지고 최종 일관성만 지키는식으로 쓰는패턴
ㅇㅎ 그렇구만 - dc App
r2dbc라는것도 배워간다 ㄱㅅ - dc App
레빗큐는 숏폴링이긴하다고 들었음 아랍아재한테 계속 폴링때리면 비동기가 아니긴하지 - dc App
비동기 처리는 맞는데 쓰는 이유가 뭐임
이 작업이 디비 커넥션을 자주 차지해서 이거 해결하려고 - dc App
작업하는 서버가 분리되있음?
ㅇㅇ - dc App
비동기처리 맞음 - dc App
시스템관점 비동기 io관점 쓰기나름