- 博客(287)
- 资源 (5)
- 收藏
- 关注

原创 【Go语言入门指南】零基础入门 go 语言 | Golang 入门指南
这篇文章是我自己亲身经历这样去学go的,本人是从20年的10月份开始入坑go语言的,当时的资料真的少,现在关于go语言的资料已经很多了。我就在把我自己的学习路线稍微梳理一遍,我个人觉得,学完之后,像深信服,b站,得物什么的应该是没什么问题,但如果是字节,腾讯,阿里这种就除了一些硬性条件之外,自己再刷多点题,背多点八股了。
2022-09-25 22:36:10
11073
8

原创 【FanOne的博客导航】希望你能喜欢这里 | 欢迎光临~
这里是凡一的博客导航 | 关于Go、区块链、大数据的一些笔记和实战,希望能帮助到你~ 欢迎光临~
2021-08-14 11:27:44
10643
18
原创 图解 Redis AOF 持久化 | 创建与载入|重写
除了RDB持久化外,Redis还提供了AOF(Append Only File)持久化功能。这篇文章我们就来讲讲AOF持久化的细节原理。
2025-02-09 12:06:55
421
原创 MySQL 调优技巧|索引什么时候失效?为什么?
优化慢SQL,这是在工作或者面试中都不可避免的问题。这篇文章我们就来讲讲慢SQL的优化的一些方法!
2024-12-15 23:31:56
1027
原创 深入理解 Redis跳跃表 Skip List 原理|图解查询、插入
跳跃表 ( skip list ) 是一种有序数据结构,通过在每个节点中维持多个指向其他节点的指针,从而达到快速访问节点的目的。在 Redis 中,跳跃表是有序集合键的底层实现之一,那么这篇文章我们就来讲讲跳跃表的实现原理。
2024-11-17 18:28:38
1407
原创 互联网广告的变现逻辑|计费模式|CPC、CPM、OCPC、OCPM
最近的工作和广告相关,就整理一下自己学到的关于互联网广告变现的一些知识。广告是互联网主要变现手段之一,一般的互联网公司都会有个商业化部门专门做广告的变现。这篇文章我们就来讲一下。
2024-11-11 02:30:44
2428
原创 一文弄懂分库分表|为什么需要分库分表|怎么分?
99%的业务场景都可以用分片键命中,如果PM提出的需求,RD评估起来觉得没法用分片建命中,可以和业务方沟通甚至直接拒掉!
2024-10-16 23:11:03
745
1
原创 如何计算服务需要部署多少台机器?
遇到流量激增的性能问题,相信绝大多数人的第一反应不是优化代码而是加机器!比如隔壁微博一旦出现爆炸性吃瓜,就会紧急扩机器,防止自己服务被打挂(虽然经常被打挂这篇文章我们就来讲一下如何 计算出一个服务模块需要部署多少台机器!
2024-10-03 17:50:08
896
原创 图解 TCP 四次挥手|深度解析|为什么是四次|为什么要等2MSL
首先我们可以确定一点TCP是全双工的,四次挥手是保证了双方都知道并且都已经断开连接。四次挥手过程的目的是确保数据在关闭过程中能够被完整传输,同时也允许延迟的数据包在关闭后仍然能够被接收。TIME_WAIT 状态的存在是为了处理可能的重复数据包,以确保连接的完全关闭。⚠️ 注意一点:关闭连接时,客户端A向服务端B发送 FIN 时,仅仅表示客户端不再发送数据了但是还能接收数据。为什么握手要三次,挥手却要四次呢?
2024-09-22 19:14:06
2999
原创 图解 Hadoop 架构 |Yarn、MapReduce
YARN(Yet Another Resource Negotiator)是 Hadoop 生态系统的一个关键组件,用于集群资源管理和作业调度,是 Hadoop 的第二代资源管理器,取代了早期版本中的 MapReduce 作业调度器,为大规模数据处理提供了更灵活和高效的资源管理框架。尽管 MapReduce 在大数据处理方面取得了巨大成功,但随着数据处理需求的多样化,其他更灵活和高级的计算模型和框架也得到了发展和应用,如 Spark、Flink 等。后续会出一篇关于 YARN 详细笔记,这里不过多赘述~
2024-07-22 02:03:54
1707
原创 图解 HDFS 架构 |读写过程
每个文件的 block 大小(dfs.blocksize)和副本系数(dfs.replication)都是可配置的。ACK (Acknowledge character)即是确认字符,在数据通信中,接收方发给发送方的一种传输类控制字符。HDFS 中的文件在物理上是分块存储(block)的,块的大小可以通过配置参数来规定,参数位于 hdfs-default.xml 中:dfs.blocksize。在线性推送模式下,每台机器所有的出口宽带都用于以最快的速度传输数据,而不是在多个接受者之间分配宽带。
2024-07-22 02:03:32
681
原创 Milvus Meetup | Zilliz x Google | Google 北京工区揭秘
作为 milvus 社区的一员,受社区邀请参加一场,由于milvus和google有合作,所以一拍即合!
2024-07-22 00:39:44
519
原创 图解 Twitter 架构图
两年前,马老板收购了twitter,并且做了一系列的大动作。那么今天我们来看一下这个全球最火的软件之一的架构。
2024-06-16 22:44:00
1908
5
原创 Go singlefight 源码详解|图解
singleflight 将相同的并发请求合并成一个请求,进而减少对下层服务的压力,通常用于解决缓存击穿的问题。
2024-06-10 18:45:50
1264
原创 滴滴三面 | Go后端研发
看我们业务对数据实时性的要求如果实时性要求不高,可以设置定时任务,T+1小时、T+30分钟进行同步或者统一处理如果实时性要求高,我们可以监听binlog进行消费,不过要做好幂等性方面的工作,防止重复消费这个uint类型的溢出我就不过多赘述了。整数反转。
2024-05-18 17:28:12
1305
6
原创 redis 高可用 Sentinel 详解
Sentinel 本质上只是一个运行在特殊模式下的Redis服务器,Sentinel如何保证redis的高可用呢?
2024-05-01 20:33:39
1806
1
原创 线程池详解并使用Go语言实现 Pool
在线程池中存在几个概念:核心线程数最大线程数任务队列。与其他池化技术不同的是,线程池是基于生产者-消费者模式来实现的。
2024-04-06 23:42:45
1518
原创 图解缓存淘汰算法 LRU、LFU | 最近最少使用、最不经常使用算法 | go语言实现
无论是什么系统,在研发的过程中不可避免的会使用到缓存,而缓存一般来说我们不会永久存储,但是缓存的内容是有限的,那么我们就可以使用 LRU算法,来维持缓存中的信息的时效性。
2024-03-16 13:16:23
11079
1
原创 【分布式事务 XA模式】MySQL XA模式详解
MySQL 的 5.0.3 版本开始支持XA分布式事务,并且只有innoDB存储引擎支持XA事务。
2024-02-24 21:54:13
1907
原创 MySQL锁相关总结|悲观锁、乐观锁、读锁、写锁、表锁、行锁、页面锁、间隙锁、临键锁
MySQL 的锁上可以分成三类:总体、类型、粒度。下面我们就来详细讲一下这些锁。
2024-02-21 00:10:33
437
原创 【Go语言实战】(25) 分布式算法 MapReduce
现在回过头来看mapreduce,发现技术这东西和语言不一样,技术万变不离其中,而语言只是实现技术的一种方法而已,用什么语言其实并不重要。
2023-10-06 22:06:28
934
2
原创 【Golang系统开发】搜索引擎(3) 压缩倒排索引表
假设我们的数据集中有 800000 篇文章,每篇文章有 200 词条,每个词条有6个字符,倒排记录数目是 1 亿。那么如果我们倒排索引表中单单记录文档id,不记录文档内的频率和偏移信息。那么 文档id 的长度就必须是log280000020bit(文档可能每篇文章都存在,所以是以最长的长度要求),所以我们整个未压缩的倒排索引表的大小大概有,倒排记录数 * 文档id大小 = 100,000,000 * 20/8 = 250 MB。
2023-08-19 14:50:10
1445
原创 【Golang系统开发】搜索引擎(2) 压缩词典
这篇文章我们就给出一系列的数据结构,使得词典能达到越来越高的压缩比。当然,和倒排索引记录表的大小相比,词典只占据了非常小的空间。那么为什么要对词典进行压缩呢?因此,词典压缩的主要目的是可以将词典放在内存当中,这样才会获得很高的查询吞吐率。那么如何能将更多的词典压缩在有限的内存中呢?
2023-08-17 09:39:29
1040
计算机网络笔记.zip
2021-11-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人