前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2018年10月16日 Go生态洞察:App Engine新Go 1.11运行时发布

2018年10月16日 Go生态洞察:App Engine新Go 1.11运行时发布

作者头像
猫头虎
发布2024-04-08 14:11:24
890
发布2024-04-08 14:11:24
举报
文章被收录于专栏:猫头虎博客专区

2018年10月16日 Go生态洞察:App Engine新Go 1.11运行时发布

📜 摘要

大家好,我是猫头虎博主!今天要跟大家分享的是Google Cloud最近宣布的App Engine标准环境中新的Go 1.11运行时。这次更新不仅带来了对Go社区长期以来需求的支持,而且还包括了对云应用开发模式的重大改进。让我们一起探索这一刷新人心的技术进展!

🌟 引言

自2011年App Engine首次对Go提供实验性支持以来,Go社区经历了显著增长,并在云应用程序开发中形成了一套成熟的模式。今天,我要介绍的是Go 1.11运行时在App Engine标准环境中的应用,这一全新更新旨在提供完整的App Engine体验,同时支持Go的惯用模式。

📘 正文

🚀 Go 1.11在App Engine中的变革

自Go 1.11起,App Engine上的Go应用不再限制应用结构、支持的包、context.Context值或HTTP客户端。只需按照自己的喜好编写Go应用程序,添加一个app.yaml文件,您的应用就可以轻松部署到App Engine上了。

🧩 应用结构与依赖管理

Go 1.11在App Engine中支持更灵活的应用结构和包的使用。您可以使用vendoringmodules(实验性)来管理依赖,详见Specifying Dependencies

🌐 创建一个App Engine应用

让我们来看一个在App Engine上创建小应用的例子。这里假设您使用的是GOPATH-based的工作流,尽管Go modules也得到了实验性支持

🛠️ 应用代码

首先,在您的GOPATH中创建应用:

代码语言:javascript
复制
// This server can run on App Engine.
package main

import (
    "fmt"
    "log"
    "net/http"
    "os"
)

func main() {
    port := os.Getenv("PORT")
    if port == "" {
        port = "8080"
    }
    http.HandleFunc("/", hello)

    log.Fatal(http.ListenAndServe(fmt.Sprintf(":%s", port), nil))
}

func hello(w http.ResponseWriter, r *http.Request) {
    w.Write([]byte("Hello, 世界"))
}

这段代码展示了一个简单HTTP服务器的典型设置,它能响应“Hello, 世界”。如果您之前有App Engine的经验,您会注意到这里不再需要调用appengine.Main(),它现在完全是可选的。更重要的是,应用代码是完全可移植的,与部署应用的基础设施没有任何绑定。

📦 处理外部依赖

如果您需要使用外部依赖,可以将这些依赖添加到vendor目录或go.mod文件中,新的运行时都支持这两种方式。

📝 创建app.yaml

完成应用代码后,创建一个app.yaml文件来指定运行时:

代码语言:javascript
复制
runtime: go111
🌐 配置Google Cloud Platform

最后,设置好Google Cloud Platform账户:

  1. GCP创建一个账户。
  2. 创建一个项目
  3. 在您的系统上安装

Cloud SDK

完成所有设置后,可以使用一个命令进行部署:

代码语言:javascript
复制
gcloud app deploy
📈 Go开发者的新机遇

Go开发者会发现,对App Engine的这次Go 1.11运行时更新是对可用选项的一个激动人心的补充。这里还有一个免费层供大家试用。不妨查看入门指南迁移指南,今天就部署一个应用到新运行时吧!

📊 知识要点总结

关键特性

描述

运行时支持

Go 1.11在App Engine标准环境中的支持

应用结构与依赖管理

支持更灵活的应用结构和包的使用

创建应用

简化了创建和部署Go应用到App Engine的过程

外部依赖处理

支持vendor目录和go.mod文件

部署

通过Cloud SDK使用gcloud app deploy命令进行部署

📌 总结

本文被猫头虎的Go生态洞察专栏收录,希望大家喜欢这次对Go 1.11运行时在App Engine中的深入探讨

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-11-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2018年10月16日 Go生态洞察:App Engine新Go 1.11运行时发布
    • 📜 摘要
      • 🌟 引言
        • 📘 正文
          • 🚀 Go 1.11在App Engine中的变革
          • 📈 Go开发者的新机遇
        • 📌 总结
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档