![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
分布式系统
文章平均质量分 74
分布式系统
李桥s2008100262
天道酬勤
展开
-
连接池总结
连接池原创 2023-05-29 10:43:00 · 628 阅读 · 0 评论 -
如何保证缓存与数据库的一致性
目录1、数据实时同步更新2、数据准实时异步更新3、缓存过期时间4、定时任务更新5、总结1、数据实时同步更新延时双删机制2、数据准实时异步更新阿里提供的开源组件,Canal组件。3、缓存过期时间4、定时任务更新5、总结...原创 2021-07-25 12:40:50 · 131 阅读 · 0 评论 -
Redis 数据类型常见应用场景
目录1、String 应用场景2、Hash 应用场景3、List 应用场景4、Set 应用场景4.1、投票/参加活动/抽奖,要防止重复投票4.2、对消息进行点赞,也要防止重复点赞4.3、微关系:sinter sunion sdiff,集合并、并、差5、ZSet 应用场景5.1 腾讯新闻话题榜Redis设计实现, 以日期做为Key1、String 应用场景计数功能(文章编号为001) INCR article:001 GET article:001...原创 2021-07-18 11:18:34 · 305 阅读 · 1 评论 -
对二级缓存的研究
目录1、二级缓存业务流程2、二级缓存面临的问题3、如何解决这些问题?1、二级缓存业务流程一般我们不使用进程缓存,原因如下:1、进程缓存会导致应用服务成为有状态的服务,这与当前主流,面向无状态的服务设计理念相违背2、我们的应用程序一般是集群部署,一个应用程序会部署多个实例,如何保证分布式缓存与进程缓存一致性是一个比较复杂的问题3、一般的应用场景,分布式缓存已经够用,无须再引入进程缓存但是,在一些特殊的业务场景下,我们还是需要使用进程缓存的1、如果是一些配置数据、只读数据,这原创 2021-01-20 09:38:41 · 1087 阅读 · 0 评论 -
初创公司对于分布式文件系统的技术选型
1、背景2、待选择技术方案原创 2021-01-15 16:06:34 · 1176 阅读 · 1 评论 -
负载均衡专题研究
目录1、背景2、负载均衡方案2.1 基于客户端的负载均衡2.2 基于服务端的负载均衡3 常见的均衡均衡算法3.1 随机3.2 RoundRobin3.3 加权3.4 基于响应时间3.5 基于连接数4 负载均衡组件4.1 Ribbon组件4.2 Nginx中间件1、背景2、负载均衡方案2.1 基于客户端的负载均衡2.2 基于服务端的负载均衡3 常见的均衡均衡算法3.1 随机3.2 RoundRobin...原创 2021-01-15 16:03:50 · 1425 阅读 · 1 评论 -
分布式链路追踪专题研究
目录1、为什么要使用分布式链路追踪?2、开源的分布式链路追踪解决方案2.1 Zipkin2.2 PinPoint2.3 SkyWalking2.4 开源组件对比1、为什么要使用分布式链路追踪?2、开源的分布式链路追踪解决方案2.1 Zipkin2.2 PinPoint2.3 SkyWalking2.4 开源组件对比...原创 2021-01-15 14:03:47 · 181 阅读 · 0 评论 -
分布式配置中心专题研究
目录1、为什么要使用分布式配置中心2、分布式配置中心开源解决方案2.1 携程的Apollo2.2、阿里的Nacos2.3、基于Zookeeper的分布式配置中心2.4、基于数据库的分布式配置中心2.5、 分布式配置中心对比3、分布式配置中心缺点1、为什么要使用分布式配置中心2、分布式配置中心开源解决方案2.1 携程的Apollo2.2、阿里的Nacos2.3、基于Zookeeper的分布式配置中心2.4...原创 2021-01-15 13:58:13 · 71 阅读 · 0 评论 -
限流专题研究
目录1、限流算法2、限流开源组件2.1 Guava RateLimiter2.2 Netflix Hystrix2.3 Alibaba Sentinel2.4 限流开源组件对比1、限流算法2、限流开源组件2.1 Guava RateLimiter2.2 Netflix Hystrix2.3 Alibaba Sentinel2.4 限流开源组件对比...原创 2021-01-06 11:00:12 · 1658 阅读 · 0 评论 -
Data Sharding 数据分片的研究
目录1、ShardingJDBC数据分片2、MyCat 数据分片3、Redis 数据分片4、ElasticSearch数据分片5、Memcache数据分片本文研究的重点关注于一些成熟开源的中间件是如何实现数据分片的,主要分析一些成熟的分片方案。1、ShardingJDBC数据分片2、MyCat 数据分片3、Redis 数据分片4、ElasticSearch数据分片5、Memcache数据分片...原创 2021-01-04 11:07:49 · 92 阅读 · 0 评论 -
记录一次我搭建的分布式系统(TYKJ)
1、系统架构图原创 2020-12-27 17:48:19 · 822 阅读 · 0 评论 -
BitSet&BloomFilter&HyperLogLog
1、BitSethttps://blog.csdn.net/jiangnan2014/article/details/537354292、BloomFilter3、HyperLogLog原创 2020-12-17 15:33:28 · 1914 阅读 · 0 评论 -
分布式一致性算法
目录1、raft2、zab3、paxos1、raft2、zab3、paxos原创 2020-12-17 14:56:43 · 1082 阅读 · 0 评论 -
微信PC扫码支付保证订单状态最终一致性
目录1、背景2、实现方案3、方案详解1、背景 系统需要对接微信PC扫码支付、订单的状态需要由系统来保证同步,不需要人工进行介入,所以,需要保证商户系统订单与微信订单最终一致性。2、实现方案3、方案详解上图中,红色为实现订单状态最终一致性的三个方案,下面将进行详细描述:异步通知:当用户支付成功时,由微信服务器向商户系统后台推送支付成功通知,商户系统后台进行进行回复。后台通知交互时,如果微信收到商户的应答不符合规范或超时, ...原创 2020-12-15 15:51:14 · 2103 阅读 · 0 评论 -
Java延迟队列的几种实现
目录1、DelayQueue2、Time、TimerTask3、SpringScheduled4、有赞实现5、ActiveMQ1、DelayQueue 示例使用:java延迟队列DelayQueue使用及原理 适用于单机的应用,不支持分布式的延迟消息,并且延迟消息不支持持久化,对可靠性要求不是很高的场景可以使用这种方式。2、Time、TimerTask3、SpringScheduled4、有赞...原创 2020-12-14 14:13:46 · 1897 阅读 · 0 评论 -
Java注册中心大比拼
1、Zookeeper注册中心2、Eureka注册中心3、Etcd注册中心4、Consul注册中心5、Nacos注册中心6、对比矩阵Nacos Eureka Consul CoreDNS Zookeeper 一致性协议 CP+AP AP CP — CP 健康检查 TCP/HTTP/MYSQL/Client Beat Client Beat TCP/HTTP/gRPC/C...原创 2020-12-07 16:54:58 · 1213 阅读 · 0 评论 -
开源中间件HA架构大比拼
目录1、Redis高可用2、MySql高可用3、ElasticSearch高可用4、Zookeeper高可用5、RocketMQ高可用1、Redis高可用2、MySql高可用3、ElasticSearch高可用4、Zookeeper高可用5、RocketMQ高可用原创 2020-12-07 16:40:21 · 234 阅读 · 0 评论 -
Java缓存技术选型
1、进程内缓存1.1 Guava Cache1.2 Caffeine Cache2、本地缓存2.1 EhCache3、分布式缓存3.1 Redis原创 2020-12-07 10:28:52 · 188 阅读 · 0 评论 -
如何量化分布式系统高性能指标?
目录1、高性能指标2、JMeter压力测试3、系统实时性能1、高性能指标2、JMeter压力测试使用JMeter进行压测系统,将cpu利用率打到90%,观察系统各指标情况。3、系统实时性能磁盘IO、网络IO响应时间...原创 2020-12-07 09:59:39 · 2162 阅读 · 0 评论 -
Redis热点key的优化
目录1、第一步:如何发现热点key?2、第二步: 热点key出现的原因?3、第三步: 热点key造成的后果?4、第四步: 热点key具体如何解决?1、第一步:如何发现热点key?2、第二步: 热点key出现的原因?3、第三步: 热点key造成的后果?4、第四步: 热点key具体如何解决?...原创 2020-12-06 12:25:48 · 745 阅读 · 0 评论 -
Java锁汇总
目录1、悲观锁1.1 进程锁1.1.1 Java Synchronized1.1.2 Java ReentrantLock1.1.3 Java ReadWriteLock1.2 分布式锁1.2.1 基于DataBase分布式锁1.2.2 基于Zookeeper分布式锁1.2.3 基于Redis分布式锁2、乐观锁2.1 ElasticSearch乐观锁2.2 Zookeeper乐观锁2.2 CAS算法1、悲观锁1.1 进程锁1.1.1 Java原创 2020-12-04 08:49:57 · 3707 阅读 · 0 评论 -
ActiveMQ重新投递功能示例
目录1、ActiveMQ重新投递功能概述2、客户端代码配置3、DLQ控制台1、ActiveMQ重新投递功能概述ActiveMQ默认会将没有进行ACK的消息向消费者重新投递6次,如果6次都失败会将消息存储到ActiveMQ.DLQ这个死信对列中,所以我们对于消息的消费一定要实现幂等性。2、客户端代码配置自定义重试机制如下: @Bean public ActiveMQConnectionFactory connectionFactory() { .原创 2020-12-03 14:12:55 · 3955 阅读 · 0 评论 -
分布式事务大总结
分布式事务原创 2020-12-02 11:39:34 · 1807 阅读 · 0 评论 -
Tomcat9调优记录
1、JVM参数调优在${CATALINA_HOME}/bin/catalina.sh文件中添加变量JAVA_OPTS='-Xms512m -Xmx512m',按照自己的需求设置初始化堆、最大堆,当然也可以设置一些其它的JVM参数,请参考:JVM调优2、关闭DNS查询 由于Tomcat服务器需要记录客户端远程主机名信息,会通过DNS服务当hostname转换为IP地址,而这个DNS解析的过程需要占用一定的带宽,消耗一定的时间,为了消除DNS解析对性能的影响,我们...原创 2020-11-27 20:11:12 · 1311 阅读 · 0 评论 -
架构调优
架构调优原创 2020-11-26 20:32:53 · 54 阅读 · 0 评论 -
JVM调优理论&实践
1、架构调优2、tomcat调优3、jvm调优4、数据库调优5、操作系统调优原创 2020-11-26 17:33:54 · 1173 阅读 · 0 评论 -
分布式ID算法
1、为什么需要分布式ID算法?2、常见的分布式ID算法实现3、开源框架对分布式ID算法的实现3.1、Mybatis Plus 分布式ID3.2、MyCat 分布式ID4、我的分布式ID代码原创 2020-11-25 21:25:48 · 1498 阅读 · 0 评论 -
分布式系统下的幂等性问题如何解决?
幂等性问题如何解决幂等性问题如何解决幂等性问题如何解决原创 2020-11-25 16:45:49 · 3588 阅读 · 0 评论