星月的雨
码龄13年
关注
提问 私信
  • 博客:129,783
    129,783
    总访问量
  • 54
    原创
  • 857,183
    排名
  • 15
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2011-07-02
博客简介:

liu1390910的博客

查看详细资料
个人成就
  • 获得21次点赞
  • 内容获得9次评论
  • 获得108次收藏
创作历程
  • 6篇
    2021年
  • 16篇
    2020年
  • 31篇
    2019年
  • 31篇
    2018年
  • 11篇
    2017年
成就勋章
TA的专栏
  • springcloudalbaba
    5篇
  • 分布式事务 
    4篇
  • windows
    1篇
  • 大数据
    11篇
  • hadoop
    12篇
  • JAVA
    7篇
  • docker
    2篇
  • JVM
    3篇
  • flume
  • 消息队列
    4篇
  • eclipse
    1篇
  • centos
    1篇
  • spark
    2篇
  • oracle
    2篇
  • HIVE
    4篇
  • sqoop
    1篇
  • hbase
    1篇
  • Kubernetes
    2篇
  • Redis
    9篇
  • keepalived
    1篇
  • springboot
    4篇
  • springcloud
    11篇
  • 前端
    4篇
  • Mysql
    4篇
  • 数据库
    7篇
  • Tomcat
    1篇
兴趣领域 设置
  • 大数据
    hadoop
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

353人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

微服务双活体系建设

双机房部署双活数据中心入口路由算法静态路由算法:基于IP地址进行选择 动态路由算法:分析链路和数据中心的负载情况,响应时间,优先级等进行路由 系统网关控制:通过网关制定规则实现流量分发双活数据中心需要注意的问题脑裂现象:网络出现波动,通信终端,无法感知,各自为战,很难判断请求应该分发到哪个数据中心 运维相对复杂:数据同步问题,如何达到同步准实时 非零丢失:一个机房挂掉,另一个机房还没有及时同步最新数据的情况,只是非常少量的数据丢失,所以双活不能保证非零丢失基于支付场景的双活体系建设业
原创
发布博客 2021.04.08 ·
1515 阅读 ·
0 点赞 ·
2 评论 ·
2 收藏

Hystrix 和 Sentinel 对比

共同特性:隔离机制:二者都提供了隔离机制,Hystrix通过线程池活信号量来实现隔离机制,针对某个依赖服务的请求,全部会在一个线程池内部管理,信号量更轻量级一些;Sentinel的隔离机制更轻量级,支持通过不同的运行指标进行限流,例如通过控制QPS,系统负载,调用关系。 熔断降级:Sentinel与Hystrix都支持基于失败比率(异常比率)的熔断降级,在调用达到一定量级并且失败比率达到设定的阈值时自动进行熔断,此时所有对该资源的调用都会被阻塞,知道过了指定时间窗口后才启发性的恢复。Sentinel还
原创
发布博客 2021.03.02 ·
2910 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

Spring Cloud Gateway

网关作用网关不仅只是做一个请求的转发及服务的整合,有了网关这个统一的入口之后,它还能提供以下功能。针对所有请求进行统一鉴权、限流、熔断、日志。 协议转化。针对后端多种不同的协议,在网关层统一处理后以HTTP对外提供服务。用过Dubbo框架的读者应该知道,针对Dubbo服务还需要提供一个Web应用来进行协议转化。 统一错误码处理。 请求转发,并且可以基于网关实现内、外网隔离。统一认证授权...
原创
发布博客 2021.01.25 ·
328 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Seata 分布式事务

初探下载官方代码:https://gitee.com/mirrors/Spring-Cloud-Alibaba.git目前的最新seata版本为1.4.根据MD,分别启动4个服务。主要业务有3项扣除商品库存 扣除用户金额 创建订单demo 中有feign,rest 两种服务掉用方式http://127.0.0.1:18081/seata/feignhttp://127.0.0.1:18081/seata/rest后台操作修改数据为: 库存 》 用户表》..
原创
发布博客 2021.01.06 ·
239 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

分布式事务常见解决方案

在电商领域互联网下,基于CP的强一致性方案在数据库性能和系统处理能力会出现一定瓶颈。所以互联网更多采用柔性事务,柔性事务是遵循BASE理论来实现事务模型,有两个特性:基本可用,柔性状态。TCC补偿型方案TCC(Try-Confirm-Cancel)是一种比较成熟的分布式数据一致性解决方案,它实际上是把一个完整的业务拆分为如下三个步骤。Try ∶ 这个阶段主要是对数据的校验或者资源的预留。 Confirm∶确认真正执行的任务,只操作Try阶段预留的资源。 Cancel∶取消执行,释放Try阶段
原创
发布博客 2021.01.04 ·
352 阅读 ·
0 点赞 ·
3 评论 ·
0 收藏

分布式事务原理

XA协议ACID特性:原子性(Atomicity)∶事务必须是原子工作单元,不可继续分割,要么全部成功,要么全部失败。 一致性(Consistengy)∶事务完成时,所有的数据都必须保持一致。 隔离性(Isolation)∶由并发事务所做的修改必须与任何其他并发事务所做的修改隔离。 持久性(Durability)∶事务执行完成之后,它对于系统的影响是永久性的。此特性是针对单库夺标事务所要满足的特性,在分布式事务下不能保证。X/OPEN 这个组织定义了一套分布式事务标准。这个标准提出了两阶
原创
发布博客 2021.01.04 ·
318 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Sentinel 源码解析

初始化工作原理在 spring-cloud-alibaba-sentinel 包中,starter组件会自动装备,所以直接 看 meta-inf/spring.factoriesorg.springframework.boot.autoconfigure.EnableAutoConfiguration=\com.alibaba.cloud.sentinel.SentinelWebAutoConfiguration,\com.alibaba.cloud.sentinel.SentinelW.
原创
发布博客 2020.10.10 ·
1885 阅读 ·
1 点赞 ·
0 评论 ·
6 收藏

Spring Cloud Alibaba Sentinel 用法总结

常用的限流策略:Niginx添加限流模块限制平均访问速度 通过数据库连接池,线程池大小限制 通过Guava包Ratelimiter限制接口访问速度 Tcp通信协议中流量整形常见限流算法:1.计数器算法在指定周期内限制访问次数,进入下一个时间周期次数清0.这种算法可以用在短信发送频次限制上,比如限制一个用户一分钟之内触发短信发送的次数。可以借助 redis incr 命令实现缺点:临界问题:单位周期内,某一个时间点达到峰值,导致后续单位时间内无法访问。2.滑动窗口法在
原创
发布博客 2020.09.29 ·
2828 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

记一次tomcat启动卡死 JVM调优

由于后台不报错,且并不会结束掉tomcat进程,所以只能进行JVM分析。1.分析JVM可用 jstat,也可以使用 VisualVM 的 Visual GC 来分析JVM垃圾回收情况。这里发现频繁full GC这里使用 jmp 输出 dump 文件jmap -dump:format=b,file=e:\f.hprof 156562.借助 Eclipse Memory Analyzer 分析 dump文件详细使用说明可以参考这个博客导入dump文件后,可以明显发现 Fa..
原创
发布博客 2020.08.27 ·
423 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Nacos 服务注册源码解析

nacos官方提供额架构图:Provider App:服务提供者 Consumer App:服务消费者 Name Server:通过VIP(Vritual IP)或者DNS的方式实现Nacos高可用集群的服务路由 Nacos Server:Nacos服务提供者,包含OpenApi访问入口,Config Service 和 Naming Service是Nacos的配置服务,名字服务模块。Consistency Protocol是一致性协议,用来实现Nacos集群接节点的数据同步,使用的是 Ra
原创
发布博客 2020.08.02 ·
1611 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

jedis记录用户常用模块生成实时排名

需求:拦截用户对不同类型模块的进入,新增,更新,删除 的操作,每次操作频率+1 , 实时显示用户当面所有模块的排名。要求设计时满足对历史数据的排行,比如某月,某年等时间段的排行。环境:由于项目没有针对redis 做持久化操作,所以每次项目启动需要重新加载数据库中的数据到缓存中。 由于此项目redis版本较老,使用的是2.6版本,并且使用的是 shardJedis + sentinel 的高可用模式 。 采用jedis访问redis最终形成页面如下:自定义注解:@Targe.
原创
发布博客 2020.07.29 ·
415 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Java 8 新特性 Stream类的collect方法

1.Collectors.toList():转换成List集合。/Collectors.toSet():转换成set集合。System.out.println(Stream.of("a", "b", "c","a").collect(Collectors.toSet()));2.Collectors.toCollection(TreeSet::new):转换成特定的set集合。TreeSet<String> treeSet = Stream.of("a", "c", "b", .
转载
发布博客 2020.07.14 ·
1698 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

JVM 调优相关命令 jps jstat jinfo jmap jhat jstack

jps-q抑制类名,JAR文件名和传递给该main方法的参数的输出,仅生成本地VM标识符的列表。 -m输出传递给main方法的参数。对于嵌入式JVM,输出可能为null。 -l 将应用程序主类的完整软件包名称或完整路径名称输出到应用程序的JAR文件。 -v输出传递给JVM的参数。 -V输出通过标志文件(.hotspotrc文件或-XX:Flags = <filename>参数指定的文件)传递给JVM的参数。jstat监视虚拟机运行状态...
原创
发布博客 2020.07.09 ·
1419 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

服务升级

发布方式:蓝绿发布 滚动发布 灰度发布 (提前存好灰度规则)
原创
发布博客 2020.07.08 ·
434 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

表分区与分区表取舍

基本来说, 分区和分表带来的性能提升是一样的,由于分区实际上就可以认为是mysql底层来帮我们实现分表的逻辑了, 所以相对来说分表会比分区带来更高的编码复杂度(分区就根本不用考虑多表分页查询的问题了).从这个角度来说, 一般的业务直接分区就可以了.当然, 选择分区还是分表还是需要做一点权衡的:1. 表中的数据只有部分热点数据经常访问, 其他的不常访问的话, 适合用分区表2. 分区表相对容易维护, 可以针对单独一个分区进行检查,优化, 批量删除大量数据时, 分区表会比一般的表更快3. 分区表
转载
发布博客 2020.07.08 ·
2229 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Java8 CompletableFuture 用法总结及Stream并行流对比

Shop计算相关类package com.future;import java.util.Random;import java.util.concurrent.CompletableFuture;import java.util.concurrent.Future;public class Shop { private String name ; public Shop(String name) { this.name = name; }...
原创
发布博客 2020.07.04 ·
3689 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

Mysql单表大量数据优化

批量插入300W数据,由于Innodb默认支持事物导致插入速度缓慢,先修改为MyISAMCREATE DEFINER=`root`@`localhost` PROCEDURE `proc_auto_insertdata`()BEGIN DECLARE init_data INTEGER DEFAULT 1; WHILE ...
原创
发布博客 2020.05.26 ·
678 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Spring Cloud 实现方案

Spring Cloud 只时对外提供了一套标准的APISpring Cloud Netflix 是对Spring Cloud的一个实现Spring Cloud Alibaba 一样...
原创
发布博客 2020.04.07 ·
246 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

JAVA 设计模式相关

接口隔离原则单一原则接口隔离原则依赖倒转原则里氏替换原则子类中尽量不要重写父类的方法,适当的情况下,可以通过聚合,组合,依赖来解决问题,或者可以让类升级为基类开闭原则迪米特法则合成复用原则...
原创
发布博客 2020.07.09 ·
135 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Redis 结构对应的业务场景

常用结构String 单值缓存 getset 对象缓存 set user:1 value(Json格式)Mset user:1:name lzh user:1balance 1888Mgetuser:1Mget Mset 适合改其中某一个字段 分布式锁 setNx key value :判断key是否存在 返回1表示获取成功 反之返回0...
原创
发布博客 2020.03.23 ·
199 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多