![](https://img-blog.csdnimg.cn/20201104154917293.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
框架
spring、springmvc、springboot、srpingcloud、mybatis、dubbo等
编程者说
这个作者很懒,什么都没留下…
展开
-
SpingMVC 的工作流程及原理解析,面试必备
用了这么久的SpingMVC,她的工作流程还是要搞清楚。一、springmvc流程先上一张手绘流程图吧,1、客户端发起请求到前端控制器(DispatcherServlet);2、前端控制器请求处理器映射器(HandlerMappering)通过xml配置或者注解查找到处理器(Handler);3、找到以后处理器映射器(HandlerMappering)向前端控制器返回...原创 2019-11-22 21:36:12 · 304 阅读 · 0 评论 -
一文搞定 Spring,从小白到大牛
Spring 框架是当前 Java Web开发框架的基石,几乎每个人都会用到。一、Spring框架的模块组成Spring是一个轻量级的IoC和AOP容器框架。是为Java应用程序提供基础性服务的一套框架,目的是用于简化企业应用程序的开发,它使得开发者只需要关心业务需求。看结构图,这些组件被分别整合在核心容器(Core Container)、AOP(Aspect Oriented P...原创 2020-02-04 21:58:14 · 1289 阅读 · 1 评论 -
一文搞定 SpringMVC,工作流程和常见问题集锦
SpringMVC是常用框架 SSM 中的重要一环,主要用于前端展示,从名字就可以看出,她遵循最经典的Model,View 和Controller。一、SpringMVC 的核心组件1、DispatcherServlet(前端控制器)(最重要)用于请求的接收和处理,响应结果,相当于转发器、中央处理器。DispatcherServlet是整个流程控制的中心,由它调用其它组件处理用户的...原创 2020-02-02 21:14:41 · 1043 阅读 · 0 评论 -
一文搞定 MyBatis,经典问题集锦
1、啥是 MyBatis?MyBatis 是一个半自动 ORM 持久层框架,她内部对 JDBC 做了封装,并使用 XML 或注解来配置和映射数据库信息,开发人员只需要关注 SQL 语句本身,避免了处理繁琐的数据库映射过程,使 Java 代码和 SQL 完全分离,有利于分层开发,提高开发效率和灵活性。2、MyBatis 的优缺点和适用场景?1)优点基于SQL语句编程,非常灵活,不会对...原创 2020-01-21 15:45:45 · 3438 阅读 · 0 评论 -
SpringCloud常用的注册中心,Eureka、Zookeeper、Nacos
分布式理论基础 CAP理论指出,一个分布式系统不可能同时满足C(一致性)、A(可用性)和P(分区容错性)。由于分区容错性在是分布式系统中必须要保证的,因此我们只能在A和C之间进行权衡。一、常用的注册中心对比Zookeeper、Eureka、Consul、Etcd、Nacos,其中Zookeeper、Consul、Etcd 保证CP;Eureka保证AP;Nacos对CP、AP都支持。和Sp...原创 2020-01-16 09:21:23 · 2748 阅读 · 0 评论 -
SpringCloud全家桶(四):搞定微服务网关 Spring Cloud Gateway
Spring Cloud Gateway 是 springcloud 全新推出的第二代微服务网关,基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等技术,用来替代Zuul。Gateway不仅提供了统一的路由方式,并且基于 Filter 链的方式提供了网关基本的功能,如转发、限流、熔断监控和权限校验等。Spring Cloud Gateway 的...原创 2020-01-16 08:38:07 · 6816 阅读 · 0 评论 -
SpringCloud全家桶(三):搞定 Hystrix
Hystrix 是springcloud生态的断路器(隔离、限流、降级),主要是用来预防服务雪崩现象,剔除掉分布式系统中某些挂掉或请求过慢的服务节点。Hystrix是一个帮助解决分布式系统中超时处理和容错的类库, 拥有保护系统的能力。Hystrix的设计原则,防止任何单个依赖项耗尽所有容器(如Tomcat)用户线程。 甩掉包袱,快速失败而不是排队。 在任何可行的地方提供回退,以保...原创 2020-01-15 16:45:11 · 1007 阅读 · 0 评论 -
SpringCloud全家桶(二):搞定 Robbin 和 Fegin
Robbin 提供的客户端软负载均衡,是SpringCloud微服务的重要特征之一,同时,Fegin 提供了Robbin软负载的声明式调用。一、RobbinRobbin是springcloud的LB调用组件,提供客户端的软件负载均衡。Ribbon客户端组件提供一系列完善的配置项,如连接超时,重试等。使用@LoadBalanced 注解和 RestTemplate注入。1、Rob...原创 2020-01-15 14:56:10 · 3015 阅读 · 0 评论 -
SpringCloud全家桶(一):搞定 Eureka
Eureka是SpringCloud官方推荐的服务注册发现组件。Eureka的角色和Dubbo中Zookeeper的角色类似,体系划分如下,业务上可以分为:服务注册中心、服务提供者、服务消费者。 代码逻辑上分为:Eureka Server 和 Eureka Client。一、Eureka 的核心概念Eureka 分Eureka Server 和 Eureka Client。1...原创 2020-01-15 11:16:39 · 709 阅读 · 0 评论 -
一文读懂SpringCloud全家桶
一、云原生应用SpringCloud是对Springboot使用的分布式解决方案,适合分布式、中大型的项目架构开发,现在也逐渐成为Java服务端的主流框架。使用Spring Cloud开发的应用程序非常适合在Docker和PaaS(比如Pivotal Cloud Foundry)上部署,所以又叫做云原生应用(Cloud Native Application)。云原生可以简单地理解为面向云环境的...原创 2020-01-14 16:17:08 · 7406 阅读 · 2 评论 -
史上最全 40 道 Dubbo 面试题及答案,看完碾压面试官
想往高处走,怎么能不懂 Dubbo?Dubbo是国内最出名的分布式服务框架,也是 Java 程序员必备的必会的框架之一。Dubbo 更是中高级面试过程中经常会问的技术,无论你是否用过,你都必须熟悉。1、Dubbo是什么?Dubbo是阿里巴巴开源的基于 Java 的高性能 RPC 分布式服务框架,现已成为 Apache 基金会孵化项目。面试官问你如果这个都不清楚,那下面的就没必要问了...转载 2020-01-06 14:52:40 · 432 阅读 · 0 评论 -
搞定 Dubbo 系列(一):常见经典问题
Dubbo是⼀个支持远程调用的分布式服务框架,提供⾼性能和透明化的RPC远程服务调⽤⽅案,以及SOA服务治理方案。常见的重点问题,透明远程调用 就像调用本地方法一样调用远程方法;只需简单配置,没有任何API侵入; 负载均衡机制 客户端(client)loadbalance; 容错重试机制 服务Mock数据,重试次数、超时机制等; 自动注册发现 注册中心基于接口名查...原创 2020-01-06 14:49:18 · 927 阅读 · 0 评论 -
搞定 Dubbo 系列(五):Dubbo的序列化协议
Dubbo是RPC服务端端框架的杰出代表,由于走TCP天生比HTTP快的原因,在springboot盛行的restful(http)情况下,dubbo依旧火热。今天来总结下dubbo常见的几种序列化协议。一、dubbo协议(默认)dubbo协议是默认推荐的协议。使用单一长连接,NIO 异步通信,基于 hessian 作为序列化协议。适用于:传输数据量小,并发量高的场景(一般消费者服务远多于...原创 2020-01-06 13:00:51 · 4331 阅读 · 0 评论 -
Dubbo架构以及调用过程
一、Dubbo结构图duubo结构图我们解释以下这个架构图:Consumer服务消费者,Provider服务提供者。Container服务容器。消费当然是invoke提供者了,invoke这条实线按照图上的说明当然同步的意思了。但是在实际调用过程中,Provider的位置对于Consumer来说是透明的,上一次调用服务的位置(IP地址)和下一次调用服务的位置,是不确定的。这个地...转载 2019-12-31 16:05:24 · 361 阅读 · 0 评论 -
Dubbo服务调用过程,流程图解析
今天整理资料的时候,发现一张dubbo的调用流程图(出自哪位大神),感觉蛮有价值的,特此记录下。看上图,能看到几个关键的节点:ReferenceBean,invoker代理,cluster,loadBalance,invoke方法。 处理注解,ServiceAnnotationBeanPostProcessor和ReferenceAnnotationBeanPostProcessor...原创 2019-12-31 14:49:22 · 1607 阅读 · 0 评论 -
搞定 Dubbo 系列(二):SPI 机制探讨
一、啥是 Dubbo SPISPI(Service Provider Interface),是一种服务发现机制。Dubbo SPI 源于 JDK SPI,并做了增强处理。简单理解:定义一个接口,并不用关心具体实现。其他人按照这个接口去实现内容。当需要接入别人的实现时,需要一种机制来保证他的内容被正确的加载运行,这就是 SPI。同时,可以在运行时,动态为接口替换实现类,增强了扩展性。二...原创 2019-12-31 11:12:13 · 469 阅读 · 0 评论 -
搞定 Dubbo 系列(六):完整的服务调用过程
一、先看看架构官网给出了清晰的调用架构,1、节点角色Provider: 暴露服务的服务提供方。 Consumer: 调用远程服务的服务消费方。 Registry: 服务注册与发现的注册中心。 Monitor: 统计服务的调用次调和调用时间的监控中心。 Container: 服务运行容器。2、调用流程0. 服务容器负责启动,加载,运行服务提供者。 1. 服务提供者在启...原创 2019-12-31 15:54:10 · 1426 阅读 · 1 评论 -
精简,Dubbo之负载均衡策略、集群容错策略、动态代理策略
一、负载均衡策略1、Random LoadBalance,随机(默认的负载均衡策略)RandomLoadBalance 是加权随机算法的具体实现,可以完全随机,也可以按权重设置随机概率。2、RoundRobin LoadBalance,轮循可以轮询和加权轮询。存在响应慢的提供者会累积请求的问题,比如:第二台机器很慢,但没挂,当请求调到第二台时就卡在那,久而久之,所有请求都卡在调到第...原创 2019-12-30 16:57:54 · 352 阅读 · 0 评论 -
搞定 Dubbo 系列(四):集群的容错机制
一、集群容错(重试机制)Dubbo的容错机制,又叫重试机制。在集群调用失败时,Dubbo 提供了多种容错方案,缺省为 Failover 重试。说明:Invoker 是 Provider 的一个可调用 Service 的抽象,Invoker 封装了 Provider 地址及 Service 接口信息。 Directory 代表多个 Invoker,可以把它看成 List,但与 L...原创 2019-12-30 15:47:39 · 654 阅读 · 0 评论 -
搞定 Dubbo 系列(三):负载均衡策略和源码解析
loadBalance是现在服务端框架的标配,dubbo作为在互联网端流行这么多年的rpc框架,自然也少不了。现在的服务端一般都是集群部署,dubbo 需要对服务消费者的调用请求进行分配,避免少数服务提供者负载过大。一、四种负载均衡策略dubbo 提供了四种负载均衡策略,分别是, Random LoadBalance 随机(默认负载均衡策略),可以完全随机,也可以按权重设置随机概率。...原创 2019-12-30 14:42:25 · 420 阅读 · 0 评论