Deploy

基于 Serverless 与 Websocket 的聊天工具实现

假装没事ソ 提交于 2020-07-27 09:31:29
传统业务实现 Websocket 并不难,然而函数计算基本上都是事件驱动,不支持长链接操作。如果将函数计算与 API 网关结合,是否可以有 Websocket 的实现方案呢? API 网关触发器实现 Websocket WebSocket 协议是基于 TCP 的一种新的网络协议。它实现了浏览器与服务器全双工 (full-duplex) 通信,即允许服务器主动发送信息给客户端。WebSocket 在服务端有数据推送需求时,可以主动发送数据至客户端。而原有 HTTP 协议的服务端对于需推送的数据,仅能通过轮询或 long poll 的方式来让客户端获得。 由于云函数是无状态且以触发式运行,即在有事件到来时才会被触发。因此,为了实现 WebSocket,云函数 SCF 与 API 网关相结合,通过 API 网关承接及保持与客户端的连接。您可以认为云函数与 API 网关一起实现了服务端。当客户端有消息发出时,会先传递给 API 网关,再由 API 网关触发云函数执行。当服务端云函数要向客户端发送消息时,会先由云函数将消息 POST 到 API 网关的反向推送链接,再由 API 网关向客户端完成消息的推送。 具体的实现架构如下: 对于 WebSocket 的整个生命周期,主要由以下几个事件组成: 连接建立:客户端向服务端请求建立连接并完成连接建立; 数据上行

Serverless Dashboard 设计解读与实战

删除回忆录丶 提交于 2020-07-27 09:09:18
作为腾讯云 Serverless 的产品经理,我经常会收集到小伙伴们在使用 Serverless Framework 的一些问题和吐槽,比如近期小伙伴们反馈: 依赖库安装和本地调试成功,但在云端部署为何失败? Serverless 应用内部的监控,无法直接查看,每次定位问题的流程好长啊! 怎样组织 Serverless 应用? 不同的函数之间的调用关系、环境划分、资源的管理及权限控制是怎样的呢? 近期 Serverless 团队发布了一款里程碑新特性产品,产品通过支持应用级别监控和 Dashboard 资源管理,有效解决小伙伴们的痛点问题,一起来看看吧! Serverless Dashboard 新特性 1. 应用管理 本次发布的应用管理页面则以 Component 为粒度,聚合了所有 Serverless Framework 部署的资源,并且展示了实例状态、访问链接以及上次的部署信息。此外,在管理详情中还支持删除 Serverless 应用、下载项目代码进行二次开发等操作,开发者可以更方便、集中的管理账号下的 Serverless 应用。如下图所示: 2. 部署详情及输出 Serverless Framework 的特性之一就是可以便捷的联动关联的云上资源,因此不同的 Serverless Component,可能会联动不同的云上资源,如网关、云函数、COS等

Mac上使用Docker Desktop启动Kubernetes,踩坑后终于搞掂

允我心安 提交于 2020-07-26 23:54:34
1 前言 Kubernetes 又简称 k8s ,是 Google 开源的容器集群管理系统,最近也是火热。闲来无事(为了发文),捣鼓了一下,在Mac上搭建 Kubernetes ,遇到一些坑,也记录一下。 另外, Docker 相关的概念可参考下面文章: Docker入门——理解Docker的核心概念 。 2 问题Kubernetes is starting 2.1 卡在starting 当Mac安装完 Docker Desktop 后,可以启动 Docker 了,而要启动 Kubernetes ,需要 Enable 。 本以为就如此简单方便,谁料一直显示 Kubernetes is starting ,卡了很久都没有反应。那是由于 网络原因 (你懂的),启动 Kubernetes 所需要的镜像无法下载。 2.2 下载镜像 所需镜像可以手动一个个下载,当然也有人准备好了脚本可以一键下载,脚本在仓库: https://github.com/hummerstudio/k8s-docker-desktop-for-mac 上。 将仓库克隆下来: $ git clone https://github.com/hummerstudio/k8s-docker-desktop-for-mac.git 然后看一下文件 image_list 上的版本跟自己安装的版本能不能对得上,建议直接更新

使用 Serverless Framework Express 组件快速创建文本翻译工具

心已入冬 提交于 2020-07-25 16:46:32
通过 Serverless Framework 的 Express Component 实现了一款文本翻译工具。该工具基于腾讯云 TMT 机器翻译工具,支持多种语言的互相翻译。点击查看 Demo 部署效果。 如何使用 Serverless Framework 的 Express Component 快速创建文本翻译工具呢?跟着下面的步骤一起来试试吧! 1. 安装 通过 npm 安装最新版本的 Serverless Framework $ npm install -g serverless 2. 创建 创建并进入一个全新目录: $ mkdir express-trans && cd express-trans 通过如下命令和模板链接,快速创建该应用: $ serverless create --template-url https://github.com/tinafangkunding/serverless-translate $ cd serverless-translate 进入 src 目录,执行如下命令,安装对应依赖 cd src && npm install 3. 配置 修改模板中的 .env.example 为 .env ,并在 API 密钥管理中获取并配置腾讯云的 SecretId 和 SecretKey 秘钥信息。 # .env TENCENT_SECRET_ID

拒做工具人!教你一键快速部署应用到容器镜像仓库

痞子三分冷 提交于 2020-07-24 03:44:57
作者 | Cloud Toolkit 近年来,容器技术以迅雷不及掩耳之势迅速蔓延开来,容器技术基于各种场景的尝试与实践更是层出不穷,它的崛起改变了我们创建、发布与运行应用的方式,实现了资源的独立与隔离、相较于传统的虚拟化技术,它更加轻量化。 随着以 Docker 为代表的容器技术在越来越多的业务场景中被应用,越来越多开发者开始习惯将应用打包成标准格式镜像并存放在镜像仓库中以便完成日常部署发布、团队协作等工作。但在真正的生产环境中,我们会产生大量镜像,不管是第三方还是自建,而这些镜像伴随而来的是部署、保存、分发使用等大量繁琐、重复的部署、管控工作。 对于开发者而言,在本地 IDE、镜像仓库、容器等多个产品间来回切换,不仅耗费大量工时与精力,而且繁琐细碎的操作更容易造成一系列失误。 说到底,哪个开发者想做一个天天机械性重复工作的工具人呢?谁不想做点有创造性的工作呢? 面对这样的难题,Cloud Toolkit 给出了答案~ 在 IntelliJ IDEA 安装和配置 Cloud Toolkit 后,只需在配置界面设置部署参数即可实现自动化部署,将应用快速部署到镜像仓库,并借助阿里云提供安全的镜像托管能力,高效管理镜像 。 那么,我们来看看到底如何做,才能实现部署提速 8 倍?首先,先和大家聊一聊搭配免费 IDE 插件即可实现一键部署、持续集成与交付的的容器镜像仓库 ACR。

centos7.2(一)vultr服务器购买和开通端口

你。 提交于 2020-05-09 22:12:09
https://vultr.me/52.html 之前我们已经介绍了如何购买 Vultr 以及如何使用支付宝对 Vultr 进行充值,相关教程: VULTR 购买教程 2018 年最新图文版 VULTR 支付宝充值教程 接下来我们介绍一下如何在 Vultr 后台新建 VPS。首先我们登陆 Vultr 然后进入后台,后台地址: https://my.vultr.com 进入后,点击右上角的加号。 然后进入 VPS 创建页面,如下图所示,我们第一步先选择机房,这里我们以日本机房为例。 选择机房后往下拉页面,继续选择操作系统、套餐、如下图所示。一般我们建议选择 Ubuntu 16.04 LTS,比较适合新手。 首先创建一个端口开启权限 (服务器还没创建,无法绑定,直接保存这个端口开放规则就行了,创建服务器的时候添加这个规则) 我们继续往下拉,选择一些其他特性,比如是否需要 IPv6,是否需要备份服务等,一般我们可以都不用选择,直接默认的即可。然后我们输入主机名(或者不输入),点击“Deploy Now”,即可创建 VPS。 创建之后,就可以看到 VPS 正在运行了(需要等待一段时间让它初始化): 创建完毕,远程登陆 可能出现登陆不上的现象,查询国内是否封闭(如果开了代理翻墙这个时候要关闭,从国内查询) http://tool.chinaz.com/port/ 如果是开启,检查密码是否正确

Kubernetes-Pod/ReplicaSet/Deployment/Service关系

梦想与她 提交于 2020-05-09 21:19:06
资源之间的关系 1)Pod是最小的调度单元,Pod启停容器镜像等; 2)Pod由ReplicaSet控制,ReplicaSet由Deployment控制,然后外部提供服务的是Service。 RS—>Pod 查看Pod: $ kubectl get pods 查看RS: $ kubectl get rs 查看Pod详情: $ kubectl describe pods pod_name 我们可以通过 kubectl describe pods pod_name 看到 Controlled By 字段的值是ReplicaSet/rs_name,即 Pod由RS控制 。 Deployment—>RS 查看RS: $ kubectl get rs 查看Deployment: $ kubectl get deploy 查看RS详情: $ kubectl describe rs rs_name 我们可以通过 kubectl describe rs rs_name 看到 Controlled By 字段的值是Deployment/deploy_name,即 RS由Deployment控制 。   我们也可以通过 kubectl describe deploy deploy_name 查看某个deployment的详情,发现没没有 Controlled By 字段

kubernetes(k8s) ingress及ingress docker-controller

独自空忆成欢 提交于 2020-05-09 14:33:16
kubernetes(k8s) ingress及ingress docker-controller 什么是Ingress? --- HTTP 7层路由机制。将集群外部的HTTP和HTTPS路由暴露给集群中的服务, 流量路由由Ingress资源上定义的规则控制 internet | [ Ingress ] --|-----|-- [ Services ] 利用Ingress实现对外部访问(以nginx为例) 1. 创建后端pod及service, 这里的service仅起到识别后端pod组的功能,不对外提供服务 使用deploy创建service和pod,下面是deploy yaml文件内容: apiVersion: v1 kind: Service metadata: name: svc-app namespace: develop # 这里是service需要工作的namespace spec: selector: app: nginx-test release: v0.2 ports: - name: http targetPort: 80 port: 80 --- apiVersion: apps/v1 kind: Deployment metadata: name: deploy-demo namespace: develop #

Serverless 实战:如何结合 NLP 实现文本摘要和关键词提取?

。_饼干妹妹 提交于 2020-05-08 10:08:36
对文本进行自动摘要的提取和关键词的提取,属于自然语言处理的范畴。提取摘要的一个好处是可以让阅读者通过最少的信息判断出这个文章对自己是否有意义或者价值,是否需要进行更加详细的阅读;而提取关键词的好处是可以让文章与文章之间产生关联,同时也可以让读者通过关键词快速定位到和该关键词相关的文章内容。 文本摘要和关键词提取都可以和传统的 CMS 进行结合,通过对文章 / 新闻等发布功能进行改造,同步提取关键词和摘要,放到 HTML 页面中作为 Description 和 Keyworks。这样做在一定程度上有利于搜索引擎收录,属于 SEO 优化的范畴。 关键词提取 关键词提取的方法很多,但是最常见的应该就是 tf-idf 了。 通过 jieba 实现基于 tf-idf 关键词提取的方法: jieba.analyse.extract_tags(text, topK=5, withWeight=False, allowPOS=('n', 'vn', 'v')) 文本摘要 文本摘要的方法也有很多,如果从广义上来划分,包括提取式和生成式。其中提取式就是在文章中通过 TextRank 等算法,找出关键句然后进行拼装,形成摘要,这种方法相对来说比较简单,但是很难提取出真实的语义等;另一种方法是生成式,通过深度学习等方法,对文本语义进行提取再生成摘要。 如果简单理解,提取式方式生成的摘要,所有句子来自原文

Serverless 实战:如何结合 NLP 实现文本摘要和关键词提取?

微笑、不失礼 提交于 2020-05-08 09:54:43
对文本进行自动摘要的提取和关键词的提取,属于自然语言处理的范畴。提取摘要的一个好处是可以让阅读者通过最少的信息判断出这个文章对自己是否有意义或者价值,是否需要进行更加详细的阅读;而提取关键词的好处是可以让文章与文章之间产生关联,同时也可以让读者通过关键词快速定位到和该关键词相关的文章内容。 文本摘要和关键词提取都可以和传统的 CMS 进行结合,通过对文章 / 新闻等发布功能进行改造,同步提取关键词和摘要,放到 HTML 页面中作为 Description 和 Keyworks。这样做在一定程度上有利于搜索引擎收录,属于 SEO 优化的范畴。 关键词提取 关键词提取的方法很多,但是最常见的应该就是 tf-idf 了。 通过 jieba 实现基于 tf-idf 关键词提取的方法: jieba.analyse.extract_tags(text, topK=5, withWeight=False, allowPOS=('n', 'vn', 'v')) 文本摘要 文本摘要的方法也有很多,如果从广义上来划分,包括提取式和生成式。其中提取式就是在文章中通过 TextRank 等算法,找出关键句然后进行拼装,形成摘要,这种方法相对来说比较简单,但是很难提取出真实的语义等;另一种方法是生成式,通过深度学习等方法,对文本语义进行提取再生成摘要。 如果简单理解,提取式方式生成的摘要,所有句子来自原文