antd picker 使用 如何_如何打造 Serverless JavaScript 全栈商业级应用?

2019 年底我们发布过一篇《O’Reilly 1500 份问卷调研:2019 年 Serverless 落地到底香不香?》,揭示了海外 Serverless 的落地情况,但中国 Serverless 的落地实践分享相对较少,似乎谁都在喊 Serverless,谁都不知道别人落地的怎么样了。希望通过这篇语雀的实践文章,大家能管中窥豹,一起探索 Serverless 落地实践。

语雀技术架构演进

1. 原型阶段

语雀诞生于 2016 年,当时蚂蚁金融云需要一个工具来承载它的文档。当时负责的技术同学利用业余时间,开始搭建这个文档工具。项目的初期,没有任何人员和资源支持,同时也为了快速验证原型,技术选型上选择了最低成本的方案。

底层服务完全基于体验技术部内部提供的 BaaS 服务和容器托管平台:

  • Object 服务:一个类 MongoDB 的数据存储服务;
  • File 服务:阿里云 OSS 的基础上封装的一个文件存储服务;
  • DockerLab:一个容器托管平台。

这些服务和平台都是基于 Node.js 实现,专门给内部创新型应用使用,也正是由于有这些降低创新成本的内部服务,才给工程师们提供了更好的创新环境。

应用层服务端自然而然的选用了体验技术部开源的 Node.js Web 框架 Egg(蚂蚁内部的封装 Chair),通过一个单体 Web 应用实现服务端。应用层客户端也选用了 React 技术栈,结合内部的 antd,并采用 CodeMirror 实现了一个功能强大、体验优雅的 markdown 在线编辑器。

b6d0349c7fea2ad79fc6b6ee9f7710bf.png

这时可以算作语雀的“原型阶段”,它仅仅是一个工程师的业余项目,采用内部专为创新应用提供的 BaaS 服务和一系列的开源技术解决方案,验证了在线文档工具这个产品原型。

PS:当时我还不在语雀团队,但是巧的是我却在给语雀提供 Object、File 等 BaaS 服务和 Egg.js Web 框架的支持。

2.如何打造?

点击文末了解更多查看。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/277627.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Android Studio安装部署系列】十三、Android studio添加和删除Module 2

版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 新建、导入、删除Module是常见的操作,这里简单介绍下。 新建Module File——New——New Module... 选中Android Library 修改Library名称 在项目工程中修改依赖 和添加下面…

Kinect开发笔记之七Visual Studio结合C#调控Kinect俯仰角度

总感觉自己前面啰啰嗦嗦写了好多,却一直都没有使用用开发kinect的重型武器——Visual Studio。 那么本次我们就借助于Visual Studio,写一个C#程序,连接Kinect并调用Kinect SDK标准函数库来改变Kinect的俯仰角。 首先我们打开VS创建一个项目…

hadoop HDFS常用文件操作命令

命令基本格式: hadoop fs -cmd < args >1.ls hadoop fs -ls /列出hdfs文件系统根目录下的目录和文件 hadoop fs -ls -R /列出hdfs文件系统所有的目录和文件 2.put hadoop fs -put < local file > < hdfs file >hdfs file的父目录一定要存在&#xff0c;否则…

定量库存控制模型_探索全面流动管理TFM 库存控制与低减的理性策略

库存乃万恶之源库存不仅占用了资金&#xff0c;还占用了各种管理性资源&#xff0c;形成了“财务性显性成本“而且过多的库存导致“缓冲区”的存在&#xff0c;还使得各类问题变得不那么紧迫&#xff0c;从而掩盖了各类隐藏的问题&#xff0c;这被称为“隐形成本”零库存不仅做…

android studio更新之后打包遇到V1(Jar Signature)、 V2(Full APK Signature)问题

昨天更新了android studio 打包时遇到两个勾选框&#xff0c;于是开始了解… 问题 刚开始默认是勾选 V2&#xff08;Full APK Signature&#xff09;&#xff0c;然后我就打包去测试先了&#xff0c;发现安装失败。之后发现与签名有关系。 发现 android 7.0中引入了APK Signatu…

C#——一个简单的文件管理器

最近在紧张的学习C#&#xff0c;说实话对C#之前没有太多的接触过&#xff0c;只知道C#的特性与java很相似&#xff0c;接触了之后才发现C#跟java相比区别不是很多&#xff0c;但它是一门实现程序能力比Java还要好的语言&#xff08;仅代表个人观点&#xff09;。 有许多新手在…

关于epoll,select,poll的理解

select: 轮询fd_set 1.采用fd_set存储fd&#xff08;fd_set通过数组位图实现&#xff09; 2.每次调用select&#xff0c;都需要把fd集合从用户态拷贝到内核态&#xff0c;fd越多开销越大 3.每次调用select&#xff0c;都需要在内核遍历传递进来的fd&#xff0c;开销大(轮询&…

kali linux超级用户_如何优雅的在Linux上使用Powershell]

点击上方“蓝字”关注我们吧&#xff01;译文声明本文是翻译文章&#xff0c;文章原作者 TJ Null文章来源&#xff1a;https://www.offensive-security.com原文地址&#xff1a;https://www.offensive-security.com/offsec/kali-linux-powershell-pentesting/译文仅供参考&…

Laravel5.5 MySQL配置、读写分离及操作

2019独角兽企业重金招聘Python工程师标准>>> Laravel 让连接不同数据库以及对数据库进行增删改查操作: 参考&#xff1a;http://laravelacademy.org/post/854.html 配置读写分离 应用的数据库配置位于 config/database.php&#xff08;但是数据库用户及密码等敏感信…

Kinect开发笔记之八C#实现Kinect声音的追踪

声明&#xff1a;本文中特征多针对Kinect for windows 1.0&#xff0c;新版的Kinect Sensor可能有部分数值或方法有一定变化&#xff0c;请知晓。Kinect的声音来自下方的4个麦克风组成的麦克风阵列。传感器内含数字信号处理器&#xff0c;可以用来强化接受声音的清晰度同时处理…

Nginx常见配置:负载均衡、限流、缓存、黑名单和灰度发布

一、Nginx安装&#xff08;基于CentOS 6.5&#xff09; 1.yum命令安装 yum install nginx –y(若不能安装&#xff0c;执行命令yum install epel-release) 2. 启动、停止和重启 service nginx startservice nginx stopservice nginx restart浏览器中 输入服务器的 ip 地址&…

国服服务器_《Minecraft我的世界》第三方服务器的基本储备

今天我想单独来聊一聊Minecraft我的世界第三方服务器的发展。世外荒原玩家作品我来到头条的第一篇文章就发表了一篇我对Minecraft现状的看法&#xff0c;现在国服的状态对老玩家不是很友好。(这不说明国服的运营战略路线是有问题的)因此诞生了一大堆第三方服务器。世外荒原玩家…

Unity中Time.deltaTime的含义及其应用

相信Unity的开发者或者初学者都对Time.deltaTime并不陌生&#xff0c;我们经常会在代码中用到或者看到它&#xff0c;今天去官方的API文档查了一下&#xff0c;感觉它非常有用&#xff0c;所以翻译一下以引导初学者。 原文网址&#xff1a; file:///Applications/Unity/Unity…

unity3d曲线text文本

测试.pngusing System; using System.Collections.Generic;namespace UnityEngine.UI.Extensions {/// <summary>/// Curved text.让文本按照曲线进行显示 【注意对Image的变形 也是可以的】/// 说明&#xff1a; 对Text的操作就和 shadow 和 outline 组件类似。/// <…

HTML 和CSS

1 HTML 介绍1.1 web 服务本质import socket sk socket.socket() sk.bind(("127.0.0.1", 8080))sk.listen(5) while True: conn, addr sk.accept() data conn.recv(8096) conn.send(b"HTTP/1.1 200 OK\r\n\r\n") conn.send(b"<h1>Hello world…

Unity中Quaternion的含义及其使用

官网API文档&#xff1a; file:///Applications/Unity/Unity.app/Contents/Documentation/html/en/ScriptReference/Quaternion.html Quaternion的意思是四元数&#xff0c;用于代表旋转。 它们是紧致的&#xff0c;不会产生万向节死锁并且能够很容易被插值。Unity内使用Quat…

Python PIPEs

2019独角兽企业重金招聘Python工程师标准>>> https://www.python-course.eu/pipes.php https://www.tutorialspoint.com/python/os_pipe.htm 转载于:https://my.oschina.net/zungyiu/blog/1860857

延时消息_Handler的消息延时是怎么实现的

消息延时做了什么特殊处理&#xff1f;是发送延时&#xff0c;还是消息处理延时&#xff1f;延时的精度如何&#xff1f;通常我们使用Handler的消息延时都是调用sendMessageDelayed函数实现的&#xff0c;其中delayMillis是需要延时的毫秒。通过跟踪sendMessageDelayed函数可以…

5月JC学习总结

断剑重铸之日&#xff0c;王者归来之时。为了更美好的明天而战。 五月 悄悄地过了 人儿 不觉中散了 携着一腔热血&#xff1b;来到蛟川 来到机房 微凉的轻风&#xff0c;无声地去了 炽热的骄阳&#xff0c;即将要落了 站在4楼&#xff0c;向窗外眺望&#xff0c;映出的不是夕阳…

4 关卡流 进阶_全息武器全解析,记住4个点全区第一就是你!

实不相瞒&#xff0c;每次看着全息武器糖糖都感觉自己像钢铁侠高端大气上档次&#xff0c;低调奢华有内涵那么问题来了&#xff01;这个全息武器究竟该怎么玩才能成为真正的钢铁侠&#xff1f;我的使命之全息武器【作者&#xff1a;D38激战阿曼——潜龙小生】全息武器在属性增加…