摘要: 1. redis分布式锁原理 redis实现分布式锁其实就是对key进行操作 加锁:给对应的lockkey赋值,就进行了加锁操作,其他进程发现该lockkey已经值了有值了,就说明锁已经被别人获取 解锁:获取到锁的进程删除这个lockkey 锁超时:避免客户端宕机导致无法正常释放锁 1.1 加锁 加 阅读全文
posted @ 2022-03-21 20:01 aganippe 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 1. hostname hostname 没有选项,显示主机名字 hostname –d 显示机器所属域名 iwhostname –f 显示完整的主机名和域名 hostname –i 显示当前机器的ip地址 2. ping ping 将数据包发向用户指定地址。当包被接收,目标机器发送返回数据包。pi 阅读全文
posted @ 2022-03-21 19:58 aganippe 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 1. linux有哪些进程 linux下的主要进程状态有: R(TASK_RUNNING) -- 可执行状态 S(TASK_INTERRUPTIBLE) -- 可中断的睡眠状态 D(TASK_UNINTERRUPTIBLE) -- 不可中断的睡眠状态 T(TASK_STOPPED or TASK_T 阅读全文
posted @ 2022-03-21 19:30 aganippe 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 1. 上下文context 上下文context.Context在golang中用于设置截止日期、同步信号、传递请求相关值的结构体。 上下文概念和goroutine有着较为密切的关系,是go中独有的设计。 在goroutine构成的树形结构中对信号进行同步以减少计算资源的浪费是context最大的作 阅读全文
posted @ 2022-03-21 17:07 aganippe 阅读(625) 评论(0) 推荐(1) 编辑
摘要: 面试时间:2022.03.21 1. 自我介绍 2. 云端存储项目介绍 3. 项目里redis做什么的?仅仅是缓存吗? -- 分布式锁 4. redis分布式锁怎么实现的 5. 除了redis还知道什么分布式锁? -- mysql和etcd 6. etcd的实现了解吗?简单说说 -- 底层不太清楚, 阅读全文
posted @ 2022-03-21 16:29 aganippe 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 1. golang垃圾回收 golang的垃圾回收算法是三色标记法,其中三个颜色分别为:灰色、黑色、白色,其对应了垃圾回收过程中变量的三种状态: 灰色:对象还在标记队列中等待 黑色:对象已经被标记,该对象不会在本次GC中被回收 白色:对象为被标记,该对象会在本地GC中被回收 1.1 垃圾回收流程 假 阅读全文
posted @ 2022-03-21 13:50 aganippe 阅读(359) 评论(0) 推荐(0) 编辑
摘要: 尝试基于grpc和docker pubsub包,提供一个跨网络的发布和订阅系统 安装依赖: go get github.com/moby/moby/pkg/pubsub 首先通过proto定义一个发布和订阅服务接口: syntax="proto3"; package pb; option go_pa 阅读全文
posted @ 2022-03-21 12:39 aganippe 阅读(1634) 评论(0) 推荐(1) 编辑