• Go_MOD遇见的一个问题

    题记记录今天工作的时候遇见的一个问题,准确来说是一个学习,因为我不会😄 前提公司一个项目A更新了代码提交到gitlab,打了对应tag。另一个项目B有引用项目A,目前项目B需要项目A的最新代码,所以需要更新go.mod文件中的版本。 遇见问题一直404 NOT FOUND 原因和解决流程没有配置git的Personal Access Token,没有Export GOPRIVATE(引用私...
  • 深圳万声音乐实习总结

    Here’s something encrypted, password is required to continue reading.

  • 项目GeeCache面试题

    项目地址https://github.com/zhouxing9454/Geecache 项目流程(不是Grpc版本) 什么是分布式缓存系统?分布式缓存是指将缓存数据分布在多台机器上,以提高缓存容量和并发读写能力的缓存系统。分布式缓存通常由多台机器组成一个集群,每台机器上都运行着相同的缓存服务进程,缓存数据被均匀地分布在集群中的各个节点上。 为什么要使用分布式缓存?高并发环境下,例如典型的淘...
  • Go-context源码剖析

    题记上次面试被人问麻了context,记录一下。 简介context.Context 是golang中独特的涉及,可以用来用来设置截止日期、同步信号,传递请求相关值的结构体。 与 Goroutine 有比较密切的关系。 在web程序中,每个Request都需要开启一个goroutine做一些事情,这些goroutine又可能会开启其他的 goroutine去访问后端资源,比如数据库、RPC服...
  • go-micro插件学习

    题记本文主要记录例如etcd,Hystrix,Jaeger等一系列组件的使用,当然还有一些非组件用法的介绍。 Heartbeat分布式系统架构中会有多个节点(node),有的是多个不同的节点服务,有的是多个一样的服务节点。这些节点分担着任务的运行、计算、或者程序逻辑的处理,如果一个节点出现了故障有时将使整个系统无法工作。 心跳机制就应运而生,心跳检测类似于ICU患者的心跳检测仪,对被检测者起...
  • go-micro命令行学习

    题记上篇文章我们提到了go-micro有个CLI(提供命令行界面让我们和微服务进行交互),现在我们来简单的学习一下。 1、什么是go-micro.exe(CLI)?go-micro 是一个命令行工具,用于管理和操作微服务。它提供了一系列命令,允许您进行各种操作,包括调用服务、创建新项目、生成项目模板文件、运行服务、列出服务等等。 2、go-micro.exe(CLI)安装使用如下命令安装go...
  • mongodb学习

    题记​ 本文主要是记录mongodb的安装和使用。 mongodb安装​ 本文主要介绍在macos系统下用docker安装mongodb。首先拉取对应的mongodb镜像 1docker pull mongo:latest 然后跑起来对应的容器 123456docker run -itd --name mongo //容器名-p 27017:27017 //暴露端口-e MONGO...
  • 数据库锁问题

    题记​ 今天在公司遇见了一个数据库锁问题,复盘一下。 问题与原因​ 测试环境下更新Spine接口:biz层使用ExecTx调用data层的一些函数用于数据库操作,其中更新文件时间戳的代码如下所示,其他都是使用c.db.DB(ctx)来实现数据库操作,这可能会出现更新文件时间戳操作使用的 gorm.DB 实例和其他的不同,导致事务不一致的问题。(我就遇见了执行到更新文件时间戳函数卡住的情况,锁...
12345