<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>后端 on 古思乱想</title><link>https://blog.gusibi.site/categories/%E5%90%8E%E7%AB%AF/</link><description>Recent content in 后端 on 古思乱想</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Mon, 07 Oct 2019 09:48:04 +0800</lastBuildDate><atom:link href="https://blog.gusibi.site/categories/%E5%90%8E%E7%AB%AF/index.xml" rel="self" type="application/rss+xml"/><item><title>学习单元测试，告别祈祷式编程</title><link>https://blog.gusibi.site/post/unit-test/</link><pubDate>Mon, 07 Oct 2019 09:48:04 +0800</pubDate><guid>https://blog.gusibi.site/post/unit-test/</guid><description>单元测试编写指南</description></item><item><title>JWT RefreshToken 实践</title><link>https://blog.gusibi.site/post/jwt-refresh-token/</link><pubDate>Mon, 29 Apr 2019 21:05:57 +0800</pubDate><guid>https://blog.gusibi.site/post/jwt-refresh-token/</guid><description>jwt refresh token</description></item><item><title>Solidity 简易教程0x001</title><link>https://blog.gusibi.site/post/solidity-simple-guide-001/</link><pubDate>Mon, 22 Oct 2018 21:36:53 +0800</pubDate><guid>https://blog.gusibi.site/post/solidity-simple-guide-001/</guid><description>Solidity 简易教程0x001</description></item><item><title>SQLAlchemy in 空列表问题分析</title><link>https://blog.gusibi.site/post/sqlalchemy_in_empty_list/</link><pubDate>Thu, 04 Oct 2018 21:36:53 +0800</pubDate><guid>https://blog.gusibi.site/post/sqlalchemy_in_empty_list/</guid><description>SQLAlchemy in 空列表问题</description></item><item><title>Solidity 简易教程</title><link>https://blog.gusibi.site/post/solidity-simple-guide/</link><pubDate>Tue, 04 Sep 2018 21:36:53 +0800</pubDate><guid>https://blog.gusibi.site/post/solidity-simple-guide/</guid><description>Solidity 简易教程</description></item><item><title>垃圾回收算法|引用计数法</title><link>https://blog.gusibi.site/post/gc-reference-counting/</link><pubDate>Sun, 12 Aug 2018 19:15:05 +0800</pubDate><guid>https://blog.gusibi.site/post/gc-reference-counting/</guid><description>垃圾回收算法|引用计数法</description></item><item><title>垃圾回收算法|GC标记-清除算法</title><link>https://blog.gusibi.site/post/gc-mark-sweep/</link><pubDate>Sat, 21 Jul 2018 11:15:05 +0800</pubDate><guid>https://blog.gusibi.site/post/gc-mark-sweep/</guid><description>垃圾回收算法|标记-清除算法</description></item><item><title>newrelic python agent 源码分析-1</title><link>https://blog.gusibi.site/post/newrelic-python-agent-source-code-1/</link><pubDate>Wed, 16 May 2018 20:17:13 +0800</pubDate><guid>https://blog.gusibi.site/post/newrelic-python-agent-source-code-1/</guid><description>newrelic python agent 源码分析</description></item><item><title>《理解 unix 进程》笔记-1</title><link>https://blog.gusibi.site/post/understand-unix-process-note-1/</link><pubDate>Sun, 25 Mar 2018 23:25:53 +0800</pubDate><guid>https://blog.gusibi.site/post/understand-unix-process-note-1/</guid><description>description</description></item><item><title>操作系统线程描述</title><link>https://blog.gusibi.site/post/system-process-3/</link><pubDate>Sat, 24 Mar 2018 12:25:53 +0800</pubDate><guid>https://blog.gusibi.site/post/system-process-3/</guid><description>description</description></item><item><title>操作系统进程描述</title><link>https://blog.gusibi.site/post/system-process-2/</link><pubDate>Tue, 20 Mar 2018 23:25:53 +0800</pubDate><guid>https://blog.gusibi.site/post/system-process-2/</guid><description>description</description></item><item><title>操作系统发展和进程简介</title><link>https://blog.gusibi.site/post/system-process-1/</link><pubDate>Wed, 07 Mar 2018 23:25:53 +0800</pubDate><guid>https://blog.gusibi.site/post/system-process-1/</guid><description>description</description></item><item><title>AWS-Lambda 使用入门</title><link>https://blog.gusibi.site/post/aws-lambda-quickstart/</link><pubDate>Sat, 13 Jan 2018 17:23:49 +0800</pubDate><guid>https://blog.gusibi.site/post/aws-lambda-quickstart/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;场景：&lt;/code&gt;现在需要开发一个前后端分离的应用，后端采用 RESTful API 最为方便，但是如果这个后端服务会在一天中的某些时候有高并发的情况，使用什么样的架构最为简单呢？&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;刚思考这个问题的时候我想到的解决方案可能有以下几种：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;使用CDN内容分发网络，减少主服务器的压力&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;使用LVS服务器负载均衡&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;使用缓存&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;硬件层 提高带宽，使用SSD 硬盘，使用更好的服务器&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;代码层，优化代码（使用性能更好的语言等&lt;/p&gt;
&lt;p&gt;​&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;但以上的几个方法都需要关注服务器的存储和计算资源，以便随时调整以满足更高的性能，并且高并发的请求也是分时段的，配置了更高性能的服务器在访问量变低的时候也是资源浪费。&lt;/p&gt;
&lt;p&gt;这个时候可以使用 FaaS（Functions as a Service） 架构，跟传统架构不同在于，他们运行于无状态的容器中，可以由事件触发，短暂的，完全被第三方管理，功能上FaaS就是不需要关心后台服务器或者应用服务，只需关心自己的代码即可。其中AWS Lambda是目前最佳的FaaS实现之一。&lt;/p&gt;
&lt;h2 id="aws-lambda"&gt;AWS Lambda&lt;/h2&gt;
&lt;p&gt;AWS Lambda 是一项计算服务，使用时无需预配置或管理服务器即可运行代码。AWS Lambda 只在需要时执行代码并自动缩放。借助 AWS Lambda，几乎可以为任何类型的应用程序或后端服务运行代码，而且无需执行任何管理。现在 AWS Lambda 支持 Node.js、Java、C# 和 Python。&lt;/p&gt;
&lt;h3 id="使用场景"&gt;使用场景&lt;/h3&gt;
&lt;p&gt;Lambda 常见的应用场景有以下几种：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;将Lambda 作为事件源用于 AWS 服务（比如音频上传到 s3后，触发 Lambda 音频转码服务，转码音频文件&lt;/li&gt;
&lt;li&gt;通过 HTTPS (Amazon API Gateway) 实现的按需 Lambda 函数调用（配合 API Gateway创建简单的微服务&lt;/li&gt;
&lt;li&gt;按需 Lambda 函数调用（使用自定义应用程序构建您自己的事件源）&lt;/li&gt;
&lt;li&gt;计划的事件（比如每天晚上12点生成报表发送到指定邮箱&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;下图是将Lambda 作为事件源用于 AWS 服务案例的一个执行流程图：&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" src="http://media.gusibi.mobi/oXCMUsm_ZNoPkU5g5aa0OcXvvBo9_-TAB3xqUFlB4ktJlzakD_E9IA-3gQu85_QO"&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;用户将对象上传到 S3 存储桶（对象创建事件）。&lt;/li&gt;
&lt;li&gt;Amazon S3 检测到对象创建事件。&lt;/li&gt;
&lt;li&gt;Amazon S3 调用在存储桶通知配置中指定的 Lambda 函数。&lt;/li&gt;
&lt;li&gt;AWS Lambda 通过代入您在创建 Lambda 函数时指定的执行角色来执行 Lambda 函数。&lt;/li&gt;
&lt;li&gt;Lambda 函数执行。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;这篇文章主要介绍 将 Lambda 作为事件源用于 AWS 服务 和 配合 API Gateway 创建简单的微服务。&lt;/p&gt;</description></item><item><title>使用腾讯云配置小程序Python开发环境</title><link>https://blog.gusibi.site/post/wxapp-server-config/</link><pubDate>Sat, 21 Oct 2017 22:11:35 +0800</pubDate><guid>https://blog.gusibi.site/post/wxapp-server-config/</guid><description>使用腾讯云配置小程序服务端开发环境</description></item><item><title>理解JWT（JSON Web Token）认证及实践</title><link>https://blog.gusibi.site/post/how-to-use-json-web-token-and-python-practice/</link><pubDate>Sun, 23 Jul 2017 21:05:57 +0800</pubDate><guid>https://blog.gusibi.site/post/how-to-use-json-web-token-and-python-practice/</guid><description>description</description></item></channel></rss>