摘要:
阅读全文
摘要:
Dubbo中AccessLogFilter实现了记录请求日志的功能,在业务系统中,我们也可以借鉴Dubbo的实现原理,实现相应的业务功能。 Dubbo中AccessLogFilter的实现原理:利用ConcurrentMap作为请求记录的本地存储结构,key为日志文件,value为请求记录;利用Sc 阅读全文
摘要:
场景描述:任务连续执行,任务之间存在关联关系。一个任务包含serialNo,relativeSerialNo两个关键属性。第一个任务relativeSerialNo为空,后续任务的relativeSerialNo为前一个任务的serialNo。 需求:得到的任务列表可能是乱序的,怎么让任务列表有序。 阅读全文
摘要:
Dubbo是一款开源的RPC中间件框架,底层数据传输默认使用的Netty,那么请求的处理理论上是异步的,为什么我们在使用的时候是同步的呢?肯定是Dubbo框架,做了异步转同步的处理。 首先我们来梳理下,异步转同步,我们的需求是怎样的? 1、调用方请求远程服务之后,需要等待结果,此刻,请求线程应该阻塞 阅读全文
摘要:
Dubbo加权轮询负载均衡算法,核心点:weight(固定的权重),currentWeight(当前权重,动态变化的),算法逻辑:轮询服务提供者(每个服务提供者都有weight和currentWeight),currentWeight增加weight,取最大的currentWeight,然后取对应的 阅读全文
摘要:
1、单程序句柄数限制 查看配置的句柄数:ulimit -n cat /etc/security/limits.conf 参考配置: * soft nofile 655360* hard nofile 655360 2、全局句柄数限制 cat /proc/sys/fs/file-max 参考配置: 6 阅读全文
摘要:
RocketMQ作为消息中间件,在系统异步化架构中,应用非常广泛。但是我们在享用RocketMQ的同时,也不能百分百完全信赖它。一旦RocketMQ崩溃了,给我们业务带来的也将是毁灭性打击。 因此,我们在使用RocketMQ的时候,一定要做好补偿工作。 下面提供一个RocketMQ的补偿架构图,已在 阅读全文
摘要:
场景描述: 以金融行业的贷款业务为例,客户提交贷款申请,即进件。系统针对进件需要做一系列处理:保存申请信息、保存客户信息、对客户评分、触发风控检查、埋点、消推等。 传统编码方式: 竖向编程方式,就是按照逻辑一步一步执行。这样做的缺点,就是代码耦合度太高。 使用责任链模式和观察者模式解耦: 责任链模式 阅读全文