【系统设计】秒杀系统实现方案与技术
秒杀系统作为互联网“高并发、高性能、高可用”系统的代表,从系统设计、数据处理到运维保障等方面都有很多可以考察和深挖的点,本文将尝试分析涉及的关键问题,并总结相关的最佳实践。 秒杀系统的核心挑战在于平衡性能、一致性与安全性。 秒杀系统中常见的问题包括:...
秒杀系统作为互联网“高并发、高性能、高可用”系统的代表,从系统设计、数据处理到运维保障等方面都有很多可以考察和深挖的点,本文将尝试分析涉及的关键问题,并总结相关的最佳实践。 秒杀系统的核心挑战在于平衡性能、一致性与安全性。 秒杀系统中常见的问题包括:...
数据库和缓存的一致性问题,在面试以及实践中都是非常重要的知识点,而一般面试者只能说出最佳的实践是什么(即延迟双删或者先更新数据库再删除缓存key),但是不能通过线程之间的读写关系举例说明为什么要这样实践,本文通过穷尽更新缓存的四种方式进行分析,得出了...
本文将使用kubeadm模式快速部署一主两从集群。 虚拟机准备首先本地需要准备:CentOS7.x-86_x64镜像,硬件至少2GB。 然后打开VMware WorkStation新建三个虚拟机(新建虚拟机教程,可以选择基础设施服务器),分别命名为m...
从几个缩写讲起首先,提到事务,一般指的是数据库的事务,指逻辑上的一组操作,要么都执行,要么都不执行。 ACID,指的是数据库在写入或者更新资料时,为了保证交易正确可靠,要具备的4个特性: 缩写 英文单词 中文解释 说明 A atomici...
正式进入工作岗位之前对精进技术的思考——工程上的最佳实践 Why?首先要理解为什么要从工程实践的角度思考,常规的培训教程虽然是以项目的形式,但目的是帮助我们学会使用基本的开发工具如何使用,而实际开发过程中如何将各种技术组件有效地组合和应用、如何解决实...
Git有两个基本作用: 版本控制 团队开发 一、Git工作流程 二、Git基本配置设置用户信息设置:(+如果要查看,只输入双引号前面的就好了) 12git config --global user.name "yourname"...
环境第1步:下载go(下载地址) 第2步:配置环境变量 GOROOT:go的安装目录 GOPATH:go的工作目录(全局),一般给文件夹起名叫GoWorkstation、Go_WorkSpace等。 src:存放源代码 pkg:存放依赖包 b...
基本认识 在Go中,将错误当成值来进行处理,强调判断错误和处理错误,不支持try/catch捕获异常。 Go选择使用Error而非Exception来进行错误处理。 一般把错误作为函数或方法的最后一个返回值。 Error接口使用error接口表示错...
并发编程基本概念串行、并发与并行 串行:我们都是先读小学,小学毕业后再读初中,读完初中再读高中。 并发:同一时间段内执行多个任务(你在用微信和两个女朋友聊天)。 并行:同一时刻执行多个任务(你和你朋友都在用微信和女朋友聊天)。 进程、线程和协程 进...
GO1.3标记清除,整体需要STW:1.暂停,找到可达和不可达对象,2. 标记可达对象,3. 清除未标记对象,4. 结束暂停 GO1.5三色标记法,堆启动写屏障,栈不启动,全部扫描一次后,需要重新扫描栈(STW),效率低 如果没有STW,对象丢失的2...