diesel rust_在Rust和Diesel中创建便捷的微服务

diesel rust

Rust是目前最受关注的语言之一。 虽然该语言在去年五月刚刚达到1.0,但它在稳定性和功能方面Swift发展。 由于这种快速而稳定的增长,Rust确实引起了编程界许多人的关注。 但是,是什么使Rust如此吸引人? 这值得我们花费时间和精力吗?

使Rust真正令我兴奋的是,它开始被公认为C / C ++替代品。 我个人从来没有真正关心过C和C ++的设计,但是Rust似乎解决了许多我不喜欢这些语言的问题。 更重要的是,它使我再次对低级系统编程感到兴奋!

作为Rubyist,我对Helix等项目非常感兴趣,这些项目允许开发人员使用Rust作为扩展Ruby库(而不是C)功能的手段。 随着Helix的孕育和成熟,Rust很可能在不久的将来成为基于Ruby的堆栈的重要组成部分。

Rust社区中发生了很多值得一提的事情。 但是,尽管我认为Rust的未来令人兴奋,但重要的是要了解Rust在当今的应用方式

我之前写过这样的想法,即在您的堆栈中添加相当新的语言或框架可能会带来相当大的风险。 在较年轻的语言中,突破性变化往往发生得更多,Rust也不例外。 尽管Dropbox和Mozilla等公司在生产中都有大量基于Rust的项目,但我仍然相信,与他们相比,让我们承担较小的风险是明智的。

这就是微服务在您的体系结构中具有强大优势的地方。 它们使您能够冒着Rust等新事物的风险,并以相当低的成本将其实施到您的生态系统中。 同样,这并不能消除使用较年轻语言的风险和风险。 但是,它无疑使您可以承担较小剂量的风险。

我想探索的想法是在Rust中创建一个小型微服务的感觉。 有多难? 可能吗 我需要什么工具? 这个想法伴随着健康的问题清单。

因此,我们将要做的是:我们将假设我们有一个具有基本API的博客应用程序。 尽管听起来有些愚蠢,但我们将创建一个使用此API的Rust服务,并将每个博客帖子存储到数据库中。 假设我们有一个看起来像这样的Blog API项目,让我们利用Rust来创建一些很棒的东西!

培养锈

在开始任何这些之前,我们需要找出将Rust引入我们的编程环境的最佳方法。

有两种非常简单的方法来设置Rust。 但是,我个人使用RustUp来处理Rust版本。 这很像Ruby的RVM或Node的NVM。

RustUp的出色之处在于它能够轻松在Rust的两个发行渠道之间切换。 对于那些不知道的人,Rust本质上有两种语言实例。 一个实例(或通道)被称为“稳定”,其中包含稳定的功能。 另一个称为Nightly,它包含边缘功能。

对于我们今天要构建的内容,我将使用Nightly。 这似乎是一个奇怪的选择,因为我们正在寻求创建更“稳定”的东西。 但是,对于Rust来说,对未来进行计划会比较明智,因为我们知道许多这些功能最终都将进入稳定的Rust。

要在RustUp中进行设置:

rustup install stable
rustup install nightly
rustup default nightly

这应该将Nightly安装在我们的钥匙串中,并使其成为我们创建的任何新项目的默认Rust源。 如果您想使用Stable,请不要担心。 您随时可以随意切换回它!

现在通过Cargo(Rust的本地包管理器)创建Rust项目:

cargo new rustweb

这应该在当前目录中创建一个非常简单的Rust项目。 如果您打开该项目,则可以看到它包含一个名为Cargo.toml的文件。 这是我们对文件的依赖关系存储的地方。

Cargo.toml与我们在NPM的package.json或Rails的Gemfile看到的非常相似。 该文件列出了项目依赖项,而我们出色的工具可帮助我们找出其余部分。

用柴油生Rust

一群很棒的软件开发人员最近创建了一个称为Diesel的Rust框架。 柴油很有趣,因为它从Rails的Active Record中汲取了许多ORM设计灵感。 基于我在Rails中的经验,我发现Diesel确实很有吸引力并且易于使用。

Diesel需要一些额外的设置,但是它使我们能够相对轻松地根据自己选择的数据库查询数据。 它还将帮助我们稳定地构建微服务。 让我们来看看。

设置柴油

我们将密切关注Diesel已发布的教程 。 但是,我们将在中途偏离它的路径来创建我们的服务。 如果我说的话让您感到困惑,请参阅其指南以获取清晰的信息。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值