OneSignal의 Rust 4년 실전 사용기
(onesignal.com)- 2016년부터 프로덕션에서 Rust 이용중
ㅤ→ 메인 푸시 딜리버리 서비스부터, 분석데이터 처리를 위한 Kafka Consumer 들까지
- 2016년 초당 12.5만개, 주당 20억개 푸시 → 2020년 현재 초당 1.75백만개, 일 70억개로 24x 커지는데 Rust가 큰 도움
Pros and Cons
- Rust 는 여전히 안전에 대한 오버헤드 없이 강력하고 성능이 뛰어난 시스템을 만들수 있게함
- 2015년에 비해서 많이 성숙했지만 아직도 언어가 변화중
- Rust-Analyzer가 매우 발전해서 자동완성, 리치 툴팁, 정의로 이동, 오류/경고/린팅 표시 및 리팩토링 지원까지 추가됨
- 컴파일속도 개선을 위해 인크리멘탈 컴파일이 추가되었으나, 아직 Go가 컴파일속도는 빠름. 하지만 Rust가 매 릴리즈마다 빨라지는 중
- HTTP 에 대한 문제는 Future 와 async/await 덕분에 많이 사라짐
ㅤ→ 2016년 부터 많은 향상이 있었지만 그중 가장 유용한 변화는 바로 비동기 프로그래밍의 도입
- Rust가 엄청 새로운 것들이 많이 추가되어 왔지만 아직도 많은 재미난 변화가 있을것으로 예상
ㅤ→ Generic Associated Types (#1598)
ㅤ→ Custom Test Frameworks (#2318)