登录
首页 >  Golang >  Go问答

遇到的挑战:从 Azure 迁移到 Google Cloud Service

来源:stackoverflow

时间:2024-03-07 08:54:24 470浏览 收藏

有志者,事竟成!如果你在学习Golang,那么本文《遇到的挑战:从 Azure 迁移到 Google Cloud Service》,就很适合你!文章讲解的知识点主要包括,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

问题内容

根据我的搜索,我创建了一个项目,并通过该链接部署了一些服务:https://codelabs.developers.google.com/codelabs/cloud-app-engine-go/index.html?index= ..%2f..index#0

经过一番努力,我可以部署,但现在我什至不确定应用程序是否真的在某个地方运行,因为我根本没有日志(我至少没有找到任何日志,只有一个告诉 2019-10-29t21 :56:21.890z app engine updateservice users-service [email protected] .........),我没有找到任何指标,也无法访问我的 api..

我的 api 目前定义了 2 个端口(grpc 和 rest),因此我尝试 ping 给定地址,添加端口或不添加端口,但没有成功,因为我无法访问我的服务。

我现在确实陷入困境,我尝试了几个有关 google cloud 文档的日志库,但似乎没有任何效果,一切都是空的。

- "google.golang.org/appengine/log"
- "cloud.google.com/go/logging"
- "log"

今天早上回到工作岗位,一个小时后,我尝试重新部署我的服务,并收到了第 3 个日志

package main

import (
    "log"
    ...
)

func main() {


    log.print("users service")
    log.println("users service")
    log.printf("users service")

    log.fatal("heyyyyyyy")

//...

我编辑了我的代码,稍后在我的主文件中添加了一个打印并重新部署。现在我不再有第一个日志了..似乎我有时可以登录,但随后,它停止工作一段时间然后又回来。有什么想法吗?

我尝试更新我的打印功能,但仍然没有成功:

// appengineLog is actually the official package but I renamed it to use both "log" and "appengine/log"
// import appengineLog "google.golang.org/appengine/log"

func print(v string) {
    log.Print(v)
    log.Println(v)
    log.Printf("%s", v)
    ctx, _ := context.WithTimeout(context.Background(), 2*time.Second)
    appengineLog.Infof(ctx, "%s", v)
    appengineLog.Debugf(ctx, "%s", v)
    appengineLog.Errorf(ctx, "%s", v)
    appengineLog.Warningf(ctx, "%s", v)
    appengineLog.Criticalf(ctx, "%s", v)
}

func main() {
    print("test")
    // ...
}

奇怪的是,我每次部署都收到 2019-10-29t21:56:21.890z app engine updateservice users-service [email protected] ......... 消息,所以这意味着 (对我来说)我的服务已部署,因此应该启动并打印。打印内容位于我的 main so 的第一行..

编辑

当我从整体转向微服务时,我选择了 google compute engine,它似乎更适合此类部署:)


解决方案


Google Cloud 提供了多种调试和监控应用的方法,例如 Stackdriver logging,您可以在其中监控、调试和过滤应用的活动。 You can view logs and even export them。Google Cloud 还提供 Stackdriver monitoring,用于对系统进行正常运行时间检查、警报策略、使用指标资源管理器绘制任何指标的图表。除此之外,您甚至可以创建自己在 Stackdriver 监控中使用的自定义指标。

到这里,我们也就讲完了《遇到的挑战:从 Azure 迁移到 Google Cloud Service》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>