- 博客(8)
- 收藏
- 关注
原创 zap 接收 gin 框架默认的日志
1. 如何结合当下主流的Web框架gin进行请求日志的打印。2. 对zap进行二次封装,注入trace信息,一遍我们可以在业务中查询一次请求的所有完整日志。
2021-11-24 14:07:55
1536
原创 Golang日志入门与技术选型
无论是软件开发的调试阶段还是软件上线之后的运行阶段,日志一直都是非常重要的一个环节,我们也应该养成在程序中记录日志的好习惯。 Go 语言内置的log包实现了简单的日志服务。本文介绍了标准库log的基本使用和第三日志库的选型和使用。
2021-11-17 20:16:52
677
原创 软件研发过程中的5种最常见的图
一、背景软件研发过程中,我们常有如下的困惑: 有时我们需要设计一个较大型的业务系统,或者做一个开源项目,我们该如何将这个系统的整体功能、逻辑细节一层层描述清楚呢? 我们接手了一个大型复杂的系统,该如何一点点从宏观到微观的去梳理整个功能流转的脉络呢? 通过简单绘制系统的架构图、各模块之间的接口交互和时序图等,我可以更加直观地理解整个系统的运作模式,所谓的磨刀不误砍柴工。二、系统架构图系统架构图往往用于软件研发的总体设计阶段,通过简单分层来展示不同层次的模块,再加上基础服务、公共
2021-11-08 22:50:55
8969
原创 工程实践之Golang错误处理
1、原生错误处理Go 语言通过内置的错误接口提供了非常简单的错误处理机制。 error类型是一个接口类型,这是它的定义:type error interface { Error() string } 我们可以在编码中通过实现 error 接口类型来生成错误信息。 函数通常在最后的返回值中返回错误信息。使用errors.New 可返回一个错误信息:func Sqrt(f float64) (float64, error) { if f < 0 { ...
2021-11-05 17:05:36
1249
原创 一文教会你如何进行Golang服务优化
1、概述嗨喽,大家好呀!我是简凡,一位游走于各互联网大厂间的新时代农民工。对于C端在线业务,服务的稳定性和吞吐量常常是评估一个系统的重要指标,所以本文将从以下4点进行展开,逐步讲解golang中如何进行性能优化。为什么要做性能优化 性能优化基础 优化思路 常见的优化场景2、性能优化的目的(Why?)我们常常在以下时候考虑到性能优化:日常优化系统: 接口相应时间优化,以满足对上游的SLA CPU优化,保证在线业务cpu idl处于一个较高水平,降低业务量突增对系统稳定性带来.
2021-10-29 19:48:02
1209
原创 《后端从入门到熟悉-正式篇》
嗨喽,大家好呀!我是简凡,一位游走于各互联网大厂间的新时代农民工。从本篇开始,我开始按照企业对于后端开发者的需求层级,将成长阶段拆分为入门、初级、中级、高级、史诗级,逐步深入的为大家介绍后端的学习内容,下面开始正题。一、前期准备首先说前期准备,承接序言中的观点,为了让每一轮的知识学习更加扎实,也为了学习的结果、Demo沉淀下来,用于以后的复习、回溯,我们要开始做以下事情: 选择自己的云笔记,个人建议用语雀,上一篇做过分析。然后参考简凡一样建立自己后端的体系框架,未来逐步往里面增添内容
2021-10-23 19:27:34
2845
原创 《后端从入门到熟悉-序言》
一、写在前面的话嗨喽,大家好呀!我是简凡,一位游走于各互联网大厂间的新时代农民工。这是我初写博客的第一个系列,做为曾经编程小白我,也经历了长期的困惑迷惘,想学点什么做点什么,但又无从下手???? 。所以想在此分享下这一路走来的成长之路,希望能帮助到正在观看文章的你。为了让成长变得更加可以操作,所以我不想直接扔一篇什么后端成神之路的路线图xmind出来,而是通过成长的第一人称视角去一步步完成这个系列。首先介绍先这个系列的标题,后端从入门到熟悉,为什么要用熟悉呢?因为程序员要学会的第一件事就是低调?
2021-10-11 11:47:04
300
原创 redis 缓存一致性问题
在高并发的情况下,如果当删除完缓存的时候,这时去更新数据库,但还没有更新完,另外一个请求来查询数据,发现缓存里没有,就去数据库里查,以商品库存为例,如果数据库中产品的库存是100,那么查询到的库存是100,然后插入缓存,插入完缓存后,原来那个更新数据库的线程把数据库更新为了99,导致数据库与缓存不一致的情况。这种情况如何解决比较好呢?本文从以下三个部分进行浅谈:1、讲解缓存更新策略2、对每种策略进行缺点分析3、针对缺点给出改进方案对于缓存和数据库的操作,主要有以下两种方式:.
2021-09-30 17:23:01
325
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人