摘要:安装kafka: Windows安装kafka, 详情见:https://blog.csdn.net/sinat_32502451/article/details/133067851 Linux 安装kafka,详情见:https://blog.csdn.net/sinat_32502451/art
阅读全文
摘要:安装kafka: Windows安装kafka, 详情见:https://blog.csdn.net/sinat_32502451/article/details/133067851 Linux 安装kafka,详情见:https://blog.csdn.net/sinat_32502451/art
阅读全文
摘要:Docker的文件,默认放在 c 盘,用多了很影响系统的速度。 解决方法: 为 Docker 路径添加软链接。 在 windows 搜索框,输入cmd ,以管理员身份运行 cmd 执行命令: "C:\Program Files\Docker" 这个地址是 docker的地址。 "F:\fast\Do
阅读全文
摘要:提高系统可用性常用的一些方法,有缓存、异步、重试、幂等、补偿、熔断、降级、限流。 缓存 缓存的速度,比数据库快很多,添加缓存是简单有效的做法。 注意缓存与数据库的一致性,数据表记录变更时记得处理缓存。 Redis缓存的示例,详情见:https://blog.csdn.net/sinat_325024
阅读全文
摘要:TCP 粘包/拆包 TCP是以流的方式来处理数据, 拆包:一个完整的数据包可能会被TCP拆分成多个包进行发送。 粘包:TCP 可能把多个小的包粘成一个大的数据包。 引入依赖包: <dependency> <groupId>io.netty</groupId> <artifactId>netty-al
阅读全文
摘要:Netty源码实践 学习netty,可以从netty源码的 netty-example 模块开始。 netty-example 有一个例子 echo,非常适合入门学习。 这里稍微改造一下,用作示例学习。 引入依赖包: <dependency> <groupId>io.netty</groupId>
阅读全文
摘要:netty架构图 ServerBootstrap 、 Bootstrap ServerBootstrap :服务器的引导类,可以绑定服务器和端口,配置 Channel、ChannelHandler等。 Bootstrap:客户端的引导类。可以开启客户端,连接服务端的端口,配置 Channel、Cha
阅读全文
摘要:应用场景: 在开发中,有时需要监听某些事件,在事件触发时,执行相应的逻辑。 也可以说是基于事件驱动的观察者模式。 比如当点击某个按钮时,触发相应的功能,或者用户下单通知等等。 SpringBoot 可以通过 ApplicationEvent 、ApplicationEventPublisher、@E
阅读全文
摘要:Netty源码编译 想了解Netty源码,最好先从 netty-example 开始,多跑几个 example,了解Netty的实际应用。 编译 netty-example 会出现很多乱七八糟的问题,根本原因是因为缺少 io.netty.util.collection 包。 解决方法 1.先 ins
阅读全文
摘要:延时队列 在开发中,有时需要使用延时队列。 比如,订单15分钟内未支付自动取消。 jdk延时队列 如果使用 jdk自带的延时队列,那么服务器挂了或者重启时,延时队列里的数据就会失效,可用性比较差。 Redisson延时队列 可以使用Redisson的延时队列。 Redisson的配置 详情见: ht
阅读全文
摘要:SpringBoot中使用@Retryable注解进行重试 有功能需要重试时,可以使用Spring的 @Retryable 注解. 参数含义: value:抛出指定异常才会重试 exclude:指定不处理的异常 maxAttempts:最大重试次数,默认3次 backoff:重试等待策略,默认使用@
阅读全文