成功故事:Rust在企业领域的应用

#zalando

本文描述了zalando公司从Scala转向Rust的成功故事。

缘起:

2016年该文作者作为Scala开发者加入了Zalando公司。半年后,他们打算开始做一个新的应用,与此同时,团队内商量该使用什么新技术,Rust就在这时被提及,同时他们也用Rust快速实现了原型,但是最后这个新应用被取消了。但Rust却成为了该团队的一门候选语言。

碰壁:

不久之后,Zalando的主要服务(Scala Web)出现了一些问题。在高负载情况下,应用程序出现了大量的内存占用,有时也会耗尽内存。所以他们起了一个念头:用Rust重写整个服务会怎么样?经过几天的实验,重写了该服务,测试以后发现比之前的scala程序有更好的延迟,内存和CPU也占用更少。而且可以处理更多的负载。这时,他们的领导友情提醒,Rust并不是团队的「官方」技术,如果要将此Rust程序正式上线到生产环境,可能会出现严重的风险。最后经过Zalando技术团队内部协商,Rust最终被决定为「评估」状态,所以这件事就又就此作罢了。

破竹:

事情在2017年中期实施新的服务产生了转机。他们准备实现一个简单的流服务,就是执行一些RESTful调用再将数据写入redis。领导再次对他们表示了关切:是否可以真的上生产环境?新人来了以后如何接手Rust?于是他们在接下来的几周内,重点分析了应用程序中可能出现的问题,并找出了如何使用Rust来避免这些问题,核心原因是Rust的安全性和生产力,而且使用Rust可以有效地利用资源。他们有计划使用k8s来运行pods节省成本。就这样和领导「推杯换盏」持续说服花了半年时间,接近年底的时候他们都不知道到底Rust能不能上生产。

在2017年年底的时候,为了应对需求变化而对团队进行了重组。作者本来是6人团队,减少到4人。然后领导说:你们这是一个Rust团队。这真的是出乎了作者的意料。事情就这么落地了。他们从一个简单的CRUD项目开始逐步将旧的系统替换为Rust实现的新系统。最后,他们实现了最初的目标,将Rust引入了团队成为了「官方技术」。

(也许这个故事可以给你一些启示,帮助你在公司内推广Rust)

Read More


PingCAP Talent Plan 第二期火热来袭,线上课程全面开放!

Read More

另外,我给准备参与此人才计划的选择阅读《Rust编程之道》的读者,提供一些提高学习效率的建议。

  1. 先看第一章,对Rust有整体了解,重点是了解Rust社区、Rust语言架构和Rust编译过程
  2. 使用检索式阅读,把Rust By example过一遍,把Rust语法先通览一遍。
  3. 然后再看《Rust编程之道》第二章,重点理解「一切皆表达式」的概念,借此把语法再次梳理一遍
  4. 攻克所有权,同样检索式阅读看三四五章。
  5. 可以结合其他的学习资料,进行主题式阅读(针对一个主题,比较式阅读学习)

下图为检视阅读方法:


「系列文章」Rust中实现DSL的挑战

#DSL

  • Part I
  • Part II

「系列文章」理解Futrue Part I

#future #async

Read More


使用Tensorflow Rust进行人脸识别

#tensorflow #dl

本文将引导你基于一些现有模型来使用rust和tensorflow完成面部识别。 使用的是名为mtcnn的预训练模型进行人脸识别。

  • Read More
  • mtcnn

zexe: 基于零知识证明的去中心化私有计算库

#Zeroknowledge

zexe


themis 0.11.1发布

#crypto

Themis 是一个高级加密服务库。它提供了复杂的加密方式用于各种基础架构平台,新版本增加了对Rust的全力支持。

  • themis
  • Rust-Howto

tract: 适用于TF和ONNX的小型推理引擎

#ONNX #TensorFlow #deeplearn

对语音处理等实时应用也提供半实验性支持。

tract


使用Rust编写你的第一个CLI应用

#cli

文章介绍了如何使用Rust构建一个简化的cat命令

Read More


trassh: 一个简单的SSH蜜罐

#sshtrapit

类似于Endlessh,它会打开一个套接字并伪装成一个 SSH 服务器,非常缓慢地发送一个无休止的随机 SSH banner,使 SSH 客户端一次锁定数小时甚至数天。目的是将真正的 SSH 服务器放在另一个端口上,而在虚假的服务器上卡住入侵者,防止其影响到真正的服务器。

tarssh


Inko: Rust实现的面向对象语言

#lang

号称安全无痛地处理并发,主要是支持类Erlang轻量级进程来处理并发。

inko-lang.org


Rust和性能测试指南

#benchmarking

这篇文章主要关注在Rust中如何创建令人满意的基准测试

Read More


日报订阅地址:

  • Telgram Channel
  • 阿里云语雀订阅
  • Stemmit
  • Rust.cc论坛
  • GitHub

【Rust日报】 2019-04-04相关推荐

  1. 开发者日报 2019年04月01日

    01 新闻 NEWS 微软警告员工不要参与愚人节恶作剧 在一份由 Verge 获得并得到证实的内部备忘录中,微软营销主管 Chris Capossela 警告所有员工不要参与烦人的愚人节恶作剧,她指出 ...

  2. rust主播排行_「Rust日报」2019每周精选 • 第四期

    前言: 从2018年开始,我每天会花1个小时关注Rust社区动态,并且在Rust.CC论坛.tg channel.Steemit.GitHub.语雀订阅都开通了Rust日报,分享我每天的见闻,偶尔也夹 ...

  3. 《SRPG游戏开发》导航(2019.03.04更新)

    <SRPG游戏开发>导航 第一章到第五章并没有使用Markdown,且经过CSDN几次改版和取消目录,这几章排版有些怪怪的. 2019.03.04 第十一章(十 - 十二) ,间章 第十一 ...

  4. 【Rust日报】 2019-08-01:brpc-rs - X-lab 实验室新推出的一个rpc库

    paperclip - OpenAPI 规范的 Rust 实现 在完成后,它会实现: Rust 中的服务器端.客户端和命令行端的高效的.编译时检查的.类型安全的 HTTP API 的生成: 支持处理. ...

  5. D2 日报 2019年6月11日

    ? 开源项目 ➡️ sfyc23/EverydayWechat watch 34 star 1690 fork 317 每日自动给女朋友发微信暖心话. github.com ➡️ YMFE/yapi ...

  6. D2 日报 2019年1月2日

    官网阅读获得更好的体验,传送门<日报 2019年1月2日> 你有一个苹果,我有一个苹果,交换之后我们还是各自有一个苹果. 你有一份知识,我有一份知识,我们互相分享一下就都有了两份知识. 开 ...

  7. AI公开课:19.04.04李航—字节跳动AILab总监《深度学习与自然语言处理:评析与展望》课堂笔记以及个人感悟

    AI公开课:19.04.04李航-字节跳动 AI Lab总监<深度学习与自然语言处理:评析与展望>课堂笔记以及个人感悟 导读 1.关于李航教授       李航,字节跳动科技有限公司人工智 ...

  8. D2 日报 2019年4月17日

    ? 新闻 ➡️ Is React Translated Yet? ¡Sí! Sim! はい! react 文档翻译了多种语言 reactjs.org ? 开源项目 ➡️ formal/packages ...

  9. 面试题 04.04. 检查平衡性

    面试题 04.04. 检查平衡性 计算子树的高度差<2,一次遍历的话出现不平衡直接返回-1 /*** Definition for a binary tree node.* struct Tre ...

  10. C++算法学习(力扣:面试题 04.04 检查平衡性)

    力扣:面试题 04.04 检查平衡性 实现一个函数,检查二叉树是否平衡.在这个问题中,平衡树的定义如下:任意一个节点,其两棵子树的高度差不超过 1. 示例 1: 给定二叉树 [3,9,20,null, ...

最新文章

  1. 贾扬清、Alex Smola、Julia创始人等大咖齐聚,WAIC开发者日共话AI未来
  2. FreeRTOS(四)——内存管理
  3. 对重复的记录使用SQL进行查询和删除等操作
  4. JZOJ 3693. 【NOI2014模拟6.20】慎二的随机数列
  5. gdb x命令_详解gdb的使用技巧
  6. RTP与RTCP协议介绍
  7. Beanstalked的初步了解和使用(包括利用beanstalkd 秒杀消息队列的实现)
  8. 写题过程中碰见的小问题
  9. BGP——同步功能【Synchronization】【路由黑洞】
  10. 伯克利2019深度学习课程—李沐及其亚马逊同事一起讲述(内附视频链接及PDF下载)
  11. 程序员的进阶课-架构师之路(3)-线性表
  12. PHP案例:连接数据库实现登录功能
  13. HTML示例08---CSS3概述
  14. 项目管理手记(八) SaaS模式的DRP系统是否适用?
  15. python画指北针_Python-geopandas 中国地图绘制
  16. 关于对比型数据与分布型数据的图表可视化
  17. 计算机安全模式怎么消除计,win10如何解除安全模式,教您如何解除电脑安全模式...
  18. [干货]网页端、移动端导航设计模式全解
  19. winform Control与UserControl的区别
  20. matlab传感器避障小车,激光雷达避障小车的制作

热门文章

  1. 【自用】R语言处理GEO转录组数据记录
  2. 阿里天池比赛——街景字符编码识别
  3. 华三防火墙web端口_HCL模拟器防火墙WEB方式登录配置
  4. 第五章 定积分及其应用
  5. win10安装mujoco一点细节
  6. centos7 虚拟机不识别U盘
  7. 阿里P6和P7待遇差别有多大网友干的活差不多,工资差很多
  8. 无需ROOT安卓备份Soul应用数据并提取聊天记录
  9. 单片机==共阴数码管(4)
  10. TQFP 和LQFP 器件的焊接方法