리액티브 프로그래밍은 스트림 처리를 제외하고는 코루틴을 쓰는 게 더 낫다고 생각함
reactive를 자바로 쓰면 이벤트 디버깅도 어렵고 로그가 순서대로 찍히지 않고 내용이 적음
(지옥문이라고 함)
리액티브에 비해 코루틴이 일시정지도 가능하고 더 좋다라고 책에서는 내용이 나옴.
둘은 하려고 하는 것이 다르다고 생각하는 팀원
자바에서는 비동기를 처리하는 것이 굉장히 애매해진다.
스프링은 @async나 멀티스레드로 처리하는데 그것이 아니면
비동기 논블로킹을 위해서 reactive 이야기가 나오곤 함.
코루틴 자주 쓰는 상황
코루틴은 병렬로 때리는 것이라 디비나 api 인스턴스가 위험할 수 있는데
그것을 고려해 가면서 코루틴을 쓰는지
디비 고려 없이 RPC 등으로 외부 api를 호출한다.
사전에 공지를 하고 호출한다. -> 잘못하면 내부 서버가 트래픽 못 버티고 터져서 상대방 입장에서는 꼭 디도스 공격처럼 보이기 때문에
리액티브 프로그래밍할때 대비용으로 백프레셔를 넣었다.
신규 api 호출하는 테스트랑 예외 시 롤백하기 위한 ab test ?
(뭔소리임)
테스트를 잘 못했는데 서버에 올라왔어.
내 서버 때문에 다른 api가 터질 수도 있잖아, 그럴 경우 실시간 대응은 어떻게?