随笔分类 -  分布式

摘要:首先,我觉得只要用到了缓存,是没有办法达到强一致性的,尤其是在高并发场景下面。 当我们对数据进行修改的时候,到底是先删缓存,还是先写数据库?1、如果先删缓存,再写数据库: 在高并发场景下,当第一个线程删除了缓存,还没有来得及写数据库,第二个线程来读取数据,会发现缓存中的数据为空,那就会去读数据库中的 阅读全文
posted @ 2023-02-05 20:12 君莫笑我十年游 阅读(118) 评论(0) 推荐(0) 编辑
摘要:jmap 可以用来分析程序的大对象, jstack 可以分析程序中的一些让cpu飙高和内存占用飙高的线程及代码块, jstat 配合参数 -gc 可以分析当前程序的垃圾收集情况,包括年轻代,老年代的垃圾收集时间,收集次数,通过分析调整jvm参数,也可以分析后调整优化代码。 在工作中我之前用jstat 阅读全文
posted @ 2023-01-20 17:37 君莫笑我十年游 阅读(16) 评论(0) 推荐(0) 编辑
摘要:链路追踪组件 应用性能监视工具 调用链路组件选型:springCloud sleuth,结合Zipkin使用,拦截HTTP请求,将数据发送至Zipkin服务Pinpoint,基于字节码增强。性能比较低。SkyWalking,侵入性低,而且性能高。CAT,对业务侵入性比较强。代码埋点(拦截器、注解、过 阅读全文
posted @ 2022-12-26 09:05 君莫笑我十年游 阅读(515) 评论(0) 推荐(0) 编辑
摘要:分布式事务:第一阶段要做的事情:1. 开启全局事务,获取全局事务id;2. 执行业务逻辑,生成前置镜像、后置镜像,插入undo_log,执行本地事务;3. 在插入undo_log之前,会发起一个rpc请求,调用TC,搜集行锁信息,生成全局锁。第二阶段:分布式事务协调者根据事务的状态,到底是进行真正的 阅读全文
posted @ 2022-12-21 22:17 君莫笑我十年游 阅读(37) 评论(0) 推荐(0) 编辑
摘要:1. Sentinel规则推送模式 Sentinel规则的推送有下面三种模式: 推送模式 说明 优点 缺点 原始模式 API 将规则推送至客户端并直接更新到内存中,扩展写数据源(WritableDataSource) 简单,无任何依赖 不保证一致性;规则保存在内存中,重启即消失。严重不建议用于生产环 阅读全文
posted @ 2022-12-16 17:59 君莫笑我十年游 阅读(595) 评论(0) 推荐(0) 编辑
摘要:常见限流算法精讲 计数器法 计数器法是限流算法里最简单也是最容易实现的一种算法。比如我们规定,对于A接口来说,我们1分钟的访问次数不能超过100个。那么我们可以这么做:在一开始的时候,我们可以设置一个计数器counter,每当一个请求过来的时候,counter就加1,如果counter的值大于100 阅读全文
posted @ 2022-12-14 16:31 君莫笑我十年游 阅读(49) 评论(0) 推荐(0) 编辑
摘要:1.1 分布式系统遇到的问题 服务雪崩效应:因服务提供者的不可用导致服务调用者的不可用,并将不可用逐渐放大的过程,就叫服务雪崩效应 导致服务不可用的原因: 程序Bug,大流量请求,硬件故障,缓存击穿 【大流量请求】:在秒杀和大促开始前,如果准备不充分,瞬间大量请求会造成服务提供者的不可用。 【硬件故 阅读全文
posted @ 2022-12-12 12:52 君莫笑我十年游 阅读(140) 评论(0) 推荐(0) 编辑
摘要:可以参考@Transtactional的具体实现。 限制连接点的匹配,其中连接点的主题(在 Spring AOP 中执行的方法)具有给定的 annotation。 官方案例: 任何连接点(仅在 Spring AOP 中执行方法),其中执行方法具有@Transactional annotation: 阅读全文
posted @ 2021-06-08 13:37 君莫笑我十年游 阅读(1260) 评论(0) 推荐(0) 编辑
摘要:1 Could not execute Write_rows event on table cs3.test01; Duplicate entry ‘7‘ for key ‘test01.PRIMARY‘ 1.1 主库操作 SHOW BINARY LOGS; PURGE BINARY LOGS TO 阅读全文
posted @ 2021-04-26 10:18 君莫笑我十年游 阅读(146) 评论(0) 推荐(0) 编辑
摘要:分库分表技术之MyCat 1.海量存储问题 1.1 背景描述 如今随着互联网的发展,数据的量级也是成指数的增长,从GB到TB到PB。对数据的各种操作也是愈加的困难,传统的关系性数据库已经无法满足快速查询与插入数据的需求。 解决方案1: 使用NoSQL数据库, 通过降低数据的安全性,减少对事务的支持, 阅读全文
posted @ 2021-04-22 16:05 君莫笑我十年游 阅读(605) 评论(0) 推荐(0) 编辑
摘要:编辑/etc/mysql/my.cf文件 在[client]下添加 default-character-set=utf8 在[mysqld] 下添加 character_set_server=utf8 注:[mysqld]处也可使用default-character-set=utf8,如果启动mys 阅读全文
posted @ 2021-04-22 09:29 君莫笑我十年游 阅读(357) 评论(0) 推荐(0) 编辑
摘要:Lucene&ElasticSeach 1 什么是全文检索 1.1 数据分类 我们生活中的数据总体分为两种:结构化数据和非结构化数据。结构化数据:指具有固定格式或有限长度的数据,如数据库,元数据等。非结构化数据:指不定长或无固定格式的数据,如邮件,word 文档等磁盘上的文件 1.2 结构化数据搜索 阅读全文
posted @ 2021-04-05 21:36 君莫笑我十年游 阅读(181) 评论(0) 推荐(0) 编辑
摘要:Build Anything with Spring Boot:Spring Boot is the starting point for building all Spring-based applications. Spring Boot is designed to get you up an 阅读全文
posted @ 2021-03-25 07:54 君莫笑我十年游 阅读(241) 评论(0) 推荐(0) 编辑
摘要:竟然报错了,按照提示,输入命令: 根据提示所知,haproxy.cfg这个配置文件有问题,ok,检查了好一番,然后发现配置文件缩进方式需要严格保持一致,所以这个文件我统一缩进格式改为Tab作为缩进之后, 根据提示知道,文件格式已经没有问题了,是在绑定socket的时候出错了。 为了确定是否文件格式还 阅读全文
posted @ 2021-03-15 00:49 君莫笑我十年游 阅读(716) 评论(0) 推荐(0) 编辑
摘要:# Redis 配置文件示例 # 注意单位: 当需要配置内存大小时, 可能需要指定像1k,5GB,4M等常见格式 # # 1k => 1000 bytes # 1kb => 1024 bytes # 1m => 1000000 bytes # 1mb => 1024*1024 bytes # 1g 阅读全文
posted @ 2021-03-12 11:14 君莫笑我十年游 阅读(92) 评论(0) 推荐(0) 编辑
摘要:Redis 互联网架构的演变历程 第1阶段 数据访问量不大,简单的架构即可搞定! 第2阶段 数据访问量大,使用缓存技术来缓解数据库的压力。 不同的业务访问不同的数据库 第3阶段 主从读写分离。 之前的缓存确实能够缓解数据库的压力,但是写和读都集中在一个数据库上,压力又来了。 一个数据库负责写,一个数 阅读全文
posted @ 2021-03-10 18:00 君莫笑我十年游 阅读(388) 评论(0) 推荐(0) 编辑
摘要:Zookeeper概述 Zookeeper是一个开源的分布式(多台服务器干一件事)的,为分布式应用提供协调服务的Apache项目。在大数据技术生态圈中,zookeeper(动物管理员),Hadoop(大象),Hive(蜜蜂),Pig(猪)等技术。 工作机制 Zookeeper从设计模式角度来理解:是 阅读全文
posted @ 2021-03-05 23:10 君莫笑我十年游 阅读(499) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示