1. 安装Docker 首先,我们需要在主机上安装Docker。Docker是一种容器化平台,可以帮助我们轻松地构建、发布和运行容器。 2. 拉取go-zero镜像 我们可以从Docker Hub上拉取go-zero的镜像。打开终端并执行以下命令: dockerpull gozero/golang:latest 1. 这个命令将会下载最新的go-zero镜像。 3. 创建go-zero容器 创建...
加载运行环境基础镜像并生成gateway运行环境的docker镜像 为啥分为两个部分呢,我们不能直接把编译代码和打包镜像放一起吗,这当然是可以的,但是这样会导致docker镜像包会很大,而把编译和打包分开后可以大大减少docker镜像包的大小,方便我们快速分发和部署。 编译代码&镜像打包 ➜ go-zero-mall git:(master) ✗ ./...
Go-Zero操作数据库 go-zero提供了两个操作数据库的库,分别是sqlc和sqlx。区别是前者带缓存,后者不带缓存。 我们先在(六)Go-Zero实战之docker开发环境部署中创建的usercent服务进行gozero操作数据库相关内容的学习 tips:相关服务和表结构在(六)Go-Zero实战之docker开发环境部署中已经实现,如果本地没有的小伙伴可以...
整个项目使用了go-zero开发的微服务,基本包含了go-zero以及相关go-zero作者开发的一些中间件,所用到的技术栈基本是go-zero项目组的自研组件,基本是go-zero全家桶了 本项目开发环境推荐docker-compose,使用直链方式,放弃服务注册发现中间件(etcd、nacos、consul等)带来的麻烦 测试、线上部署使用k8s(也不需要etcd、naco...
go-zero docker-compose 搭建课件服务(八):集成jaeger链路追踪 0.1源码地址 https://github.com/liuyuede123/go-zero-courseware 1、链路追踪 一个外部请求需要内部若干服务的联动响应,这时候完整的调用轨迹将跨越多个服务,同时包括服务间的网络传输信息与各个服务内部的调用堆栈信息。追踪的主要目的是排查故障,如分析调...
Go-Zero操作数据库 go-zero提供了两个操作数据库的库,分别是sqlc和sqlx。区别是前者带缓存,后者不带缓存。 我们先在(六)Go-Zero实战之docker开发环境部署中创建的usercent服务进行gozero操作数据库相关内容的学习 tips:相关服务和表结构在(六)Go-Zero实战之docker开发环境部署中已经实现,如果本地没有的小伙伴可以...
go-zero docker-compose 搭建课件服务(四):生成 Dockerfile 并在 docker-compose 中启动 0.1 源码地址 github.com/liuyuede123/go-zero-cou... 1、目前的目录文件结构 目前只是创建好了 courseware 服务,这一章节我我们先在 docker-compose 跑通课件服务 .├── courseware │ ├── api │ │ ├── cou...
go-zero docker-compose 搭建课件服务(七):prometheus+grafana服务监控 0.1源码地址 https://github.com/liuyuede123/go-zero-courseware 1、什么是prometheus Prometheus是一个开源的系统监控和警报工具包。自2012年启动以来,许多公司和组织都采用了Prometheus,该项目拥有非常活跃的开发人员和用户社区。它现在是一个独立...
go-zero docker-compose 搭建课件服务(七):prometheus+grafana服务监控 0.1源码地址 https://github.com/liuyuede123/go-zero-courseware 1、什么是prometheus Prometheus是一个开源的系统监控和警报工具包。自2012年启动以来,许多公司和组织都采用了Prometheus,该项目拥有非常活跃的开发人员和用户社区。它现在是一个独立...
Go-zero服务部署策略 为了部署Go-zero服务,可以选择多种方法,包括使用Docker、Kubernetes或云服务提供商的平台(如AWS、Google Cloud、Azure等)。 常见问题排查与性能优化技巧 性能优化:使用缓存策略、优化数据库查询、减少网络延迟等。 问题排查:利用日志系统进行调试,利用性能监控工具分析瓶颈,使用断言和测试确保代码质量...