<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[阿丸笔记]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/u014730658</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u014730658]]></copyright><item><title><![CDATA[3分钟白话RocketMQ系列—— 核心概念]]></title><link>https://blog.youkuaiyun.com/u014730658/article/details/132055038</link><guid>https://blog.youkuaiyun.com/u014730658/article/details/132055038</guid><author>u014730658</author><pubDate>Wed, 02 Aug 2023 09:32:52 +0800</pubDate><description><![CDATA[白话3分钟，快速了解RocketMQ基础，包括适用场景，以及基本概念。
看完如果不了解，欢迎来打我。]]></description><category></category></item><item><title><![CDATA[线上kafka消息堆积，consumer掉线，怎么办？]]></title><link>https://blog.youkuaiyun.com/u014730658/article/details/127845976</link><guid>https://blog.youkuaiyun.com/u014730658/article/details/127845976</guid><author>u014730658</author><pubDate>Mon, 14 Nov 2022 13:48:51 +0800</pubDate><description><![CDATA[最近处理了一次线上故障，具体故障表现就是kafka某个topic消息堆积，这个topic的相关consumer全部掉线。
整体排查过程和事后的复盘都很有意思，并且结合本次故障，对kafka使用的最佳实践有了更深刻的理解。
好了，一起来回顾下这次线上故障吧，最佳实践总结放在最后，千万不要错过。]]></description><category></category></item><item><title><![CDATA[SpringCloud与云原生]]></title><link>https://blog.youkuaiyun.com/u014730658/article/details/127845789</link><guid>https://blog.youkuaiyun.com/u014730658/article/details/127845789</guid><author>u014730658</author><pubDate>Mon, 14 Nov 2022 13:39:54 +0800</pubDate><description><![CDATA[很多公司在设计自己的RPC框架时，都会基于Spring Cloud做二次开发。并且会大量使用Spring Cloud Netflix相关的模块与代码。因此，我们去梳理一下Spring Cloud的前世今生，以及未来云原生发展的趋势，可以给这些RPC框架的演进带来一些启发。]]></description><category></category></item><item><title><![CDATA[浅析任务队列、消息队列、任务调度系统]]></title><link>https://blog.youkuaiyun.com/u014730658/article/details/127845717</link><guid>https://blog.youkuaiyun.com/u014730658/article/details/127845717</guid><author>u014730658</author><pubDate>Mon, 14 Nov 2022 13:33:31 +0800</pubDate><description><![CDATA[本文通过多个维度来进行拆解，试着分析 任务队列、消息队列、任务调度系统 这三类中间件 究竟有哪些不同，究竟谁更适合什么场景。]]></description><category></category></item><item><title><![CDATA[除了「加机器」，其实你的微服务还能这样优化]]></title><link>https://blog.youkuaiyun.com/u014730658/article/details/127611613</link><guid>https://blog.youkuaiyun.com/u014730658/article/details/127611613</guid><author>u014730658</author><pubDate>Mon, 31 Oct 2022 11:05:47 +0800</pubDate><description><![CDATA[本文从「AKF扩展立方」说起，介绍了提高服务负载能力的几种服务治理方式。
除了X轴扩展（加机器）外，还可以通过Y轴扩展（功能/业务拆分）、Z轴扩展（数据分区）等方式，更优雅、更精细地进行优化。]]></description><category></category></item><item><title><![CDATA[架构师进阶，微服务设计与治理的16条常用原则]]></title><link>https://blog.youkuaiyun.com/u014730658/article/details/125802666</link><guid>https://blog.youkuaiyun.com/u014730658/article/details/125802666</guid><author>u014730658</author><pubDate>Fri, 15 Jul 2022 13:40:04 +0800</pubDate><description><![CDATA[架构师在进行微服务设计和微服务治理时，可以围绕微服务生命周期的七个阶段展开。

本文总结了16条常用原则，希望能提供一些思路和启发。]]></description><category></category></item><item><title><![CDATA[架构师之路，从「存储选型」起步]]></title><link>https://blog.youkuaiyun.com/u014730658/article/details/125407558</link><guid>https://blog.youkuaiyun.com/u014730658/article/details/125407558</guid><author>u014730658</author><pubDate>Wed, 22 Jun 2022 13:37:43 +0800</pubDate><description><![CDATA[在业务开发过程中，除了常用的MySQL，一定要多关注市面上更合适的存储方案，这是架构师的基本功。
通过了解更多存储组件的基本特性和使用场景，因地制宜选择合适存储，提高业务开发效率，降低使用成本。
希望本文能够抛砖引玉，提供一些启发和思考。...]]></description><category></category></item><item><title><![CDATA[爷青回，canal 1.1.6来了，几个重要特性和bug修复]]></title><link>https://blog.youkuaiyun.com/u014730658/article/details/124998322</link><guid>https://blog.youkuaiyun.com/u014730658/article/details/124998322</guid><author>u014730658</author><pubDate>Fri, 27 May 2022 10:03:02 +0800</pubDate><description><![CDATA[刚刚在群里看到消息说，时隔一年，canal 1.1.6正式release了，赶紧上去看看有什么新特性。]]></description><category></category></item><item><title><![CDATA[Java SPI 和 API，傻傻分不清？]]></title><link>https://blog.youkuaiyun.com/u014730658/article/details/124998269</link><guid>https://blog.youkuaiyun.com/u014730658/article/details/124998269</guid><author>u014730658</author><pubDate>Fri, 27 May 2022 10:00:17 +0800</pubDate><description><![CDATA[最近新写了一个中间件「运行时动态日志等级开关」，其中使用Java SPI机制实现了自定义配置中心，保证良好的扩展性。


项目地址，走过路过可以点个star ：）
https://github.com/saigu/LogLevelSwitch


在使用过程中，突然发现SPI其实和日常写API接口，然后进行implements实现非常相似，那SPI到底和普通API实现有啥区别呢？





带着这个问题，我们一起来梳理下SPI机制吧。

本文预计阅读时间10分钟，将围绕以下几点展开：

什么是 SPI 机制]]></description><category></category></item><item><title><![CDATA[写了个开源小中间件——运行时动态日志等级开关]]></title><link>https://blog.youkuaiyun.com/u014730658/article/details/124243204</link><guid>https://blog.youkuaiyun.com/u014730658/article/details/124243204</guid><author>u014730658</author><pubDate>Mon, 18 Apr 2022 10:20:06 +0800</pubDate><description><![CDATA[a middleware project for log level change during application runtime]]></description><category></category></item><item><title><![CDATA[硬吃一个P0故障，「在线业务」应该如何调优HBase参数？]]></title><link>https://blog.youkuaiyun.com/u014730658/article/details/123633701</link><guid>https://blog.youkuaiyun.com/u014730658/article/details/123633701</guid><author>u014730658</author><pubDate>Mon, 21 Mar 2022 13:49:01 +0800</pubDate><description><![CDATA[本文从HBase「基础架构」出发，梳理各个组件、读写流程的参数调优，期望能满足「在线业务」的 高可用、低抖动 的需求。]]></description><category></category></item><item><title><![CDATA[记一次异步处理导致Jetty Request对象泄漏]]></title><link>https://blog.youkuaiyun.com/u014730658/article/details/122422636</link><guid>https://blog.youkuaiyun.com/u014730658/article/details/122422636</guid><author>u014730658</author><pubDate>Tue, 11 Jan 2022 00:46:31 +0800</pubDate><description><![CDATA[最近排查一个bug，发现了一系列有意思的东西，对「自定义线程池」、「Jetty线程模型」都有了一些新的认识。]]></description><category></category></item><item><title><![CDATA[到底谁才需要Service Mesh?]]></title><link>https://blog.youkuaiyun.com/u014730658/article/details/121222316</link><guid>https://blog.youkuaiyun.com/u014730658/article/details/121222316</guid><author>u014730658</author><pubDate>Tue, 09 Nov 2021 10:16:31 +0800</pubDate><description><![CDATA[本文是Service Mesh系列第1篇


随着云原生时代的来临，使用微服务架构的朋友们开始听到一个新的技术名词——Service Mesh（现在来说已经不算新了）。

对于一项新技术的学习，总归绕不过两个问题：

它是什么？
	为什么需要它？
本文将围绕这两个问题进行展开，期望对Service Mesh有一个综述性的了解。

最后，引发一个核心的思考：

到底谁才需要Service Mesh?
1. 什么是Service Mesh

Service Mesh在国内被翻译「服务网格」。

目前比较公认..]]></description><category></category></item><item><title><![CDATA[Netty常用招式——ChannelHandler与编解码]]></title><link>https://blog.youkuaiyun.com/u014730658/article/details/120660832</link><guid>https://blog.youkuaiyun.com/u014730658/article/details/120660832</guid><author>u014730658</author><pubDate>Fri, 08 Oct 2021 21:56:46 +0800</pubDate><description><![CDATA[本文是Netty系列第8篇


上一篇文章我们深入学习了Netty逻辑架构中的核心组件ChannelHandler和ChannelPipeline，并介绍了它在日常开发使用中的最佳实践。文中也提到了，ChannelHandler主要用于数据输入、输出过程中的加工处理，比如编解码、异常处理等。

今天，我们就选取日常开发中最常用的一种ChannelHandler用途来学习——编解码器。

如果说ChannelHandler的学习是Netty的基础招式，那么编解码就是“基础招式”中衍生出的“常用招式“，我们往.]]></description><category></category></item><item><title><![CDATA[Netty基础招式——ChannelHandler的最佳实践]]></title><link>https://blog.youkuaiyun.com/u014730658/article/details/119536738</link><guid>https://blog.youkuaiyun.com/u014730658/article/details/119536738</guid><author>u014730658</author><pubDate>Mon, 09 Aug 2021 14:11:18 +0800</pubDate><description><![CDATA[本文是Netty系列第7篇


上一篇文章我们深入学习了Netty逻辑架构中的核心组件EventLoop和EventLoopGroup，掌握了Netty的线程模型，并且介绍了Netty4线程模型中的无锁串行化设计。

今天，我们继续学习Netty逻辑架构中的另一个核心组件ChannelHandler和ChannelPipeline。

如果说线程模型是Netty的“核心内功”，那么ChannelHandler就是Netty最著名的“武功招式”，是我们日常使用Netty时接触最多的组件。





引用...]]></description><category></category></item><item><title><![CDATA[深入Netty逻辑架构，从Reactor线程模型开始]]></title><link>https://blog.youkuaiyun.com/u014730658/article/details/117990501</link><guid>https://blog.youkuaiyun.com/u014730658/article/details/117990501</guid><author>u014730658</author><pubDate>Thu, 17 Jun 2021 13:19:06 +0800</pubDate><description><![CDATA[本文是Netty系列第6篇

上一篇文章我们从一个Netty的使用Demo，了解了用Netty构建一个Server服务端应用的基本方式。
并且从这个Demo出发，简述了Netty的逻辑架构，并对Channel、ChannelHandler、ChannelPipeline、EventLoop、EventLoopGroup等概念有了初步的认识。
回顾一下逻辑架构图。

今天主要是深入学习下逻辑架构中的EventLoop 和 EventLoopGroup，掌握Netty的线程模型，这是Netty最精髓的知识点之.]]></description><category></category></item><item><title><![CDATA[从一个Demo开始，揭开Netty的神秘面纱]]></title><link>https://blog.youkuaiyun.com/u014730658/article/details/115863455</link><guid>https://blog.youkuaiyun.com/u014730658/article/details/115863455</guid><author>u014730658</author><pubDate>Mon, 19 Apr 2021 14:11:29 +0800</pubDate><description><![CDATA[本文是Netty系列第5篇

上一篇文章我们对于I/O多路复用、Java NIO包 和 Netty 的关系有了全面的认识。
到目前为止，我们已经从I/O模型出发，逐步接触到了Netty框架。这个过程中，基本解答了Netty是什么、为什么使用Netty等前置问题。给我们学习Netty提供了最原始的背景知识。
有了这些做基础，下面我们可以开始慢慢去揭开Netty的神秘面纱了。
本文预计阅读时间约 5分钟，将重点围绕以下几个问题展开：

如何用Netty编写一个Server端服务Demo
从Demo看Netty.]]></description><category></category></item><item><title><![CDATA[从I/O多路复用到Netty，还要跨过Java NIO包]]></title><link>https://blog.youkuaiyun.com/u014730658/article/details/115117335</link><guid>https://blog.youkuaiyun.com/u014730658/article/details/115117335</guid><author>u014730658</author><pubDate>Tue, 23 Mar 2021 12:47:27 +0800</pubDate><description><![CDATA[本文是Netty系列第4篇

上一篇文章我们深入了解了I/O多路复用的三种实现形式，select/poll/epoll。
那Netty是使用哪种实现的I/O多路复用呢？这个问题，得从Java NIO包说起。
Netty实际上也是一个封装好的框架，它的网络I/O本质上还是使用了Java的NIO包(New IO，不是网络I/O模型的NIO，Nonblocking IO)包。所以，从网络I/O模型到Netty，我们还需要了解下Java NIO包。
本文预计阅读时间 5 分钟，将重点回答以下几个问题：

如何用J.]]></description><category></category></item><item><title><![CDATA[从网络I/O模型到Netty，先深入了解下I/O多路复用]]></title><link>https://blog.youkuaiyun.com/u014730658/article/details/113766541</link><guid>https://blog.youkuaiyun.com/u014730658/article/details/113766541</guid><author>u014730658</author><pubDate>Tue, 09 Feb 2021 09:51:56 +0800</pubDate><description><![CDATA[Context1.I/O多路复用模式的实现2. select3. poll4. epoll4.1 epoll的三个核心函数4.2 epoll的实现原理4.3 epoll中有使用共享内存吗？5.三种实现对比

本文是Netty系列第3篇

上一篇文章我们了解了Unix标准的5种网络I/O模型，知道了它们的核心区别与各自的优缺点。尤其是I/O多路复用模型，在高并发场景下，有着非常好的优势。而Netty也采用了I/O多路复用模型。
那Netty是如何实现I/O多路复用的呢？
Netty实际上也是一个封装好的框架，]]></description><category></category></item><item><title><![CDATA[没搞清楚网络I/O模型？那怎么入门Netty]]></title><link>https://blog.youkuaiyun.com/u014730658/article/details/112763399</link><guid>https://blog.youkuaiyun.com/u014730658/article/details/112763399</guid><author>u014730658</author><pubDate>Mon, 18 Jan 2021 10:25:20 +0800</pubDate><description><![CDATA[本文是Netty系列笔记第二篇

Netty是网络应用框架，所以从最本质的角度来看，是对网络I/O模型的封装使用。
因此，要深刻理解Netty的高性能，也必须从网络I/O模型说起。
看完本文，可以回答这三个问题：

五种I/O模型是什么？核心区别在哪里？
同步=阻塞？异步=非阻塞？
Netty的高性能，是采用了哪种I/O模型？

1.掌握五种I/O模型的关键钥匙
Unix系统下的五种基本I/O模型大家应该都有所耳闻，分为：

blocking I/O（同步阻塞IO,BIO）
nonblocking I/O.]]></description><category></category></item></channel></rss>