- 博客(55)
- 收藏
- 关注
原创 netty源码分析(四)
服务端接受客端连接文章目录服务端接受客端连接1.配置EventLoopGroup2.配置Channel实现类型3.绑定地址端口4.注册ServerSocketChannel 到EventLoop1.配置EventLoopGroup2.配置Channel实现类型3.绑定地址端口4.注册ServerSocketChannel 到EventLoop...
2019-04-21 15:12:17 202
原创 netty 源码分析(三)
客户端启动源码文章目录客户端启动源码1.配置EventLoopGroup2.配置Channel实现类型3.连接服务端地址端口4.注册SocketChannel 到EventLoop1.配置EventLoopGroup2.配置Channel实现类型3.连接服务端地址端口4.注册SocketChannel 到EventLoop...
2019-04-21 15:10:42 167
原创 netty 源码分析(二)
服务端启动源码文章目录服务端启动源码1.配置EventLoopGroup2.配置Channel实现类型3.绑定地址端口4.注册ServerSocketChannel 到EventLoop1.配置EventLoopGroup2.配置Channel实现类型3.绑定地址端口4.注册ServerSocketChannel 到EventLoop...
2019-04-21 15:08:28 185
原创 netty 源码分析(一)
架构设计文章目录架构设计1.核心组件设计ChannelEventLoopGroupChannelHandlerChannelPipeLineChannelHandlerContextAbstractBootstrap1.核心组件设计Channelnetty 通道顶层接口虽然有众多实现,但下面两为较为核心实玩,后面重点分析该两实现NioSocketChannel 表示Nio客户端 S...
2019-04-20 01:40:58 259
原创 基于springcloud服务灰度发布(二)
文章目录1链路接口实现2链路接口绕过拦截2.1 创建filter 或HandlerInterceptor 代理2.2 处理是否跳过拦截1链路接口实现当所有服务接入灰jar后,想要测试一下链路效果,并不是很方便;所以在所有服务接入依赖后,预先设定链路测试接口方,以便测试整体链路效果是否达到预期/** * 路由链路测试 * * @author xie */@RestControlle...
2018-12-11 11:40:26 1141
原创 spring-mvc 异常处理(五)
1.异常发生的位置通过总结发现,异常发生的地方为三处:FilterHandlerInterceptorController2异常处从前面几编文章大概可知道处理处理是在 DispatcherServlet里,那么DispatcherServlet 是怎么处理上面几处理出理地异常的呢?2.1 Filter 异常处理2.2 HandlerInterceptor 异常处理2.3 Cont...
2018-12-05 01:32:07 117
原创 cloudgateway源码 路由过程(二)
RoutePredicateHandlerMappingHandlerMappingpublic class RoutePredicateHandlerMapping extends AbstractHandlerMapping { private final FilteringWebHandler webHandler; private final RouteLocator routeL...
2018-11-28 19:40:41 271
原创 基于springcloud服务灰度发布(一)
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2018-11-27 21:36:41 15615 4
原创 cloudgateway源码 初始化(一)
依赖配置依赖 <dependency> <groupId>org.springframework.boot</groupId> &
2018-10-25 14:54:26 225
原创 webflux 源码 初始化(一)
1.简价webflux依赖及启动 <dependencies> <dependency> <groupId>org.spri
2018-10-24 11:51:47 2349
原创 springcloud源码 ribbon(二)
ribbon 执行过程1 LoadBalancerClient在上一编分析可以知道,ribbon的实现调用是LoadBalancerClient接口,而RibbonLoadBalancerClient 是其具体的某个实现在LoadBalancerInterceptor 中我们可以看到loadbalanceClient是这样被调用的从上面截图不难看出choose方法是服务负载选择ex...
2018-10-09 01:27:18 376
原创 spring-cloud 源码 zuul 路由定位(三)
1 Zuulservlet 装入tomcat容器 zuul 路由定位过程 1 Zuulservlet 装入tomcat容器zuul 请求过程是怎么被怎么理的,上一编我们看到ZuulServerlet实例化并被封装进ServletRegistrationBean,且托管到spring容器里,那么该servlet是怎么放进tomcat里的,注意ServletReg...
2018-05-30 08:14:25 1957
原创 spring-cloud 源码 zuul 调用过程(二)
1 Zuulservlet 装入tomcat容器2 ZuulServlet源码4 ZuulFilter 执行实现 zuul 源码调用过程 1 Zuulservlet 装入tomcat容器zuul 请求过程是怎么被怎么理的,上一编我们看到ZuulServerlet实例化并被封装进ServletRegistrationBean,且托管到spring容器里,那...
2018-05-30 01:33:53 1495
原创 spring-cloud 源码 zuul 启动(一)
zuul 网关启动源码分析1 依赖配置依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId&g
2018-05-28 23:34:07 1584
原创 dubbo 源码分析 服务调用过程(三)
1 架构及核心组件2 源码分析 dubbo 远程服务调用过程1 架构及核心组件为了便于理解,分析前所看一下整个架构及相关组件说明 这里直接看官方文档就了,介绍非常清晰 整体架构说明 http://dubbo.apache.org/books/dubbo-dev-book/design.html 集群容错 http://dubbo.apache.org...
2018-04-13 00:46:06 443
原创 dubbo 源码分析 服务订阅与代理(二)
1 消费者配置初化2 服务代理生成 dubbo 消费者服务订阅1 消费者配置初化按上一编思路,从DubboNameSpaceHanlder开始public class DubboNamespaceHandler extends NamespaceHandlerSupport { static { Version.checkD...
2018-04-12 02:42:37 495
原创 dubbo 源码分析 服务注册(一)
1 简价2 使用demo3 服务注册 dubbo 服务注册1 简价dubbo 是阿里开源的一个分布服务架构,类似于spring-cloud;相对于spring-cloud dubbo主要实现rpc,服务治理;并没有spring-cloud那样有着比较完善微服务组件; 架构图 更多详细信官网:http://dubbo.apache.org/bo...
2018-04-10 23:48:30 555
原创 spring-cloud 源码 接收注册请求(三)
1 配置初始化2 处理注册过程3 同步服务注册信息4 剔除服务 eureka怎么接口服务注册请求1 配置初始化分析每个功能,通常都避免不了找初始化入口,eureka server 初始化的入口与erueka client的初始入口一样,都是有spring-factories文件中,只不过server的配置在server包中org.springfr...
2018-04-10 17:45:29 271
原创 spring-cloud 源码 服务注册(二)
1 客户端配置启动分析2 如何注册到注册中心 客户端注册(相对注册中心服务)1 客户端配置启动分析接着上一编留下来的疑问及分析到地方:服务提供者怎么注册到服务中心的? 找到eureka-client的 spring-factories配置信息org.springframework.boot.autoconfigure.EnableAutoConfi...
2018-04-10 14:24:03 350
原创 spring-cloud 源码 使用(一)
1 分布式微服务架构2 注册中心服务 的依赖和配置信息3 普通服务 的依赖配置信息4 原理分析前 疑问 spring-cloud 基本用法 1 分布式微服务架构spring-cloud 是一个分布式微服务架构,类似这样的架构还有阿里的dubbo。在分析eureka之前,先了解一下分布式微服务架构。大型系统架构中,会拆分多个子系统。简单来说,这些子系统有两个功...
2018-04-09 12:03:29 1975
原创 spring 源码 aop 代理执行过程(三)
1 aop 代理如何执行的?2 cglib代理分析3 jdk代理分析1 aop 代理如何执行的?前两编主要分析代理是怎么创建,而且整过分析过程还是比较粗线条分析,真要非常详细分析估计用两编去写远远还是不够的,因为细节的内容实际太多了。另外我身有些细节我也不太理解。我通常比较关心整体的原理,然后慢慢深入分析,如果一开始就深入太多细节,恐怕很容易被绕进去出来。...
2018-04-07 22:55:03 190
原创 spring 源码 aop 代理创建(二)
1 spring aop如何产生作用的?2 spring aop代理创建入口3 aop代理创建1 spring aop如何产生作用的?上一编解释aop 相关标签里,无论是config 或aspectj-autoproxy 都需要注册AspectJAwareAdvisorAutoProxyCreator 的 beandefinition,猜想aop产生作用应在...
2018-04-07 12:26:35 293
原创 spring 源码 aop 准备(一)
1 概念2 注解方式3 xml配置方式4 aop:aspectj-autoproxy标签解释5 aop:config标签解释1 概念切面(Aspect) :官方的抽象定义为“一个关注点的模块化,这个关注点可能会横切多个对象”。 连接点(Joinpoint) :程序执行过程中的某一行为。 通知(Advice) :“切面”对于某个“连接点”所产生的动作。...
2018-04-06 23:22:42 182
原创 spring 源码-context(二)
1 注解实例注入2 注解实例注入开启3 解释注解类beandefinitions1 注解实例注入通过注解创建注入实例,是context模块对beans 模块扩展的重要功能,之前讲到的beandefinitions 都是通过XmlBeandefinitionReader 解释xml文件得到并注册到beanfactory,然后进行实例化注入,但通过注解的形式又是如...
2018-04-06 22:50:53 170
原创 spring 源码-context(一)
1 spring-context 模块概要2 applicationcontext 初始化3 预实例化beanfactory里单例对象1 spring-context 模块概要该模块主要实现在spring-beans 模块的扩展,主要对aop支持及el表达式的实现 分析示例 public static void main(String[] ar...
2018-04-06 18:21:18 2385
原创 spring 源码-beans(二)
1 spring bean的实例化及依赖注入2 单例依赖注入详解3 注入嵌套处理4 依赖注入后处理1 spring bean的实例化及依赖注入上一编主要讲述的是xml里定义bean的加载解释并注册到beanfactory里,但并没有讲到beanfactory如何是利用beandefinition实例化对应的bean的;回到代码看我们如可得到实bean的实例...
2018-04-06 04:05:28 272
原创 spring 源码-beans(一)
1 spring-beans概要2 测试demo分析3 XmlBeandefinitionReader加载xml配置文件4 解释xml5 spring默认标签解释6 自定义标签解释1 spring-beans概要spring-beans 是sping两大核心组件之一,另一核心组件为spring-context, 两者也都依赖spring-core包,但...
2018-04-04 02:08:38 581
原创 spring-mvc目标方法执行(四)
1 获取适配器2 调用链总览3 调用详细过程3.1调用参数解释3.2返回值处理1 获取适配器handlerexecuteChain 通过策略找到匹配的adapter protected HandlerAdapter getHandlerAdapter(Object handler) throws ServletException { for...
2018-04-03 23:55:33 199
原创 spring-mvc request 处理(三)
1 首先来跟踪一下全局调用链(Dispatcherservlet)2. doDispatch 方法概览3. 请求 handler 查找过程4.拦截器的获取及前置拦截和后置拦截调用1 首先来跟踪一下全局调用链(Dispatcherservlet) 上图可以看出doDispatch方法是主要由6种请求方式调来,分析doDispatch方法前,我觉得有必要分析一...
2018-04-03 13:26:54 182
原创 spring-mvc HandlerMapping 初始化(二)
1 注解开启2 作用3 初始化前-加载到spring容器里4 初始化5 注册目标方法 到MappingRegistry1 注解开启在spring-mvc.xml里开启mvc支持 <mvc:annotation-driven/>2 作用requestmaping据request 找到handler,handler 根据自身一...
2018-04-03 09:12:48 205
原创 spring-mvc启动(一)
1 基本依懒2 servlet容器(tomcat)读取 web.xml 配置并初始化3 创建spring root webapplicatoncontext4 DispatcherServlet 初始化5 请求策略初始化1 基本依懒<dependencies> <dependency> <groupId>...
2018-04-03 00:37:06 162
原创 spring-boot内置tomcat启动(四)
1.上两编曲讲启动过程,好像并没有涉及到内置tomcat的启动,tomcat是怎么启动的呢?回去看看容器最先初始化的动作 private void initialize(Object[] sources) { if (sources != null && sources.length > 0) { this.sou...
2018-04-03 00:24:09 1303
原创 spring-boot 配置生效条件处理(三)
1 查找配置是否生效处理代码2 处理是否有效配置3 @conditional 处理1 查找配置是否生效处理代码上一编可以看到EnableAutoConfiguration 加载的配置类就有92个,但是这个配置类都有效吗,显然是不一定的,因为很多相关的依懒都没有加引进来,又怎么生效呢?哪问题来了,spring-boot 是如何去处理的呢,带着这些疑问又该怎么入手...
2018-04-03 00:12:31 841
原创 spring-boot 源码 注解自动配置的装载过程(二)
1 EnableAutoConfiguration 注解2 更详细的调用链路分析3 配置类ConfigurationClassPostProcessor调用处理过程4 spring-factories 自动配置的类5 配置类具体导入1 EnableAutoConfiguration 注解在分析整个过程前,首先要确定怎么找到整个加载个程的入口,很明显应从E...
2018-04-02 22:43:52 498
原创 spring-boot 详细源码分析 启动(一)
1.1基本依懒1.2简单启动代码1.3 加载初始化器及application监听器1.4 SpringApplication.run 启动1.5创建application context1.6 context 刷新前准备1.1基本依懒&amp;amp;lt;parent&amp;amp;gt; &amp;amp;lt;groupId&amp;amp;gt;org.springframew
2018-04-02 22:33:51 218
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人