随笔分类 -  Dubbo

Alibaba Dubbo
摘要:Netty是一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端,它极大的简化了TCP和UDP套接字服务器等网络编程。 BIO(Blocking IO):每一个请求,一个Socket,一个线程,任务没完成之前线程都不会被释放,服务器不能处理大量请求。 NIO(Non-Bl 阅读全文
posted @ 2019-02-12 13:13 SpringCore 阅读(688) 评论(0) 推荐(0) 编辑
摘要:RPC同步调用流程:(异步另说) 1)服务消费方(Client)以本地的调用方式调用远程服务。 2)客户端代理(Client Stub)接收到调用后负责将方法、参数等组装成能够进行网络传输的消息体。 3)客户端代理(Client Stub)找到服务地址,将消息发送到服务端。 4)服务端代理(Serv 阅读全文
posted @ 2019-02-11 21:07 SpringCore 阅读(183) 评论(0) 推荐(0) 编辑
摘要:简介:Hystrix旨在通过控制那些访问远程系统、服务和第三方库的节点从而对延迟和故障提供更强大的容错能力,Hystrix具备拥有回退机制和断路器功能的线程和信号隔离、请求缓存和请求打包以及监控和配置等功能。 1)、在pom文件中导入依赖(服务提供者和服务消费者都需要导入) 2)、在主程序启动类上添 阅读全文
posted @ 2019-02-11 19:47 SpringCore 阅读(2210) 评论(0) 推荐(0) 编辑
摘要:当一个服务调用另一个远程服务出现错误时的外观 Dubbo提供了多种容错方案,默认值为failover(重试) 1)、Failover Cluster(默认) 失败自动切换,当出现失败,重试其他服务器,通常用于读操作,但重试会带来更长延迟,可以通过属性retries来设置重试次数(不含第一次) 2)、 阅读全文
posted @ 2019-02-11 19:28 SpringCore 阅读(552) 评论(0) 推荐(0) 编辑
摘要:当服务器压力剧增的情况下,根据实际业务情况及流量,对一些服务和页面有策略的不处理或简单处理,从而释放服务器资源以保证核心业务正常运作或高效运作。 可以通过服务降级功能临时屏蔽某个出错的非关键服务并定义降级后的返回策略。 Dubbo支持两种服务降级策略 1)、mock=force:return+nul 阅读全文
posted @ 2019-02-11 19:04 SpringCore 阅读(1058) 评论(0) 推荐(0) 编辑
摘要:在集群负载均衡时,Dubbo提供了4种均衡策略,默认为Random(随机调用) 负载均衡策略: 1)、Random LoadBalance(随机,按照权重的设置随机概率) 2)、RoundRobin LoadBalance(轮询,按照权重设置轮询比率) 3)、LeastActive LoadBala 阅读全文
posted @ 2019-02-10 21:42 SpringCore 阅读(2027) 评论(0) 推荐(0) 编辑
摘要:高可用:通过设计减少系统不能提供服务的时间 (1)、zookeeper宕机 原因:zookeeper宕机 现象:zookeeper注册中心宕机,还可以消费dubbo暴露的服务。 健壮性: 监控中心宕掉不影响使用,只是丢失部分采样数据。 数据库宕掉后,注册中心仍能通过缓存提供服务列表查询,但不能注册新 阅读全文
posted @ 2019-02-10 21:18 SpringCore 阅读(364) 评论(0) 推荐(0) 编辑
摘要:*必须首先导入dubbo-starter (1)、使用SpringBoot配置文件(application.properties或application.yml) (2)、使用dubbo.xml配置文件的方式 1)、编写xml配置文件(以服务提供者配置文件为例) 2)、在SpringBoot主程序启 阅读全文
posted @ 2019-02-10 21:05 SpringCore 阅读(19688) 评论(0) 推荐(0) 编辑
摘要:在远程调用服务提供者的实现之前,如果需要做一些参数验证、缓存、判断、小功能等等,满足要求再调用服务提供者的远程服务,则我们可以通过编写一个本地存根来实现这种功能。 (1)、在公共项目中或服务消费者项目中编写一个远程接口的本地存根实现。 (2)、在服务消费者配置文件中配置本地存根 阅读全文
posted @ 2019-02-10 18:57 SpringCore 阅读(2129) 评论(0) 推荐(0) 编辑
摘要:当服务提供者提供的服务接口出现不兼容升级时,可以设置版本号,使用多个版本号(version)进行过渡。 1)、服务提供者配置文件 2)、服务消费者配置文件 阅读全文
posted @ 2019-02-10 13:00 SpringCore 阅读(3517) 评论(0) 推荐(0) 编辑
摘要:服务超时后重试次数【retries】,不包含第一次调用,0代表不重试 *我们应该在幂等方法上设置重试次数【查询、删除、修改】,在非幂等方法上禁止设置重试次数。 ★幂等:指多次运行方法所产生的最终效果是一致的 阅读全文
posted @ 2019-02-10 12:40 SpringCore 阅读(4425) 评论(0) 推荐(0) 编辑
摘要:服务消费者引用服务提供者的服务时可能由于网络原因导致长时间未返回相应,此时大量的线程将会阻塞,引起性能下降等问题。可以通过引入服务超时来解决该问题 服务超时指服务在给定的时间内未返回相应将立即终止该请求,一般配合retries(重试次数)使用。单位毫秒,默认值1000 示例:服务消费者 配置优先级( 阅读全文
posted @ 2019-02-10 12:35 SpringCore 阅读(2217) 评论(0) 推荐(0) 编辑
摘要:Dubbo在启动时会检查服务提供者所提供的服务是否可用,默认为True。 (1)、单个服务关闭启动时检查(check属性置为false) 1)、基于xml文件配置方式 2)、基于注解配置方式 (2)、全部服务关闭启动时检查(通过配置服务消费者的统一规则来关闭服务检查) 1)、基于xml文件配置方式 阅读全文
posted @ 2019-02-10 12:16 SpringCore 阅读(1187) 评论(0) 推荐(0) 编辑
摘要:总结为: 1)、Java运行时虚拟机参数 eg:-Ddubbo.protocol.port=20880 2)、dubbo.xml || application.properties(SpringBoot) eg:<dubbo:protocol port="30880"/> 3)、dubbo.prop 阅读全文
posted @ 2019-02-10 11:55 SpringCore 阅读(1398) 评论(0) 推荐(0) 编辑
摘要:(1)、dubbo-admin(管理控制台) 1)、从https://github.com/apache/incubator-dubbo-ops下载解压 2)、修改dubbo-admin配置文件中zookeeper的注册地址 3)、使用Maven命令打包 mvn clean package 4)、使 阅读全文
posted @ 2019-02-09 21:31 SpringCore 阅读(7442) 评论(0) 推荐(0) 编辑
摘要:(1)、新建一个普通Maven项目,用于存放一些公共服务接口及公共的Bean等。 公共Bean: 公共服务接口: (2)、新建一个普通Maven项目,用作与服务提供者 1)、导入相关依赖 2)、编写服务提供者配置文件,新建provider.xml 3)、启动服务提供者 (3)、新建一个普通Maven 阅读全文
posted @ 2019-02-09 20:56 SpringCore 阅读(408) 评论(1) 推荐(0) 编辑
摘要:(1)、新建一个普通Maven项目,用于存放一些公共服务接口及公共的Bean等。 项目: 公共Bean: 公共服务接口: (2)、新建SpringBoot项目用作与服务提供者 1)、添加依赖 * dubbo-spring-boot-starter的版本与SpringBoot的版本之间有相应的对照关系 阅读全文
posted @ 2019-02-09 12:21 SpringCore 阅读(217) 评论(0) 推荐(0) 编辑