摘要: 前情提要 假设你已经知道Dubbo SPI的使用方式,不知道的请出门左转: Dubbo源码(一) - SPI使用 Dubbo源码地址: apache/dubbo 本文使用版本:2.6.x 测试Demo 新建SPI测试接口以及实现类 package com.javaedit.spi; import c 阅读全文
posted @ 2022-07-20 17:27 王谷雨 阅读(108) 评论(0) 推荐(3) 编辑
摘要: 为什么学SPI Dubbo 的可扩展性是基于 SPI 去实现的,而且Dubbo所有的组件都是通过 SPI 机制加载。 什么是SPI SPI 全称为 (Service Provider Interface) ,是一种服务提供发现机制。可以将服务接口与服务实现分离以达到解耦可拔插、大大提升了程序可扩展性 阅读全文
posted @ 2022-07-19 16:32 王谷雨 阅读(245) 评论(0) 推荐(1) 编辑
摘要: 前置条件 先了解Sharding-jdbc、Seata、Nacos这三样东西各自的作用以及单独使用时的配置。 整合代码已放在github,详细步骤章节请搭配此项目看,欢迎start 思路 如果已经做过Seata + Nacos的整合的,直接看最后的Seata结合Sharding-jdbc章节 详细步 阅读全文
posted @ 2022-07-08 13:40 王谷雨 阅读(1544) 评论(4) 推荐(0) 编辑
摘要: 简介 sharding-jdbc案例,版本5.1.2 springboot + mybatis-plus + sharding-jdbc 项目地址:sharding-jdbc-example 模块说明 read-write 简单的读写分离 db-sharding 简单的不同表在不同库配置 tb_or 阅读全文
posted @ 2022-07-07 11:34 王谷雨 阅读(251) 评论(0) 推荐(0) 编辑
摘要: Seata是什么 这里引用官方解释 Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。 环境搭建 Nacos + Seata Nacos 使用Nacos作为 阅读全文
posted @ 2022-07-04 18:03 王谷雨 阅读(474) 评论(0) 推荐(0) 编辑
摘要: 前言 动机 最近在学习Netty框架,发现Netty是支持Http协议的。加上以前看过Spring-MVC的源码,就想着二者能不能结合一下,整一个简易的web框架(PS:其实不是整,是抄) 效果 项目地址:terabithia 0.3版本使用效果如下,其实就是Spring-MVC的Controlle 阅读全文
posted @ 2022-06-21 15:00 王谷雨 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 读写Channel(READ)的创建和注册 在NioEventLoop#run中提到,当有IO事件时,会调用processSelectedKeys方法来处理。 当客户端连接服务端,会触发服务端的ACCEPT事件,创建负责READ事件的channel并注册到workerGroup中 跟踪process 阅读全文
posted @ 2022-06-16 11:34 王谷雨 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 先看看EventLoop类图 我们在Netty第二篇文章中的代码中,看到有多次用到eventLoop.execute()方法,这个方法就是EventLoop开启线程执行任务的关键,跟踪进去看看 // 类SingleThreadEventExecutor SingleThreadEventExecut 阅读全文
posted @ 2022-06-16 11:29 王谷雨 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 简单Echo案例 注释版代码地址:netty 代码是netty的源码,我添加了自己理解的中文注释。 了解了Netty的线程模型和组件之后,我们先看看如何写一个简单的Echo案例,后续的源码讲解都基于此案例。以下是服务端的代码: public final class MyEchoServer { st 阅读全文
posted @ 2022-06-16 11:17 王谷雨 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 前置条件 源码版本netty4.1 了解Java NIO、Reactor模型和Netty的基本使用。 解释一下: Java NIO:了解BIO和NIO的区别以及Java NIO基础API的使用 Reactor模型:Netty是基于Netty模型对Java NIO封装的框架 Netty的基本使用:先学 阅读全文
posted @ 2022-06-16 10:51 王谷雨 阅读(78) 评论(0) 推荐(0) 编辑