-
[置顶]软件接口设计怎么做?前后端分离软件接口设计思路
本文关于软件接口设计怎么做?前后端分离软件接口设计思路。好的系统架构离不开好的接口设计,因此,真正懂接口设计的人往往是软件设计队伍中的稀缺型人才。为什么在接口制定标准中说:一流的企业做标准,二流的企业...
-
[置顶]接口管理如何做?接口实现版本管理的意义和最佳方法
本文关于接口管理如何做?接口实现版本管理的意义和最佳方法。API版本管理的重要性不言而喻,对于API的设计者和使用者而言,版本管理都有着非常重要的意义。下面会从WEB API 版本管理的角度提供几种常...
-
[置顶]实现API管理系统的关键
下面将通过几个关键词的形式说明API管理的重要性和未来的实现方式。1.生命周期管理在整个API生命周期中更深入地集成所有工具将进一步提高生命周期循环的速度,而且更重要的是提供满足消费者需求的API。这...
-
一文掌握 Go 语言 Select 的四大用法(一文掌握,低硫燃油那些事)
本文带大家认识 Go 语言的 Select 用法,相信大家对于 switch 并不陌生,然而 select 跟 switch 有个共同特性就是都通过 case 的方式来处理,但是 select 跟 s...
-
Go 如何防止缓存穿透(google play)
当线上接口请求量比较大时,如果恰好遇到缓存失效,会造成大量的请求直接打到数据库,导致数据库压力过大、甚至崩溃。如果缓存的数据实时性要求不那么高,可以试试 `do-once-while-concurre...
-
除了标准库 sync 包外,这个官方包(golang.org/x下的)你应该了解(标准库的作用)
x-files这里的 x-files 指的是 golang.org/x/ 下的官方辅助包,本文我们介绍下 golang.org/x/sync 这个包。为什么需要 x-files?go 语言里使用 go...
-
Golang源码系列一:Map实现原理分析(golang 源码解析)
一、map的结构与设计原理golang中map是一个kv对集合。底层使用hash table,用链表来解决冲突 ,出现冲突时,不是每一个key都申请一个结构通过链表串起来,而是以bmap为最小粒度挂载...
-
Golang 源码系列二:Slice实现原理分析(golang教程)
众所周知,在golang中,slice(切片)是我们最常使用到的一种数据结构,是一种可变长度的数组,本篇文章我们主要结合源码来介绍一下slice的底层实现,以及在使用slice时的一些注意事项。Sli...
-
Golang源码系列三:Channel实现原理分析(go channel实现原理)
一、什么是channel我们来看《Go语言编程》中的一段话channel是Go语言在语言级别提供的goroutine间的通信方式,是一种进程内的通信方式。通俗点儿解释就是channel可以在两个或者多...
-
Golang源码系列四:Interface实现原理分析(golang接口深入理解)
本文基于go1.12.12源码进行分析,代码在amd64机器上运行和调试1. Duck Typing1.1 什么是鸭子类型图中的大黄鸭是一只鸭子吗?如果从传统角度来看,图中的大黄鸭并非是一只鸭子,因为...
-
“网红” WebAssembly 与 K8s 如何实现双剑合璧?(网红小吃)
导读:WebAssembly 技术已经走出浏览器,让计算无处不在。本文利用 containerd 的扩展机制,可以为 WebAssembly 应用提供与其他容器应用一致的、抽象的、应用分发、交付和运维...
-
Micro In Action(一):入门(microsoft store无法加载页面)
这个系列聊一聊 Micro[1], 我们将以实际开发微服务为主线,顺带解析相关功能。从最基本的话题开始,逐步转到高级特性。Micro 很强大,掌握后使用起来也相当便利。但它的演进速度非常快, 导致其文...
-
一个零 GC 的缓存库:freecache(一个零都不读的小数是什么)
商业世界里,现金为王;架构世界里,缓存为王。今天给大家推荐一个零 GC 开销、高并发性能的缓存库:FreeCache,项目地址:https://github.com/coocood/freecache...
