加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 湛江站长网 (https://www.0759zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

使用无服务器架构的六个月里,我学到的六件事

发布时间:2018-11-08 00:08:34 所属栏目:业界 来源:Docker
导读:副标题#e# 在十月份的Serverlessconf巡讲之后,我决定领导整个公司走向无服务器架构。最初我花了几个月时间来尝试将Python Flask应用程序[1]迁移到Lambda,这些经历帮助我后来找到更好的方法。 在六个月之后,我们已在无服务化地部署我们的第四个主要项目。

DynamoDB是一种完全不同的类型。当你找对正确的实施方案,NoSQL数据库能提供了极高的性能,又能大规模,并且几乎没有管理开销。但是你真正需要的是花时间探索它是如何工作的,还有在初始阶段将会有各种各样的问题。

Dynamo表字段不能包含空字符串。备份时间点不是自动的。如果分区和排序键错误,则必须从头开始使用表。如果你尝试过于密切地模拟SQL查询,你的表可能会越来越多。从RDS转换过来会让你感觉截然不同。

经过许多教程,尝试,失败并最终成功使用DynamoDB,我学到了以下:

  • 首先你需要了解DynamoDB是如何工作的,花一些时间来了解索引策略以及你将打算如何查询数据。在没有充分了解所需知识的情况下虽然很容易开始使用,但也因此会有很多人在使用过程中备受打击,然后在错误的时间回退到RDMS。会犯错,但你需要推翻它们。
  • DynamoDB中很少被讨论到的特性之一是使用流将代码附加到表事件的方式,就像可以执行任何操作的SQL触发器一样。这些都非常强大。我们使用到的一个非常简单的模式是始终将表更新推送到SNS主题中,这些更改将可以被那些可能尚未实现的其他无服务器代码使用。
  • 不要忘记,DynamoDB同时可以提供其他存储系统(RDMS,Redshift或仅文本文件),可用于有效消除流量峰值或保护其他数据库免受大量数据的影响。DynamoDB具有TTL功能,允许你设置行过期,这对于暂存你想推送到其他地方的数据非常有用。

使用无服务器架构的六个月里,我学到的六件事

#5-无服务器框架

我早期对Lambda进行的实验很笨拙,是直接编程写入到AWS控制台中,后来开始感到诅丧,因为我需要实施大量的工作和错误信息来处理一些微不足道的事情。仅仅是因为没有一条将IDE连接到生产环境的桥梁。

直到我发现无服务器框架,多年来发现的最令人兴奋的事情非它莫属了。

一个简单的sls deploy命令就能将你的代码直接打包上传到AWS上。如果你因代码错误需要检查日志,那么你仅需简单运行sls logs -f functionname -t,你可以像专业人士一样查看CloudWatch的日志而无需通过浏览器。

这改变了以往的一切。请大力赞美无服务器的维护者们吧,因为他们做了所有云服务商从第一天就应该提供的服务。这真的是太棒了!

#6-认证授权

在传统应用程序中,你只需对用户进行一次身份验证,然后通过跟踪会话ID来跟踪此用户行为。我们喜欢这样做是因为艰难的工作仅需完成一次。

使用无服务器架构的六个月里,我学到的六件事

通过sessionID控制访问权限

(编辑:PHP编程网 - 湛江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!