摘要:
链接地址:https://www.cnblogs.com/weigaung/p/9233193.html 阅读全文
摘要:
RestTemplate内部调用负载均衡拦截器,拦截器内最终是调用了负载均衡器来选择服务实例。接下来撸一撸负载均衡器的内部,看看是如何获取服务实例,获取以后做了哪些处理,处理后又是如何选取服务实例的。分成三个部分来撸: ①:配置②:获取服务③:选择服务 配置在上一篇《Spring Cloud Rib 阅读全文
摘要:
直接开撸代码,通过代码来看Ribbon是如何实现的。 1:RibbonAutoConfiguration配置生成RibbonLoadBalancerClient实例。 代码位置:org.springframework.cloud.netflix.ribbon.RibbonAutoConfigurat 阅读全文
摘要:
在实际场景中会遇到这样的一种情况:数据量很大,而且还要分页查询,如果数据量达到百万级别之后,性能会急剧下降,导致查询时间很长,甚至是超时。接下来我总结了两种常用的优化方案,仅供参考。但是需要注意的是有个前提:主键id是递增且数据有序。 1:使用子查询优化 这种方式先定位偏移位置的 id,然后往后查询 阅读全文
摘要:
上下文信息 上下文中存放的是当前调用过程中所需的环境信息。首先RpcContext是线程级的,每个线程一份。RpcContext 是一个 ThreadLocal 的临时状态记录器,当接收到 RPC 请求,或发起 RPC 请求时,RpcContext 的状态都会变化。比如:A 调 B,B 再调 C,则 阅读全文
摘要:
一:使用场景CopyOnWriteArrayList适用于场景为读多写少的集合应用场景中。 二:CopyOnWrite容器CopyOnWrite容器即写时复制的容器。通俗的理解是当我们往一个容器添加元素的时候,不直接往当前容器添加,而是先将当前容器进行Copy,复制出一个新的容器,然后新的容器里添加 阅读全文
摘要:
1、 runAsync 和 supplyAsync方法 CompletableFuture 提供了四个静态方法来创建一个异步操作。 1 public static CompletableFuture<Void> runAsync(Runnable runnable) 2 public static 阅读全文
摘要:
1 /** 2 * 两个任务同时并发执行 并有结果值返回 3 * @throws Exception 4 */ 5 public static void test1() throws Exception{ 6 StopWatch stopWatch = new StopWatch(); 7 stop 阅读全文
摘要:
当我们要向数据库中插入一条数据时,我们需要保证主键的唯一性。其实不仅仅是主键的唯一性,也可以是唯一索引列也是可以的 如果插入的数据主键不重复,那么就插入;如果主键已存在(重复),那么就执行update之后的语句。 如果插入的数据唯一索引列不重复,那么数据就会插入成功;如果唯一索引列已存在(重复),那 阅读全文
摘要:
1:在职场中,一定要严于律己、宽于待人。对待自己一定要严格要求自己,而不能苛刻的要求别人。无论说话还是做事儿一定要温暖,俗话说恶语伤人六月寒,良言一句三冬暖。所以说话做事儿一定要留有余地、温暖待人、尊重他人。 2:一定要有计划性,每天完成什么事儿,要学习到什么知识,一定要做个总结笔记,同时一定要完成 阅读全文