728x90 반응형 AXUM8 Rust axum VS Java Spring boot 속도 테스트 rust 백엔드는 java 백엔드보다 빠를까? 라는 이야기로 간단하게 테스트를 해보았습니다.Rust는 axum 0.8.3을 사용하였습니다.Java는 Spring boot Web 3.4.4를 사용하였습니다.open api를 활용하여 하고자 하였으나, 초당 건수 제한과 총 건수 제한으로 인하여 간단한 로직을 구성한 후, 테스트를 진행하였습니다. test는 jemter를 사용하였습니다.설정Numbeer of Threads = 50seconds = 60Loop Count = InfiniteDuration : 180Spring boot처리량 : 85527, tps : 473.2/sec처리량 : 83539, tps : 462.6/sec처리량 : 83999, tps : 465.0/secRust처리량 : 109820,.. 2025. 4. 4. Rust로 백엔드 개발기(feat. 메이플스토리) - 09 Main 함수 정리 이번 시간에는 main함수에 선언한 불필요한 내용들을 분리하는 방법에 대해 배워보고자 합니다. 현재 개발중인 프로젝트의 main.rs에는 다음과 같이 매우 복잡하게 작성되어져 있습니다.#[tokio::main]async fn main() { // TODO : VEC 형식으로 가져오는 값 자체가 null인 경우 예외처리 하기 let app = Router::new() .route("/getOcid", post(get_ocid)) ... .layer(Extension(api_key)) .layer(cors); let listener = tokio::net::TcpListener::bind("{ip}:{port}").await.unwrap();.. 2025. 4. 2. Rust로 백엔드 개발기(feat. 메이플스토리) - 08 사용자별 요청 처리 이번 시간에는 user_ocid 값을 어떻게 사용자별로 사용하여 api를 호출할 수 있는지에 대해 다뤄보고자 합니다. 현재 maplestory open api를 활용하는 프로젝트에서 rust의 axum을 활용하여 백엔드를 개발중인 상태입니다. maple open api에서는 getOcid를 통하여 사용자 ocid값을 가져오고, 이를 다른 사용자 관련 다른 api들에서 해당 ocid 값을 통하여 통신을 진행합니다. 그러다보면, getOcid로 가져온 값이 사용자별로 다르게 작동해야만 합니다. 이 부분은 frontend와 통신을 진행하면서 어떤 방법으로 사용자를 특정지어 사용할 것인지에 대하여 이야기가 필요합니다. 해당 포스팅을 통하여 frontend와 이야기를 통해 진행하고자 했던 방식들에 대하여 이야기해.. 2025. 3. 31. Rust로 백엔드 개발기(feat. 메이플스토리) - 07 Null 제외하는 방법 이번 시간에는 몇가지 기능을 추가 개발하면서, rust에는 없는 null관련 데이터를 가져오는 방법에 대해 배워보도록 하겠습니다. rust에는 null이 없지만 response로 받은 json에 null값이 포함되어 있는 경우에 대하여 대처할 수 있습니다.방법 1 Optionrust에는 Option이라는 함수를 통하여 해당 값이 있는 경우와 없는 경우로 나눠서 체크할 수 있습니다. 다음과 같이 skill에 대한 정보를 불러오는 구조체가 있다고 생각해봅시다.pub struct SkillInfo { pub skill_name: String, pub skill_description: String, pub skill_level: i8, pub skill_effect: Option, p.. 2025. 3. 31. 이전 1 2 다음 728x90 반응형