Asynchronous consumer VS Synchronous consumer
장점 | 단점 | |
Asynchronous consumer | 요청을 처리하는데 스레드를 추가로 생성할 필요가 없어 더 높은 성능을 이끌어낸다. | 코드가 어렵다. |
Synchronous consumer | 특별한 코드가 필요없어 편리하다 | Asynchronous consumer에 비해 성능이 뒤떨어진다. |
언제나 Asynchronous consumer를 사용해야 하는가?
대답은 No다.
- Django model에 접속할 필요가 있을 때
- Synchronous 작업이 필요할 때
이 2가지 경우에는 Synchronous code로 작성해야만 한다. agiref.sync.sync_to_async 및 channels.db.database_sync_to_async와 같은 유틸리티를 사용하여 Asynchronous consumer에서 Synchronous code를 호출할 수 있습니다. 그러나 async-native libraries만 사용하는 경우보다 성능 향상 효과가 낮습니다.
'개발 공부 > Django' 카테고리의 다른 글
django channels - Consumer (0) | 2021.07.18 |
---|---|
django channels - Heroku deploy (0) | 2021.07.15 |
django channels - Tutorial Part 2: Implement a Chat Server (0) | 2021.07.04 |
django channels - Tutorial Part 1: Basic Setup (0) | 2021.07.03 |
Serializer (0) | 2021.06.22 |