rpc
码代码-是个回文串
这个作者很懒,什么都没留下…
展开
-
Rpc之熔断,降级,限流,分组
限流基于应用限流和基于ip限流(更小粒度)单机限流,简单,缺点不均匀专用限流服务,服务提供者提供服务前调用调用端自己调用限流逻辑,判断请求是否到达阈值。熔断熔断的工作机制主要是关闭、打开和半打开这三个状态之间的切换正常情况下,熔断器关闭。当发生异常的次数到达设定的阈值后,熔断器打开。过一段时间后,熔断器处于半打开状态,此时熔断器允许调用端发送一个请求,如果还是返回异常,就再次打开,如果正常返回就关闭熔断器。熔断器的位置应该处于动态代理里,当发送请求时,先经过熔断器。降级当一个服务处理原创 2021-05-05 21:22:46 · 311 阅读 · 0 评论 -
Rpc避免流量打到没有启动完全的节点上
启动预热jvm的预热JVM 虚拟机会把高频的代码编译成机器码,被加载过的类也会被缓存到 JVM 缓存中,再次使用的时候不会触发临时加载,这样就使得“热点”代码的执行不用每次都通过解释,从而提升执行速度。rpc实现启动预热让负载均衡在选择连接的时候,区分一下是否是刚启动不久的应用一种是服务提供方在启动的时候,把自己启动的时间告诉注册中心;另外一种就是注册中心收到的服务提供方的请求注册时间。总之,调用方通过服务发现,除了可以拿到 IP 列表,还可以拿到对应的启动时间。我们需要把这个时间作用在负载原创 2021-05-05 21:04:30 · 112 阅读 · 0 评论 -
Rpc的服务节点关闭设计
通过服务发现可以做到无损关闭吗如果服务在关闭前,通知注册中心下线,然后通过注册中心告知调用者,把该节点在负载均衡中下线。服务发现在大规模集群中,只保证最终一致性,不保证强一致性,所以注册中心在收到服务提供方下线的时候,并不能成功保证把这次要下线的节点推送到所有的调用方。所以,不可以做到无损关闭服务提供者维护一个调用方连接集合在服务节点要下线之前,挨个去通知服务的调用者,这样服务调用者就不会再使用这个节点了服务提供者还需要设置一个请求挡板因为可能服务调用者在收到下线通知之前一点点发送了请求,由于原创 2021-05-05 17:50:09 · 189 阅读 · 0 评论 -
Rpc的异常重试
异常重试的前提服务提供方需要保证执行服务的幂等性,只有保证了幂等性才可以异常重试超时时间的设置如果这个异常是超时异常,就向上抛出,不再重试否则,需要复位超时时间,进行异常重试异常重试需要注意尽可能重试的时候,不选择刚才发生异常的那个服务节点如何区分哪些异常需要重试设置白名单,将那些可以进行异常重试的异常放在服务调用者的白名单里。当发生异常时候,服务调用者根据返回回来的异常信息,根据白名单,判断是否可以进行异常重试...原创 2021-05-05 17:17:32 · 193 阅读 · 0 评论 -
Rpc的负载均衡
注意区分负载均衡和路由策略。虽然两者都是做的选择节点的工作,但是具体的选择方式是不同的。路由策略是在所有的节点中,选择目前服务调用者可以使用的服务节点负载均衡是在所有我可以使用的节点中,根据负载均衡策略选择一个节点。负载均衡的方式轮询加权轮询随机一致性hash自适应的负载均衡策略服务调用者收集与之建立长连接的每个服务节点的指标数据,如服务节点的负载指标、CPU 核数、内存大小、请求处理的耗时指标(如请求平均耗时、TP99、TP999)、服务节点的状态指标(如正常、亚健康)。加原创 2021-05-05 17:06:14 · 143 阅读 · 0 评论 -
RPC的路由策略
关键词:灰度发布什么是灰度发布灰度发布,主要是按照一定策略选取部分用户,让他们先行体验新版本的应用,通过收集这部分用户对新版本应用的反馈以及对新版本功能、性能、稳定性等指标进行评论,进而决定继续放大新版本投放范围直至全量升级或回滚至老版本。实现灰度发布的方式1. 采用注册中心加入判断逻辑,然后根据服务调用方的信息选择节点推送给服务调用方2. 基于ip的路由策略在注册中心加入判断逻辑会导致注册中心的压力变大,一旦发生故障将会造成很大的影响,所以将筛选的逻辑放在服务的调用端注册中心将所有的节点信息原创 2021-05-05 16:41:28 · 272 阅读 · 0 评论 -
RPC的健康监测
终极解决方法就是让调用方实时感知到服务节点的状态变化原创 2021-05-05 16:03:59 · 160 阅读 · 0 评论 -
服务发现原理
服务接口注册:在服务提供方启动时,将自己提供的服务的接口和自己的id注册到注册中心服务接口订阅:服务调用方启动的时候,去注册中心查找和订阅服务提供方的ip,然后缓存到本地,用于后续的远程调用...原创 2021-05-05 15:40:51 · 103 阅读 · 0 评论 -
RPC架构
这里写自定义目录标题RPC的一个架构图RPC的一个架构图原创 2021-05-05 15:12:51 · 64 阅读 · 0 评论