{"componentChunkName":"component---src-templates-blog-detail-tsx","path":"/blog/2019-11-11-serverless-api-games","result":{"data":{"currentBlog":{"id":"37200d26-7acc-58c7-aeac-89e58bb15f19","frontmatter":{"thumbnail":"https://img.serverlesscloud.cn/qianyi/images/YHl6UWa9s62zicSFHQTm5RAchm5pOdynuj5PhOKpDQ5x70nXbiaR2JImuNRcZmKALEhOAXyxXUIiaQwUWaDoxN3Rg.jpg","authors":["Serverless 中文网"],"categories":["news"],"date":"2019-11-11T00:00:00.000Z","title":"《世界争霸》聊天 API 迁移至 Serverless 过程中踩过的坑和趟平的路","description":"本文整理自董文强在Techo开发者大会「Serverless Summit」专场的演讲。","authorslink":["https://github.com/jiangliu5267"],"translators":null,"translatorslink":null,"tags":["API","云函数"],"keywords":"Serverless, Serverless游戏, Serverless API","outdated":null},"wordCount":{"words":277,"sentences":63,"paragraphs":63},"fileAbsolutePath":"/opt/build/repo/content/blog/2019-11-11-serverless-api-games.md","fields":{"slug":"/blog/2019-11-11-serverless-api-games/","keywords":["serverless","无服务器","云函数","函数","网关","serverless","serverlesscloud"]},"html":"<p><img src=\"https://img.serverlesscloud.cn/qianyi/images/YHl6UWa9s62zicSFHQTm5RAchm5pOdynuj5PhOKpDQ5x70nXbiaR2JImuNRcZmKALEhOAXyxXUIiaQwUWaDoxN3Rg.jpg\" alt=\"serverless\"></p>\n<p><strong>为什么要采用云函数？</strong></p>\n<p>云函数SCF是腾讯云为企业和开发者们提供的无服务器执行环境，能够在无需购买和管理服务器的情况下运行代码。</p>\n<p>最初，公司的需求是在确保性能的前提下，实现又省事、又省钱。采用云函数，用户不需要关注服务器、不用运维，非常省事。同时，云函数采用按需计费，用多少花多少，省钱。开发者只需要管理好自己的代码，这种模式非常适合中小型需求。</p>\n<h3 id=\"迁移过程\"><a href=\"#%E8%BF%81%E7%A7%BB%E8%BF%87%E7%A8%8B\" aria-label=\"迁移过程 permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><strong>迁移过程</strong></h3>\n<p>确定这个方向，团队就开始调研，现有聊天API能否无缝迁移至云函数，也就是说现有的需求，能不能都满足。</p>\n<p><img src=\"https://img.serverlesscloud.cn/qianyi/images/YHl6UWa9s62zicSFHQTm5RAchm5pOdynukmAoERLcEkHCSx81AePlen7djIpd3aP9F2NJZfGFceSR8gKpia2icyGg.jpg\" alt=\"serverless\"></p>\n<ul>\n<li><strong>少改代码</strong></li>\n</ul>\n<p>原来方案，负载均衡加虚拟机加swoole，用composer进行包管理，并用了EasySwoole做HTTP框架。新的方案下，原有的负载均衡变成API网关加云函数，包管理不变，旧框架肯定不能用了，要改的代码部分就是这里。</p>\n<p><img src=\"https://img.serverlesscloud.cn/qianyi/images/YHl6UWa9s62zicSFHQTm5RAchm5pOdynuFiaVLhqomxxcXHXmVn9s2Y8FOhL3NFKeicMCOZhZdcScxLGWztl315mw.jpg\" alt=\"serverless\"></p>\n<p>改造代码的过程比较顺利，因为云函数的数量有限，而业务需求是无限的，首先，需要确保所有的请求都进入到同一个云函数。我们来看一个HTTP请求，<a href=\"https://url/controller/action?query%EF%BC%8C%E9%9C%80%E8%A6%81%E7%9A%84%E5%B0%B1%E6%98%AF%E5%9C%A8%E4%BA%91%E5%87%BD%E6%95%B0%E5%86%85%E9%83%A8%E6%89%8D%E5%88%86%E9%85%8D%E8%B7%AF%E7%94%B1%E3%80%82%E8%BF%99%E4%B8%AA%E5%BE%88%E7%AE%80%E5%8D%95%EF%BC%8C%E4%BA%91API%E8%AE%BE%E7%BD%AE%E4%B8%80%E4%B8%8B%E5%8D%B3%E5%8F%AF%E3%80%82\">https://url/controller/action?query，需要的就是在云函数内部才分配路由。这个很简单，云API设置一下即可。</a></p>\n<p><img src=\"https://img.serverlesscloud.cn/qianyi/images/YHl6UWa9s62zicSFHQTm5RAchm5pOdynu1XwusGQpJWYwvAjNtsmDgez1Gk8g0icTibjq55zQG00qZrC8gW86I2vw.jpg\" alt=\"serverless\"></p>\n<p>接下来就是在函数入口处，解析路由，并找到类，调用对应类的方法；基于这样的入口，原有的controller就可以被调用到了；当然，还需要改动controller的父类，比如获取querystring内容、解析body，统一格式的返回值等。下图是一个比较简单的示例。</p>\n<p><img src=\"https://img.serverlesscloud.cn/qianyi/images/YHl6UWa9s62zicSFHQTm5RAchm5pOdynujaNo4LwTA84HD33alCOAFmTFD7cNXMuqtZNf5F0kaNHhV9ibic1HqWzw.jpg\" alt=\"serverless\"></p>\n<p>这里用PHP作为示例，不同的语言，思路都类似，主要是适配的问题。</p>\n<ul>\n<li><strong>快速发布</strong></li>\n</ul>\n<p>API网关和云函数的组合里，正常的发布流程是：开发代码->发布云函数->发布新版本->API网关对应路径切换版本->API网关发布测试版本->API网关线上使用版本切换。这是一个很麻烦的过程，团队一开始采用云函数时，云函数还不支持API调用，无法做自动化步骤，不过，这个功能目前已经支持了。</p>\n<p><img src=\"https://img.serverlesscloud.cn/qianyi/images/YHl6UWa9s62zicSFHQTm5RAchm5pOdynuxnPaRz8QTb9sz73g5tEuLSYraqd91pwyMibJWMjgDnic4AaoPQiaJv2yQ.jpg\" alt=\"serverless\"></p>\n<p>也可以用更简单的方案，API网关指向云函数的$LATEST版本，然后部署云函数即可。这个方案适合测试阶段，不适合线上阶段的发布。我是两者结合起来进行，稳定的功能，可以用稳妥的版本发布流程。</p>\n<p>发布这里遇到过一个坑，就是发布API网关时，遇到资源超限的情况。因为云函数的并发实例有限，当发布新的API版本时，请求会进入新的实例，而旧实例此时还没有释放，于是就会遇到超限的情况，此时需要申请提高限额。</p>\n<p><img src=\"https://img.serverlesscloud.cn/qianyi/images/YHl6UWa9s62zicSFHQTm5RAchm5pOdynutef0PibJHKGktFpejXRXv1Fw8CAVwWXdOUStRL4TiaibVpdzQpd6B6ibwA.jpg\" alt=\"serverless\"></p>\n<ul>\n<li><strong>内网互通</strong></li>\n</ul>\n<p>API服务、MySql、Redis、长连接网关，都在同一个内网里，云函数本身可以设置在内网里，互相访问也都没问题。但这个过程中又有一个新问题，我们的API服务需要向外发出请求，但是当时测试时，永远超时。</p>\n<p>当时，内网云函数没有访问外网的能力，这时候需要一个NAT网关。而且最好单独给云函数分配一个子网，因为已有的子网，如果去绑定NAT网关，会导致出口IP变化。如果已有的机器的IP刚好在某些白名单下，就会造成影响。</p>\n<p>不过，目前腾讯云Serverless团队已经解决了这个问题，提供外网出口IP固定能力，当用户在云函数中访问数据库、微信公众号的 API 接口或其他第三方的服务时，可以使用云函数的固定公网出口 IP 功能，实现云函数网络配置的控制与管理。</p>\n<ul>\n<li><strong>日志查询</strong></li>\n</ul>\n<p>首先，哪些内容适合进入日志呢？我觉得有这么几个：函数入口的原始信息，url路径、客户端ip、解析后的参数以及业务日志。</p>\n<p><img src=\"https://img.serverlesscloud.cn/qianyi/images/YHl6UWa9s62zicSFHQTm5RAchm5pOdynu3hocLH9oTdK7lAyRM74Xge4jPlyVv1Lkwc1DfH6XK4fll7otAfBhnA.jpg\" alt=\"serverless\"></p>\n<p>这里也有一些小建议：</p>\n<ol>\n<li>不需要输出返回值日志，云函数自带</li>\n<li>开启日志投递后，要打开索引</li>\n<li>日志内容中，包含索引分词符，记得从分词符中删除，否则那个内容就被分割了</li>\n<li>目前日志还存在着一些不足，比如跟API网关的日志是分离的，HTTP的原始入口是API网关，这就导致一些问题追踪比较困难。不过腾讯云Serverless团队正在优化日志监控一块，这个后面可以期待一下。</li>\n<li><strong>耗时任务处理</strong></li>\n</ol>\n<p>耗时任务可以用这种方式来做。这里有个实例代码。</p>\n<p> 这个进程不归我们管理，我们测试后，发现打印出来的日志，跑到其他请求里去了。也不知道这个进程的计时怎么算，会不会暗地里被干掉。所以保险一点的方案，采用消息队列。</p>\n<p>腾讯云的消息队列有CKafka，我们把内容封装一下，发给CKafka，然后CKafka触发另一个云函数。这里也有一些小tips：</p>\n<ol>\n<li>CKafka主题默认开一个分区。如果消费速度不理想，可以新增分区试试；</li>\n<li>新增分区时，需要云函数先删一下触发器，再加回来。</li>\n</ol>\n<p><img src=\"https://img.serverlesscloud.cn/qianyi/images/YHl6UWa9s62zicSFHQTm5RAchm5pOdynuMHCP7lmN7uy9Hibbia9qZncgWqa9u4IuoNF9nrcgPMhRCEpbWSHkvxrQ.jpg\" alt=\"serverless\"></p>\n<ul>\n<li><strong>配置文件更新</strong></li>\n</ul>\n<p>我们对此做了一个优化：配置文件单独有个git库，策划提交后，执行jenkins，然后由jenkins上传文件到cvm，并进行reload。改成云函数后，没有办法单独上传配置文件，只能将文件放在代码里，这边的步骤就调整为策划提交git，通知程序员，最后程序员发布云函数。</p>\n<p><img src=\"https://img.serverlesscloud.cn/qianyi/images/YHl6UWa9s62zicSFHQTm5RAchm5pOdynuKQlVKCML1HhvibwRDRuvwFAw254PZpY0pmDjV5dVeEKKwOlIyicQML5w.jpg\" alt=\"serverless\"></p>\n<p>但这种方式不太优雅，所以我们最终改成了以下方式：策划提交git，jenkins从git拿下来往cos上传，然后云函数去cos拉取。但这里有个性能问题。就是云函数拉取COS时，可能会比较慢，不能每一个请求，都去拉一次文件。</p>\n<p>优化方法是，采用静态变量保存文件内容和上一次拉取时间，如果超过5分钟，就去重新拉取一次。这样就可以保证相对的实时性和性能，对于目前的需求来说，完全足够。</p>\n<p><img src=\"https://img.serverlesscloud.cn/qianyi/images/YHl6UWa9s62zicSFHQTm5RAchm5pOdynuku8c5KmthgIJxnvayCHkd87hmBiartbT6uWkuepfsaXDvehggbFsRSA.jpg\" alt=\"serverless\"></p>\n<p>截止现在，迁移过程中的所有需求完全搞定。</p>\n<h3 id=\"迁移后有哪些好处？\"><a href=\"#%E8%BF%81%E7%A7%BB%E5%90%8E%E6%9C%89%E5%93%AA%E4%BA%9B%E5%A5%BD%E5%A4%84%EF%BC%9F\" aria-label=\"迁移后有哪些好处？ permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><strong>迁移后有哪些好处？</strong></h3>\n<p>接下来说一下我们迁移到云函数之后带来的一些好处。</p>\n<ul>\n<li>第一点就是不用维护API服务器了，不用再考虑CPU是不是满了，内存是否不够，请求量增加也不用想着需不需要再加台服务器，运维非常方便；</li>\n<li>其实，就是监控内容比较详细，可以更好地看整体的运行效率，是不是有慢请求，访问趋势如何，有没有错误之类的；</li>\n<li>另外，用消息队列拆分后，解耦彻底，可以确保消息不会丢失，消息队列触发云函数的用法对于这种不断累积形式的慢任务，非常好用；</li>\n<li>还有版本管理这点，有问题，随时切回版本，不用象以前一样，再重新拉代码分支发布。</li>\n</ul>\n<p>除了聊天API之外，可以分享下，我们还有哪些功能也可以使用云函数：</p>\n<ul>\n<li>第一个，无状态的HTTP服务，比如客服消息接收、支付回调接口；</li>\n<li>再就是无须返回的异步任务，比如微信小游戏上报玩家排名；</li>\n<li>还有就是定时任务，比如我们会定期给玩家推送相关的活动信息</li>\n</ul>\n<p>这些场景使用云函数，都是比较省事省心的。</p>\n<h3 id=\"一些想法和希望\"><a href=\"#%E4%B8%80%E4%BA%9B%E6%83%B3%E6%B3%95%E5%92%8C%E5%B8%8C%E6%9C%9B\" aria-label=\"一些想法和希望 permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><strong>一些想法和希望</strong></h3>\n<p>最后，来说说在云函数使用过程中的一些想法和希望。云函数本质上，是拿一部分CPU和内存出来帮用户执行一次代码，所以代码的时间复杂度和空间复杂度很重要，优化得不好，就会多花钱。</p>\n<p>另外，如果云函数可以手动触发安全杀死旧进程就更好了。这意味着用户可以自己管理初始化的时机，可以确保在某一时刻之后，所有实例的内存都是我们想要的状态。</p>\n<p>云函数属于被触发型的服务，这也意味着问题追踪时，源头分散在其他服务上，很难追踪全部流程，这就需要厂商提供更完善的日志监控功能，目前，腾讯云在高阶功能之上，也正在逐步完善日志监控和其他基础能力，这些之后可以拭目以待！</p>\n<p>总的来说，对于游戏场景的很多业务功能和需求，使用云函数具有绝对的优势。</p>","tableOfContents":"<ul>\n<li><a href=\"/blog/2019-11-11-serverless-api-games/#%E8%BF%81%E7%A7%BB%E8%BF%87%E7%A8%8B\">迁移过程</a></li>\n<li><a href=\"/blog/2019-11-11-serverless-api-games/#%E8%BF%81%E7%A7%BB%E5%90%8E%E6%9C%89%E5%93%AA%E4%BA%9B%E5%A5%BD%E5%A4%84%EF%BC%9F\">迁移后有哪些好处？</a></li>\n<li><a href=\"/blog/2019-11-11-serverless-api-games/#%E4%B8%80%E4%BA%9B%E6%83%B3%E6%B3%95%E5%92%8C%E5%B8%8C%E6%9C%9B\">一些想法和希望</a></li>\n</ul>"},"previousBlog":{"id":"82d71850-8dc8-5a6a-8f90-5a66609dae1c","frontmatter":{"thumbnail":"https://img.serverlesscloud.cn/qianyi/images/YHl6UWa9s61qzticncvwNpZulMqH7uWLsJ37JictvIBCibiaU5sDYicicxtKP9bu8PEWPCZyIlpfymbzmbw2geGvPaHw.jpg","authors":["Serverless 中文网"],"categories":["news"],"date":"2019-11-13T00:00:00.000Z","title":"Node 部署和运维工作量降低 80%，腾讯 NOW 直播是怎么做到的？","description":"本篇文章，将分享腾讯NOW直播在Serverless技术的探索实践。","authorslink":["https://github.com/jiangliu5267"],"translators":null,"translatorslink":null,"tags":["NGW","云函数"],"keywords":"Serverless, Serverless实践, Serverless SSR","outdated":null},"wordCount":{"words":505,"sentences":90,"paragraphs":90},"fileAbsolutePath":"/opt/build/repo/content/blog/2019-11-13-serverless-ssr-now.md","fields":{"slug":"/blog/2019-11-13-serverless-ssr-now/","keywords":["go","java","serverless","云函数","Serverless","分发","服务","Node","插件","Application","接入","配置"]}},"nextBlog":{"id":"0aea1a64-dc21-55f5-b900-8d9b8b9a2f88","frontmatter":{"thumbnail":"https://img.serverlesscloud.cn/2020326/1585185314095-9.jpg","authors":["serverless 社区"],"categories":["meetup"],"date":"2019-11-09T00:00:00.000Z","title":"Serverless DevOps 最佳实践 - 云+社区沙龙","description":"腾讯云高级架构师孔令飞在大会上分享了 Serverless DevOps 最佳实践","authorslink":["https://serverlesscloud.cn"],"translators":null,"translatorslink":null,"tags":["DevOps","Serverless"],"keywords":"Serverless 全局变量组件,Serverless 单独部署组件,Serverless Component","outdated":null},"wordCount":{"words":32,"sentences":15,"paragraphs":15},"fileAbsolutePath":"/opt/build/repo/content/blog/2019-11-09-devops-cloudplus.md","fields":{"slug":"/blog/2019-11-09-devops-cloudplus/","keywords":["serverless","serverless","收获","serverlesscloud","腾讯","github"]}},"recommendBlogs":{"edges":[{"node":{"id":"73576d26-e0ce-5f26-9330-64b4f3889157","frontmatter":{"thumbnail":"https://main.qcloudimg.com/raw/3cb7b20955d78ced738e0279bb3f6f41.jpg","authors":["AndreaPasswater"],"categories":["news","engineering-culture"],"date":"2018-03-09T00:00:00.000Z","title":"Serverless 数据解读：2018 报告","description":"Serverless Framework 使用统计数据：事件源、服务结构、运行时长等等。","authorslink":["https://serverless.com/author/andreapasswater/"],"translators":["Aceyclee"],"translatorslink":["https://www.zhihu.com/people/Aceyclee"],"tags":["事件源","服务结构"],"keywords":"Serverless 统计数据,Serverless 事件源,Serverless 服务结构","outdated":null},"wordCount":{"words":212,"sentences":45,"paragraphs":45},"fileAbsolutePath":"/opt/build/repo/content/blog/2018-03-09-serverless-by-the-numbers-2018-data-report.md","fields":{"slug":"/blog/2018-03-09-serverless-by-the-numbers-2018-data-report/","keywords":["go","serverless","无服务器","云函数","服务","使用率","Go","部署"]}}},{"node":{"id":"84876745-cbfb-5c1d-9f6c-7c74338d5d28","frontmatter":{"thumbnail":"https://s3-us-west-2.amazonaws.com/assets.site.serverless.com/images/champions/champions_banner.jpg","authors":["RupakGanguly"],"categories":["news","engineering-culture"],"date":"2018-04-10T00:00:00.000Z","title":"2018 年首批无服务器社区冠军介绍","description":"无服务器社区冠军是无服务器社区的领导者。快来认识一下我们 2018 年度的社区英雄吧！","authorslink":null,"translators":null,"translatorslink":null,"tags":null,"keywords":null,"outdated":null},"wordCount":{"words":194,"sentences":32,"paragraphs":32},"fileAbsolutePath":"/opt/build/repo/content/blog/2018-04-10-announcing-new-2018-serverless-champions.md","fields":{"slug":"/blog/2018-04-10-announcing-new-2018-serverless-champions/","keywords":["serverless","webpack","无服务器","无服务器架构","服务器","serverless","champions","架构","blog","github","框架"]}}},{"node":{"id":"1e1a90fc-3b65-540c-b726-755999e7912a","frontmatter":{"thumbnail":"https://main.qcloudimg.com/raw/8a0db1c9fd8b51c15d0b006291d52bf5.jpg","authors":["AndreaPasswater"],"categories":["news","engineering-culture"],"date":"2018-07-19T00:00:00.000Z","title":"2018 年社区调查：Serverless 使用率大幅增长","description":"我们曾在开发社区进行问卷调查，询问 Serverless 的使用情况。它的使用率增长连我们自己都惊讶不已，下面来看看数据。","authorslink":["https://serverless.com/author/andreapasswater/"],"translators":["Aceyclee"],"translatorslink":["https://www.zhihu.com/people/Aceyclee"],"tags":["Component","Serverless"],"keywords":"Serverless 社区调查,Serverless 使用情况,Serverless 数据","outdated":null},"wordCount":{"words":267,"sentences":50,"paragraphs":49},"fileAbsolutePath":"/opt/build/repo/content/blog/2018-07-19-2018-serverless-community-survey-huge-growth-usage.md","fields":{"slug":"/blog/2018-07-19-2018-serverless-community-survey-huge-growth-usage/","keywords":["go","serverless","无服务器","Serverless","serverless"]}}},{"node":{"id":"8311b008-2b15-5225-8adc-9b75e484177b","frontmatter":{"thumbnail":"https://img.serverlesscloud.cn/2020414/1586880819419-%E5%B0%81%E9%9D%A2%E5%9B%BE%20%286%29.png","authors":["serverless 社区"],"categories":["news"],"date":"2019-04-08T00:00:00.000Z","title":"邀您参加 | K8S&云原生技术开放日-北京站","description":"K8S&云原生技术开放日，将围绕K8S、Serverless等云原生相关技术，从最佳落地实践、不同场景技术改造、应用优化，到开源领域深度技术研究，和技术爱好者们一起探讨。","authorslink":["https://zhuanlan.zhihu.com/ServerlessGo"],"translators":null,"translatorslink":null,"tags":["云原生","Serverless"],"keywords":"serverless 入门,serverless 框架,腾讯云 serverless","outdated":null},"wordCount":{"words":36,"sentences":9,"paragraphs":9},"fileAbsolutePath":"/opt/build/repo/content/blog/2019-04-08-k8s.md","fields":{"slug":"/blog/2019-04-08-k8s/","keywords":["serverless","云原生","serverless","Serverless","技术","原生","serverlesscloud","github"]}}},{"node":{"id":"25f709db-cde0-59d7-81f4-944c46a6dd8a","frontmatter":{"thumbnail":"https://img.serverlesscloud.cn/2020414/1586880571672-%E5%B0%81%E9%9D%A2%E5%9B%BE%20%285%29.png","authors":["serverless 社区"],"categories":["news"],"date":"2019-04-04T00:00:00.000Z","title":"Serverless 技术风暴来袭，开发者该如何应对？","description":"Hello Serverless技术沙龙北京站，将围绕Serverless的应用场景，客户案例，FaaS+BaaS架构的实现方案等，针对未来的无服务形态进行交流和讨论，释放技术想象！","authorslink":["https://zhuanlan.zhihu.com/ServerlessGo"],"translators":null,"translatorslink":null,"tags":["应用场景","Serverless"],"keywords":"serverless 入门,serverless 框架,腾讯云 serverless","outdated":null},"wordCount":{"words":37,"sentences":8,"paragraphs":8},"fileAbsolutePath":"/opt/build/repo/content/blog/2019-04-04-technology-storm.md","fields":{"slug":"/blog/2019-04-04-technology-storm/","keywords":["serverless","Serverless","serverless","serverlesscloud","github","技术","架构","围绕"]}}},{"node":{"id":"4bc4d946-6187-5c3d-91c6-d98c4c4c1314","frontmatter":{"thumbnail":"https://img.serverlesscloud.cn/2020414/1586880172144-%E5%B0%81%E9%9D%A2%E5%9B%BE%20%284%29.png","authors":["serverless 社区"],"categories":["news"],"date":"2019-06-11T00:00:00.000Z","title":"一图读懂无服务器云函数","description":"本图将重要信息进行梳理和提炼，帮助读者更好的理解无服务器云函数的理念和作用","authorslink":["https://zhuanlan.zhihu.com/ServerlessGo"],"translators":null,"translatorslink":null,"tags":["云函数","Serverless"],"keywords":"serverless 入门,serverless 框架,腾讯云 serverless","outdated":null},"wordCount":{"words":31,"sentences":6,"paragraphs":6},"fileAbsolutePath":"/opt/build/repo/content/blog/2019-06-11-one-picture-serverless-cloud-function.md","fields":{"slug":"/blog/2019-06-11-one-picture-serverless-cloud-function/","keywords":["serverless","无服务器","无服务器云函数","云函数","serverless","serverlesscloud","Serverless","github","开发者","函数"]}}},{"node":{"id":"1cd76f95-14a9-5fd5-926b-456af189b7ed","frontmatter":{"thumbnail":"https://img.serverlesscloud.cn/2020326/1585217744291-%E6%91%84%E5%9B%BE%E7%BD%91_400730082_wx.jpg","authors":["朱峰 Ben"],"categories":["news"],"date":"2019-10-14T00:00:00.000Z","title":"由浅入深说 Serverless 之云函数的生命周期","description":"希望通过文章分享帮助大家更深入的了解 Serverless 背后的机制并掌握相关的最佳实践。","authorslink":["https://github.com/jiangliu5267"],"translators":null,"translatorslink":null,"tags":["云函数"],"keywords":"Serverless, Serverless前端开发, Serverless云函数","outdated":null},"wordCount":{"words":74,"sentences":29,"paragraphs":29},"fileAbsolutePath":"/opt/build/repo/content/blog/2019-10-14-serverless-cloud-function.md","fields":{"slug":"/blog/2019-10-14-serverless-cloud-function/","keywords":["faas","java","云函数","函数","触发","实例","事件","数据库","启动","连接","sql","代码"]}}},{"node":{"id":"4f16f8bc-1a35-5394-9029-f7abc2ad6137","frontmatter":{"thumbnail":"https://img.serverlesscloud.cn/qianyi/images/YHl6UWa9s629ucl0iaVcic8rL06uEBM5go4LSXiaHnibDJSBjLGAhGlWz3QZ1RZzd3NeCibjJxOyUApDO7TaPYcwxsw.jpg","authors":["Serverless 中文网"],"categories":["news"],"date":"2019-10-26T00:00:00.000Z","title":"Hello Serverless 实战沙龙回顾","description":"2019 年 10 月 26 日，Hello Serverless 沙龙活动在广州市海珠区腾讯众创空间成功举办，一起看看我们都为大家准备了哪些精彩的演讲吧！","authorslink":["https://github.com/jiangliu5267"],"translators":null,"translatorslink":null,"tags":["Meetup"],"keywords":"Serverless, Serverless技术沙龙,Hello Serverless","outdated":null},"wordCount":{"words":64,"sentences":13,"paragraphs":13},"fileAbsolutePath":"/opt/build/repo/content/blog/2019-10-26-hello-serverless-meetup.md","fields":{"slug":"/blog/2019-10-26-hello-serverless-meetup/","keywords":["go","serverless","云函数","云原生","Serverless","存储","腾讯","serverlesscloud"]}}}],"totalCount":46}},"pageContext":{"isCreatedByStatefulCreatePages":false,"blogId":"37200d26-7acc-58c7-aeac-89e58bb15f19","previousBlogId":"82d71850-8dc8-5a6a-8f90-5a66609dae1c","nextBlogId":"0aea1a64-dc21-55f5-b900-8d9b8b9a2f88","categories":["news"]}}}