Ağ Sistemleri

Neden Rust?

Bir tüy

Düşük kaplama alanı

Belleği ve CPU ayak izini minimumda tutmak için kaynak kullanımı üzerinde kontrolü ele alın. Doğru yaptığınızdan emin olmak için derleyiciden yardım alın. Bunu da üretken ve kullanımı keyifli bir ekosistemle yapın.

Bir kalkan

Sağlam ve güvenilir

Rust’in güçlü veri tipi denetleyicisi birçok hata çeşidini önler. Durumun ne zaman ve nerede paylaşıldığını ve değiştirildiğini tam olarak bildiğinizden emin olun. Arıza noktalarının yakalanmasında yardım alın — dağıtımdan önce.

Bağlanmış dişliler

Yüksek ölçekte eşzamanlı

Sizin için en uygun eşzamanlılık yaklaşımı karışımını kullanın. Rust, durumu yanlışlıkla iş parçaçıkları veya görevler arasında paylaşmamanızı sağlar. Her ölçekleme parçasını korkusuzca elde etmenizi sağlar.

Başlayın!

Rust, web için kolay kullanılabilir kütüphanelerin bulunduğu büyüyen bir ekosisteme sahip. İşte size iki örnek:

Biraz JSON POSTlayın

// This will POST a body of
//     `{"lang": "rust", "body": "json"}`
#[derive(Serialize)]
struct Body<'a> {
    lang: &'a str,
    body: &'a str,
}

let client = reqwest::Client::new();
let res = client.post("http://httpbin.org/post")
    .json(&Body {
        lang: "rust",
        body: "json",
    })
    .send()?;
Reqwest hakkında daha fazla bilgi edinin

Bir JSON POSTuyla başa çıkın

#[derive(Deserialize)]
struct Task { name: String, completed: bool }

#[post("/", data = "<task>")]
fn new(task: Json<Task>) -> Flash<Redirect> {
    if task.name.is_empty() {
        Flash::error(Redirect::to("/"),
            "Cannot be empty.")
    } else {
        Flash::success(Redirect::to("/"),
            "Task added.")
    }
}
Rocket hakkında daha fazla bilgi edinin

Üretimde kullanım

firefox
Push bağlantı altyapımızı Rust'a geçirmek bize fantastik performans sunarken doğruluk odaklı kod tabanını korumayı kolaylaştırdı. Şimdi, Rust sunucularla yoğun saatler boyunca bir kerede 20 milyon websocket bağlantısını ele alıyoruz.

– Benjamin Bangert, Personel Mühendisi, Mozilla

Rust, Linkerd projesinin teknoloji yol haritasının temelini oluşturur. Veri tipi sistemi, çalışma zamanı performansından ödün vermeden modüler, test edilebilir, bütünleştirilebilir birimler oluşturmamızı sağlar. En şaşırtıcı olanı ise, Rust’ın yaşam süresi / ödünç alma kontrol sisteminin büyük miktarda kaynak sızıntısından kaçınmamıza nasıl olanak sağladığıdır. 2 yıldan sonra, iş için başka bir dil kullanmayı gerçekten düşünemiyorum.

– Oliver Gould, CTO, Buoyant

buoyant