09 2021 档案
摘要:一、参数校验问题 使用go做web服务时,经常需要对请求参数进行校验,有些必填参数需要校验是否为空。 经常会遇到参数a为int类型,但是其值取值范围为0-xxx。0也是有意义的。 即参数a如果传0也算传参了,但是go中传0会被认为是没有传,无法通过校验,导致出现问题。 目前的解决方法是将请求参数类型
阅读全文
摘要:很多项目都需要多个服务配合相互调用,所以请求经常需要有一个traceId来记录和追踪每个请求。 下面介绍下怎么在logrus中添加traceId 其实使用的是logrus的hook钩子 type TraceIdHook struct { TraceId string } func NewTraceI
阅读全文
摘要:关键概念 微服务: 从结构上:将原有的从技术角度拆分的组件,升级为从业务角度拆分的独立运行的服务,这些服务具备各自实现平台,并且独自占有数据,在服务之间以智能端点和哑管道方式通信。 在工程上:从产品而非项目角度进行设计、强调迭代、自动化和面向故障的设计方法。 服务网格Service Mesh 一代
阅读全文
摘要:1、在dockerfile里面使用本地镜像 假设本地有golang:1.16镜像,你想使用,你可能回这么写 FROM golang:1.16 但是这样的话,docker会去docker.io拉取golang:1.16而不是使用本地的镜像 那应该怎么办呢,其实很简单。修改下tag,改成docker.i
阅读全文