- 博客(243)
- 资源 (5)
- 收藏
- 关注

原创 spark本地运行的错误 java.net.URISyntaxException: Relative path in absolute URI:
20/12/03 20:24:03 INFO DAGScheduler: ShuffleMapStage 0 (map at WordCount.scala:24) failed in 2.446 s due to Job aborted due to stage failure: Task 1 in stage 0.0 failed 4 times, most recent failure: Lost task 1.3 in stage 0.0 (TID 5, 192.168.20.167, execut
2020-12-04 08:57:23
1121

原创 线程池动态修改核心线程数
通过线程池的方法重新设置核心线程数setCorePoolSize当最新的核心线程数小于之前的核心线程数时,则需要进行多余的线程中断当最新的核心线程数大于之前的核心线程数,则需要逐步的增加核心线程数源码如下: public void setCorePoolSize(int corePoolSize) { if (corePoolSize < 0) throw new IllegalArgumentException(); int.
2020-05-29 14:00:28
2501

原创 TCC分布式事务
场景分析:用户下单,减库存并消耗优惠券涉及微服务的三个子模块:订单模块、库存模块、促销模块订单模块作为事务控制器 订单本地方法进行拦截器处理 @Compensable(confirmMethod = "transferConfirm", cancelMethod = "transferCancel")@Transactional 利用spring的拦截器,拦截注解为Tra...
2020-04-22 18:21:05
182
原创 redis哨兵主从切换下数据丢失
slave为master,此时与之前master连接的client一直发送数据,当我们进行恢复将原master。当做新master的slave节点的时候,那么后来一直发送到原master内存的数据会丢失。毫无疑问会丢失延时的这段时间的数据当集群节点间网络或其他问题导致异步复制延时很高,当集群节点间网络或其他问题导致异步复制延时很高,如果此时master宕机了,如果此时master宕机了,毫无疑问会丢失延时的这段时间的数据。总的来看:遵从CAP理论的 CP,牺牲了A(可用性)
2023-05-05 14:22:59
640
原创 dubbo分层
第三层:proxy 层,服务代理层,⽆论是 consumer 还是 provider,dubbo 都会给你⽣成代。第五层:cluster 层,集群层,封装多个服务提供者的路由以及负载均衡,将多个实例组合。第六层:monitor 层,监控层,对 rpc 接⼝的调⽤次数和调⽤时间进⾏监控。第⼆层:config 层,配置层,主要是对 dubbo 进⾏各种配置的。第⼋层:exchange 层,信息交换层,封装请求响应模式,同步转异步。第⼀层:service 层,接⼝层,给服务提供者和消费者来实现的。
2023-05-04 14:30:40
705
原创 架构师的要求
最了解相关整个系统/业务流程和系统相关设计快速明确业务目标面向未来编程:易变的做成抽象层,保证灵活;不易变/少变的,简单实现,以防过度设计技术选型:过程【讨论、验证、测试、推行使用】 开源框架:a、稳定性是否达标【读源码,知晓原理,发现可能出现问题的地方,做好修改bug的准备】b、生态性【出现问题快速找到解决方案、健壮性随时间不断加强】
2023-04-25 14:12:19
180
原创 rabbitmq消息 顺序
经过测试,消息重新入列 也是固定的位置;还是第一个消费的消息。如果正常消费的情况下 消息的顺序是固定的。如果消息消费再次入队列的顺序是否有变化?
2023-01-31 19:57:09
245
原创 数据库只读事务
那为什么要设置为只读事务、而不是常规的事务呢?主要是从执行效率角度的考虑。因为这个里的操作都是一些只读操作,所以设置为只读事务,数据库会为只读事务提供一些优化手段,比如不启动回滚段、不记录回滚log之类的。为了避免此情况的发生,可以给复合查询操作添加上只读事务,这样事务控制范围内,事务外的写操作就不可见,这样就保证了事务内多条查询语句执行结果的一致性。
2022-11-21 21:27:14
365
原创 docker 安装vim
apt-get install vim如果报错则 执行 apt-get update然后再执行apt-get install vim
2022-05-30 15:17:49
188
原创 mysql数据库响应慢得对应策略
iostat -x 查询io情况关于 CPU 的指标,我们重点看 %iowait 和 %idle 两个指标。 %iowait:CPU 等待输入输出完成时间的百分比; %idle:CPU 空闲时间百分比。 若%iowait 的值过高,则表示硬盘存在 I/O 瓶颈;若 %idle 值高,表示 CPU 较空闲。如果 %idle 值高但系统响应慢时,有可能是 CPU 等待分配内存,此时应加大内存容量。%idle 值如果持续低于 10,那么系统的 CPU ..
2022-05-11 18:11:00
646
原创 JWT过期时间
LocalDateTime now = LocalDateTime.now();LocalDateTime localDateTime = now.plusDays(-1);String sign = JWT.create().withClaim("phone", "phone123").withClaim("r", UUIDUtils.uuid()) .withIssuedAt(DateUtils.asDate(localDateTime)) .withExpire.
2022-05-10 14:27:27
2377
原创 seata的一些细节
1、@LocalTCC 里面的bean需要是本地的bean 如果不配置,直接用@TwoPhaseBusinessAction 可以是远程的bean2、transaction log store, only used in seata-server seata服务端保存日志 支持db redis file3、 配置文件中 registry 作用 配置文件中 config 作用...
2022-05-09 16:26:19
214
原创 接口合并增加性能,提高并发
1、@HystrixCollapser(batchMethod="batch",collapserKey="single",scope=com.netflix.hystrix.HystrixCollapser.Scope.GLOBAL,collapserProperties={@HystrixProperty(name="maxRequests...
2022-04-27 20:33:53
268
原创 mysql 分页
分页不能超过一定数量的分页数据;如果超过分页预置最大值,则返回空列表可以使用子查询select * from id in (select id from table limit 1000000, 10);回表查询的数据量大大减少,减少io
2022-04-24 08:54:22
449
原创 事务最终一致性
一、业务场景从移动系统同步订单状态,根据同步过来的状态来执行自己系统的业务逻辑由于移动那边的订单状态不会以为我们这边业务逻辑而回滚他们的状态所以只能采用 最终一致性,即我们这边的业务逻辑不停的进行重试,来达到最终一致性二、实现细节同步移动的订单状态,进行入库操作,然后发送mq消息通知进行业务逻辑变更入库操作 增加字段来标识 是否标识 当前的状态变更是否完成了业务逻辑变更字段;如果已经进行了业务变更,将标识改成已进行业务逻辑处理;起动job进行扫描超过多长时间还未进行业务逻辑处理的
2022-04-19 08:58:09
191
转载 nginx限流
location /login/ { limit_req zone=mylimit burst=20 nodelay; proxy_pass http://my_upstream;}该burst参数定义了客户端可以发出多少请求超过区域指定的速率(对于我们的示例mylimit区域,速率限制为每秒 10 个请求,或每 100 毫秒 1 个请求)。一个在前一个请求后 100 毫秒内到达的请求被放入队列,这里我们将队列大小设置为 20。这意味着如果 21 个请求同时从给定 IP 地址.
2022-04-16 21:07:15
301
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人