日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Serverless 微服务实践-移动应用包分发服务

發布時間:2025/3/20 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Serverless 微服务实践-移动应用包分发服务 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

背景

阿里云函數計算是事件驅動的全托管計算服務。通過函數計算,您無需管理服務器等基礎設施,只需編寫代碼并上傳。函數計算會為您準備好計算資源,以彈性、可靠的方式運行您的代碼,并提供日志查詢、性能監控、報警等功能。借助于函數計算,您可以快速構建任何類型的應用和服務,無需管理和運維。而且,您只需要為代碼實際運行所消耗的資源付費,代碼未運行則不產生費用。

移動應用的打包和分發呈現明顯的峰谷效用,用戶常常需要短時間內準備大量資源保障分發的實時性,完成分發后又需要及時釋放資源,降低成本。這里我們提供一個 [fun](https://statistics.functioncompute.com/?title=Serverless 微服務實踐-移動應用包分發服務(Fun 3.0 升級版)&author=孫飛宇&src=&url=https://github.com/alibaba/funcraft) 模板,幫助我們更快地搭建一個基于[函數計算](https://statistics.functioncompute.com/?title=Serverless 微服務實踐-移動應用包分發服務(Fun 3.0 升級版)&author=孫飛宇&src=&url=https://helpcdn.aliyun.com/product/50980.html)構建 Serverless 架構的包分發服務,在開發運維效率,性能和成本間取得良好的平衡。

在分包過程中,下載/修改/上傳是一個比較消耗資源的任務,需要消耗大量的計算/網絡資源。并且分包任務只在應用發布新版本時才會發生,需要在盡可能短的時間內完成。針對這種有明顯波峰波谷的場景,非常適合使用函數計算來完成。更重要的是這個服務是具有彈性伸縮和高可用能力的。

apk 分包簡介

更多參考[函數計算–Serverless 微服務實踐-移動應用包分發服務](https://statistics.functioncompute.com/?title=Serverless 微服務實踐-移動應用包分發服務(Fun 3.0 升級版)&author=孫飛宇&src=&url=https://yq.aliyun.com/articles/699972)。

準備工作:

1.安裝 node

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.5/install.sh | bash nvm install 8

2.安裝 fun 工具

npm install @alicloud/fun -g

fun 工具的某些子命令可能會用到 docker,所以你需要安裝好 docker,具體參考文檔:[Fun 安裝教程](https://statistics.functioncompute.com/?title=Serverless 微服務實踐-移動應用包分發服務(Fun 3.0 升級版)&author=孫飛宇&src=&url=https://github.com/aliyun/fun/blob/master/docs/usage/installation-zh.md)。

3.apk 包準備

在這個實驗中,我們會使用一個示例的 apk 包,可以從這里下載 qq-v2.apk。

下載 qq-v2.apk ,上傳到自己的 oss bucket中:

快速開始:

1.通過 fun 模板生成項目骨架

使用 fun init 命令可以快捷的將本模板項目初始化到本地,執行命令 :

$ fun init -n apk https://github.com/coco-super/package-distribution-service-for-serverless start cloning... Cloning into '.fun-init-cache-2fc2d680-eeff-11e9-a930-6fd4d1ac6506'... remote: Enumerating objects: 23, done. remote: Counting objects: 100% (23/23), done. remote: Compressing objects: 100% (16/16), done. remote: Total 23 (delta 0), reused 18 (delta 0), pack-reused 0 Unpacking objects: 100% (23/23), done. finish clone. ? Please input a oss bucket name? sunfeiyu Start rendering template.../Users/ellison/simple-fc-uncompress-service-for-oss/apk/Users/ellison/simple-fc-uncompress-service-for-oss/apk/.funignore/Users/ellison/simple-fc-uncompress-service-for-oss/apk/pom.xml/Users/ellison/simple-fc-uncompress-service-for-oss/apk/src/Users/ellison/simple-fc-uncompress-service-for-oss/apk/src/main/Users/ellison/simple-fc-uncompress-service-for-oss/apk/src/main/java/Users/ellison/simple-fc-uncompress-service-for-oss/apk/src/main/java/example/Users/ellison/simple-fc-uncompress-service-for-oss/apk/src/main/java/example/App.java/Users/ellison/simple-fc-uncompress-service-for-oss/apk/target/Users/ellison/simple-fc-uncompress-service-for-oss/apk/target/classes/Users/ellison/simple-fc-uncompress-service-for-oss/apk/target/classes/example/Users/ellison/simple-fc-uncompress-service-for-oss/apk/target/classes/example/App.class/Users/ellison/simple-fc-uncompress-service-for-oss/apk/template.yml finish rendering template.

其中 -n 表示要作為文件夾生成的項目名稱。默認值是 fun-app。更多fun init 命令格式選項說明請參考云棲文章[開發函數計算的正確姿勢 —— 使用 Fun Init 初始化項目](https://statistics.functioncompute.com/?title=Serverless 微服務實踐-移動應用包分發服務(Fun 3.0 升級版)&author=孫飛宇&src=&url=https://yq.aliyun.com/articles/674363)。

執行 fun init后會提示:輸入一個 oss 的 bucket,注意 oss Bucket 是全球唯一的,如已經被占用了,請換一個新的名稱或者一個已經創建好的(已經創建好的,請確保 region 一致)。

ps: 輸入的內容和 apk 包準備中提到的 oss bucket name 是同一個,本示例為:sunfeiyu

4. 編譯

在模版項目的根目錄下執行 fun build 命令編譯:

$ fun build using template: template.yml start building function dependencies without dockerbuilding apk/apk running task flow MavenTaskFlow running task: MavenCompileTask running task: MavenCopyDependencies running task: CopyMavenArtifactsBuild SuccessBuilt artifacts: .fun/build/artifacts Built template: .fun/build/artifacts/template.ymlTips for next step ====================== * Invoke Event Function: fun local invoke * Invoke Http Function: fun local start * Deploy Resources: fun deploy

關于 Fun build 構建函數詳細請參照云棲文章 [開發函數計算的正確姿勢 —— 使用 Fun Build 構建函數](https://statistics.functioncompute.com/?title=Serverless 微服務實踐-移動應用包分發服務(Fun 3.0 升級版)&author=孫飛宇&src=&url=https://yq.aliyun.com/articles/719102)。

5.服務部署

在模版項目的的根目錄下執行 fun deploy 部署到云端。

$ fun deploy using template: .fun/build/artifacts/template.yml using region: cn-shanghai using accountId: ***********8320 using accessKeyId: ***********mTN4 using timeout: 60Waiting for service apk to be deployed...make sure role 'aliyunfcgeneratedrole-cn-shanghai-apk' is existrole 'aliyunfcgeneratedrole-cn-shanghai-apk' is already existattaching policies AliyunOSSFullAccess to role: aliyunfcgeneratedrole-cn-shanghai-apkattached policies AliyunOSSFullAccess to role: aliyunfcgeneratedrole-cn-shanghai-apkWaiting for function apk to be deployed...Waiting for packaging function apk code...The function apk has been packaged. A total of 15 files files were compressed and the final size was 3.13 MBfunction apk deploy success service apk deploy success

6.執行函數

提供兩種方式:

  • 登陸阿里云函數計算[控制臺](https://statistics.functioncompute.com/?title=Serverless 微服務實踐-移動應用包分發服務(Fun 3.0 升級版)&author=孫飛宇&src=&url=https://fc.console.aliyun.com),手動執行。
  • 項目根目錄下 fun invoke apk 命令遠端調用:
  • $ fun invoke apk using template: template.yml ========= FC invoke Logs begin ========= FC Invoke Start RequestId: 23f34cc4-0cd3-40e0-9a04-f6586cf29be6 2019-10-14 17:06:35.971 [INFO] [23f34cc4-0cd3-40e0-9a04-f6586cf29be6] cmd: java -jar /code/walle-cli-all.jar put -c aliyun-fc /tmp/input.apk /tmp/output.apk 2019-10-14 17:06:36.152 [INFO] [23f34cc4-0cd3-40e0-9a04-f6586cf29be6] Success!FC Invoke End RequestId: 23f34cc4-0cd3-40e0-9a04-f6586cf29be6Duration: 666.13 ms, Billed Duration: 700 ms, Memory Size: 1024 MB, Max Memory Used: 254.55 MB ========= FC invoke Logs end =========FC Invoke Result: Success

    查看結果

    登陸 oss 查看已經生成新的 apk 包:

    將 oss 中 qq-v2-signed.apk 下載到本地。

    查看渠道信息是否寫入:

    ~/Downloads ? $ java -jar /Users/ellison/Downloads/walle-cli-all.jar show qq-v2-signed.apk /Users/ellison/Downloads/qq-v2-signed.apk : {channel=aliyun-fc}

    渠道信息 {channel=aliyun-fc} 已寫入,成功!

    參考閱讀

  • [Fun (Fun with Serverless) 工具](https://statistics.functioncompute.com/?title=Serverless 微服務實踐-移動應用包分發服務(Fun 3.0 升級版)&author=孫飛宇&src=&url=https://github.com/aliyun/fun/)
  • [Fun Init 自定義模板](https://statistics.functioncompute.com/?title=Serverless 微服務實踐-移動應用包分發服務(Fun 3.0 升級版)&author=孫飛宇&src=&url=https://yq.aliyun.com/articles/674364)
  • “阿里巴巴云原生關注微服務、Serverless、容器、Service Mesh 等技術領域、聚焦云原生流行技術趨勢、云原生大規模的落地實踐,做最懂云原生開發者的技術圈。”

    總結

    以上是生活随笔為你收集整理的Serverless 微服务实践-移动应用包分发服务的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 欧美亚洲综合网 | 欧美黑人性xxx猛交 少妇无套内谢久久久久 | 国产精品一区视频 | 久久99国产精品视频 | 四虎永久在线 | 免费福利在线观看 | 91麻豆国产 | 调教撅屁股啪调教打臀缝av | 国产孕妇一区二区三区 | jizzjizzjizz亚洲女| 亚洲精品视频在线看 | 看片在线 | 91av亚洲| 蜜桃视频一区二区三区 | 看片在线| 伊人网亚洲 | 善良的女朋友在线观看 | 国产精品天天看 | 亚洲国产视频在线观看 | 成年人黄色免费视频 | 亚洲精品一区 | 久久三级精品 | 亚洲操图 | 久久成人久久 | 老司机av福利 | 午夜精品美女久久久久av福利 | 中文字幕狠狠干 | 综合精品| 久久这里只有 | 日本一区二区三区视频在线播放 | 日韩一区二区视频在线 | 91久久爽久久爽爽久久片 | 日本网站在线播放 | 亚洲第九十七页 | 北岛玲av | 麻豆传媒在线观看视频 | 色视频免费在线观看 | 靠逼动漫| 国产精品久久久久久亚洲伦 | 免费观看日韩毛片 | 色爱AV综合网国产精品 | 国产精品九九 | 久一视频在线 | 久久综合九色综合网站 | 污污污污污污www网站免费 | 自拍偷拍欧美激情 | 老司机一区二区三区 | 重囗味sm一区二区三区 | 极品少妇一区 | 啪啪福利| www.夜夜 | 一区二区三区欧美在线 | 成年人在线播放 | 日本特黄特色aaa大片免费 | 日韩有码在线观看 | 亚洲一区二区伦理 | 亚洲av中文无码乱人伦在线观看 | 日韩欧美中文字幕一区二区三区 | 亚洲第一黄色网址 | 欧美中字 | 久久久久久99精品 | 欧美成人午夜精品免费 | 国产无遮挡呻吟娇喘视频 | 亚洲AV无码成人国产精品色 | 日韩欧美国产电影 | 国产激情一区二区三区 | 色葡萄影院 | 亚洲av毛片成人精品 | 精品日本一区二区三区在线观看 | 欧美精品第1页 | 成年人深夜福利 | 国产精品一区二区三区四区五区 | 一道本无吗一区 | 国产精品免费入口 | 色婷婷一区二区三区四区 | 牛牛精品一区 | 黄色av免费在线 | 欧美亚洲色图视频 | 人妻少妇被猛烈进入中文字幕 | 在线免费激情视频 | 国产成人精品女人久久久 | 国产一区二三区 | 日本国产三级xxxxxx | 天堂影视在线观看 | 男人吃奶视频 | 精品人妻在线一区二区三区 | 熟妇高潮精品一区二区三区 | 伊人网伊人网 | 91成人免费在线观看视频 | 欧美亚洲图片小说 | 播五月婷婷 | 日韩乱码人妻无码中文字幕 | 国产成人av一区二区三区在线观看 | 欧美成人怡红院 | 黄色网占| 亚洲性喷水 | 久久99国产精品久久99 | 干美女视频 | 4438激情网 |