<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[LightOfNight的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/LightOfNight</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; LightOfNight]]></copyright><item><title><![CDATA[【Sentinel Go】新手指南、流量控制、熔断降级和并发隔离控制]]></title><link>https://blog.youkuaiyun.com/LightOfNight/article/details/144333018</link><guid>https://blog.youkuaiyun.com/LightOfNight/article/details/144333018</guid><author>LightOfNight</author><pubDate>Sun, 08 Dec 2024 21:54:11 +0800</pubDate><description><![CDATA[随着微服务的流行，服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件，主要以流量为切入点，从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。]]></description><category></category></item><item><title><![CDATA[MySQL的回表是什么？一文搞懂]]></title><link>https://blog.youkuaiyun.com/LightOfNight/article/details/144318972</link><guid>https://blog.youkuaiyun.com/LightOfNight/article/details/144318972</guid><author>LightOfNight</author><pubDate>Sat, 07 Dec 2024 23:44:25 +0800</pubDate><description><![CDATA[从定义、原因、流程、影响和优化这五个方面介绍了MySQL的回表]]></description><category></category></item><item><title><![CDATA[从6个角度分析MySQL里索引的类型有哪些]]></title><link>https://blog.youkuaiyun.com/LightOfNight/article/details/144318652</link><guid>https://blog.youkuaiyun.com/LightOfNight/article/details/144318652</guid><author>LightOfNight</author><pubDate>Sat, 07 Dec 2024 23:21:22 +0800</pubDate><description><![CDATA[从存储结构、叶子节点是否存储数据、索引性质、唯一性、包含列的数量、查询优化这6个角度对索引进行分类。]]></description><category></category></item><item><title><![CDATA[一文了解MySQL写缓冲Change Buffer（定义 作用 执行过程 触发时机 业务场景）]]></title><link>https://blog.youkuaiyun.com/LightOfNight/article/details/144302048</link><guid>https://blog.youkuaiyun.com/LightOfNight/article/details/144302048</guid><author>LightOfNight</author><pubDate>Fri, 06 Dec 2024 22:56:24 +0800</pubDate><description><![CDATA[介绍了写缓冲的定义和作用，并且举了2个例子介绍了执行过程，触发时机、刷数据时机、优缺点、业务场景、配置和对比等]]></description><category></category></item><item><title><![CDATA[一文了解MySQL缓冲池buffer pool（作用 原理 淘汰策略 分配 刷新 配置）]]></title><link>https://blog.youkuaiyun.com/LightOfNight/article/details/144300938</link><guid>https://blog.youkuaiyun.com/LightOfNight/article/details/144300938</guid><author>LightOfNight</author><pubDate>Fri, 06 Dec 2024 21:42:31 +0800</pubDate><description><![CDATA[介绍了MySQL缓冲池buffer pool的作用、工作原理、管理与淘汰、分配、刷新、监控、实例和配置，一篇文章了解缓冲池]]></description><category></category></item><item><title><![CDATA[一文了解Gossip协议（简介、适用场景、优点、工作原理、通信方式）]]></title><link>https://blog.youkuaiyun.com/LightOfNight/article/details/144274351</link><guid>https://blog.youkuaiyun.com/LightOfNight/article/details/144274351</guid><author>LightOfNight</author><pubDate>Thu, 05 Dec 2024 19:51:50 +0800</pubDate><description><![CDATA[Gossip协议是一种P2P的分布式协议，其核心是在去中心化结构下，通过将信息部分传递，达到全集群的状态信息传播。传播的时间收敛在O（Log（N））以内，其中N是节点的数量。基于Gossip协议，可以构建出状态一致的各种解决方案● 信息的传播可以看作二叉树结构，一个周期里，一个已经知道信息的节点会随机选择一个尚未知道信息的节点传递信息，类似二叉树的层级扩展，这样是指数式增长的，所以传播时间logn。]]></description><category></category></item><item><title><![CDATA[一文搞懂基于Raft算法的领头选举过程]]></title><link>https://blog.youkuaiyun.com/LightOfNight/article/details/144273227</link><guid>https://blog.youkuaiyun.com/LightOfNight/article/details/144273227</guid><author>LightOfNight</author><pubDate>Thu, 05 Dec 2024 18:30:50 +0800</pubDate><description><![CDATA[介绍了Raft选举的8个过程以及Raft思想的应用]]></description><category></category></item><item><title><![CDATA[Golang内存模型总结1（mspan、mcache、mcentral、mheap）]]></title><link>https://blog.youkuaiyun.com/LightOfNight/article/details/144251605</link><guid>https://blog.youkuaiyun.com/LightOfNight/article/details/144251605</guid><author>LightOfNight</author><pubDate>Wed, 04 Dec 2024 22:19:46 +0800</pubDate><description><![CDATA[从上到下分别是寄存器、高速缓存、内存、磁盘，其中越往上速度越快，空间越小，价格越高。关键词是多级模型和动态切换。]]></description><category></category></item><item><title><![CDATA[Redis设计与实现第17章 -- 集群 总结3（ASK错误、复制与故障转移、消息）]]></title><link>https://blog.youkuaiyun.com/LightOfNight/article/details/144246976</link><guid>https://blog.youkuaiyun.com/LightOfNight/article/details/144246976</guid><author>LightOfNight</author><pubDate>Wed, 04 Dec 2024 18:37:16 +0800</pubDate><description><![CDATA[集群中的各个节点会通过相互发消息的方式来交换集群中各个节点的状态信息，当一个主节点A通过消息得知主节点B认为主节点C进入了疑似下线状态时，主节点A会在自己的clusterState.nodes字典中找到主节点C对应的clusterNode结构，并将主节点B的下线报告添加到clsuterNode结构的fail_reports链表里。Redis集群中的节点分为主节点master和从节点slave，其中主节点用于处理槽，从节点用于复制某个主节点，并在被复制的主节点下线时，代替下线主节点继续处理命令请求。]]></description><category></category></item><item><title><![CDATA[Redis设计与实现第17章 -- 集群 总结2（执行命令 重新分片）]]></title><link>https://blog.youkuaiyun.com/LightOfNight/article/details/144224738</link><guid>https://blog.youkuaiyun.com/LightOfNight/article/details/144224738</guid><author>LightOfNight</author><pubDate>Tue, 03 Dec 2024 21:37:16 +0800</pubDate><description><![CDATA[Redis集群的重新分片操作可以将任意数量已经指派给某个节点（源节点）的槽改为指派给另一个节点（目标节点），并且相关槽所属的键值对也会从源节点被移动到目标节点。一个集群客户端通常会与集群的多个节点创建套接字连接，而所谓的节点转向实际上是换一个套接字来发送命令。跳跃表来保存槽和键之间的关系，跳跃表里每个节点的分值score都是一个槽号，而每个节点的成员member都是一个数据库键。否则，节点向客户端返回一个MOVED错误，指引客户端转向redirect至正确的节点，并再次发送之前想要执行的命令。]]></description><category></category></item><item><title><![CDATA[从零开始了解推荐系统（算法构建、召回、粗排、精排、重排、冷启动、衡量标准）]]></title><link>https://blog.youkuaiyun.com/LightOfNight/article/details/144222982</link><guid>https://blog.youkuaiyun.com/LightOfNight/article/details/144222982</guid><author>LightOfNight</author><pubDate>Tue, 03 Dec 2024 20:15:40 +0800</pubDate><description><![CDATA[实际上是一种信息处理逻辑，当获取了用户与内容的信息之后，按照一定的逻辑处理信息后，产生推荐结果。热度排行榜就是最简单的一种推荐方法，依赖的逻辑是当一个内容被大多数用户喜欢，那么大概率其他用户也喜欢。]]></description><category></category></item><item><title><![CDATA[从零开始了解推荐系统（整体框架、用户画像、内容画像）]]></title><link>https://blog.youkuaiyun.com/LightOfNight/article/details/144198449</link><guid>https://blog.youkuaiyun.com/LightOfNight/article/details/144198449</guid><author>LightOfNight</author><pubDate>Mon, 02 Dec 2024 21:03:07 +0800</pubDate><description><![CDATA[推荐系统的作用是建立更加有效率的连接，更有效率的连接用户与内容和服务，节约了大量的时间和成本。]]></description><category></category></item><item><title><![CDATA[Redis设计与实现第17章 -- 集群 总结1（节点 槽指派）]]></title><link>https://blog.youkuaiyun.com/LightOfNight/article/details/144172327</link><guid>https://blog.youkuaiyun.com/LightOfNight/article/details/144172327</guid><author>LightOfNight</author><pubDate>Sun, 01 Dec 2024 17:39:23 +0800</pubDate><description><![CDATA[介绍了Redis的集群中的节点以及槽指派相关内容]]></description><category></category></item><item><title><![CDATA[Redis设计与实现第16章 -- Sentinel 总结2（检查下线状态 选举领头Sentinel 故障转移）]]></title><link>https://blog.youkuaiyun.com/LightOfNight/article/details/144171562</link><guid>https://blog.youkuaiyun.com/LightOfNight/article/details/144171562</guid><author>LightOfNight</author><pubDate>Sun, 01 Dec 2024 16:44:46 +0800</pubDate><description><![CDATA[当Sentinel将这一主服务器判断为主观下线后，为了确认这个主服务器是否真的下线，它会向同样监视这一主服务器的其他Sentinel进行询问，看他们是否也认为主服务器已经进入了下线状态（可以是主观下线，也可以是客观下线），当一个主服务器被判断为客观下线时，监视这个下线主服务器的各个Sentinel会进行协商，选举出一个领头Sentinel，并由领头Sentinel对下线主服务器执行故障转移操作。目标Sentinel的局部领头Sentinel的配置纪元，用于选举领头Sentinel。]]></description><category></category></item><item><title><![CDATA[Redis进行性能优化可以考虑的一些策略]]></title><link>https://blog.youkuaiyun.com/LightOfNight/article/details/144154285</link><guid>https://blog.youkuaiyun.com/LightOfNight/article/details/144154285</guid><author>LightOfNight</author><pubDate>Sat, 30 Nov 2024 14:54:59 +0800</pubDate><description><![CDATA[根据实际的需求选择合适的数据结构，以高效地访问和存储多个属性。比如如果你需要存储用户的多个属性，如用户名、邮箱等，使用哈希可以比使用多个字符串键值对更节省内存较大地key和value会占用更多的内存，还可能影响性能，保持key的简短，并使用简洁的命名约定。比如简化为u:1001:p。也可以做压缩等优化对于多个命令的批量操作，使用Pipeline可以显著降低网络延迟，提升性能。比如，批量设置key可以这样写，这样一次可以发送多个命令，减少了网络往返时间，能够提升性能。]]></description><category></category></item><item><title><![CDATA[【Effective Go】高效Go编程之格式化+代码注释+命名+分号+控制结构]]></title><link>https://blog.youkuaiyun.com/LightOfNight/article/details/144153919</link><guid>https://blog.youkuaiyun.com/LightOfNight/article/details/144153919</guid><author>LightOfNight</author><pubDate>Sat, 30 Nov 2024 13:53:15 +0800</pubDate><description><![CDATA[介绍了高效Go编程之格式化+代码注释+命名+分号+控制结构]]></description><category></category></item><item><title><![CDATA[Redis和MySQL之间如何进行数据同步]]></title><link>https://blog.youkuaiyun.com/LightOfNight/article/details/144146600</link><guid>https://blog.youkuaiyun.com/LightOfNight/article/details/144146600</guid><author>LightOfNight</author><pubDate>Fri, 29 Nov 2024 21:56:43 +0800</pubDate><description><![CDATA[Redis与MySQL如何数据同步以及注意事项]]></description><category></category></item><item><title><![CDATA[Redis设计与实现第16章 -- Sentinel 总结1（初始化、主从服务器获取信息、发送信息、接收信息）]]></title><link>https://blog.youkuaiyun.com/LightOfNight/article/details/144146235</link><guid>https://blog.youkuaiyun.com/LightOfNight/article/details/144146235</guid><author>LightOfNight</author><pubDate>Fri, 29 Nov 2024 21:33:55 +0800</pubDate><description><![CDATA[介绍了Sentinel的启动和初始化，注意与普通Redis服务器对比；获取主服务器信息和从服务器信息；向主从服务器发送信息；接收来自主从服务器的频道信息]]></description><category></category></item><item><title><![CDATA[Redis设计与实现第15章 -- 复制 总结（旧版复制 新版复制 部分重同步 复制 心跳检测）]]></title><link>https://blog.youkuaiyun.com/LightOfNight/article/details/144094864</link><guid>https://blog.youkuaiyun.com/LightOfNight/article/details/144094864</guid><author>LightOfNight</author><pubDate>Wed, 27 Nov 2024 21:24:41 +0800</pubDate><description><![CDATA[Redis设计与实现第15章笔记，主要介绍了旧版复制、新版复制、重同步、PSYNC命令、复制和心跳检测机制]]></description><category></category></item><item><title><![CDATA[【设计模式】创建型模式之装饰器模式（组成、步骤、优缺点、场景）]]></title><link>https://blog.youkuaiyun.com/LightOfNight/article/details/144090594</link><guid>https://blog.youkuaiyun.com/LightOfNight/article/details/144090594</guid><author>LightOfNight</author><pubDate>Wed, 27 Nov 2024 17:51:48 +0800</pubDate><description><![CDATA[装饰器模式（Decorator Pattern）是一种结构型设计模式，它允许向一个现有的对象添加新的功能，同时又不改变其结构。这种模式创建了一个装饰类，用来包装原有的类，并在保持原类方法签名完整性的前提下，提供了额外的功能。代码模式主要是给原始类添加无关的功能，装饰器模式主要是给原始类增强功能，添加的功能都是有关联的。：装饰器和具体组件之间是松耦合的，增加新的装饰器不需要修改组件代码。：可以在不修改原有对象代码的前提下，通过添加新的装饰器来扩展功能。：持有一个组件对象的引用，并实现与组件相同的接口。]]></description><category></category></item></channel></rss>