摘要: 本文介绍 CAP、BASE理论的正确理解、Paxos 算法如何保证一致性及死循环问题、ZAB 协议中原子广播及崩溃恢复以及 Raft 算法的动态演示。 阅读全文
posted @ 2023-05-12 10:31 王二蛋! 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 本文会以 mybatis 为例,通过对比 mybatis-spring 和 mybatis-spring-boot-starter 代码示例,了解 Starter 的作用。并对 mybatis-spring-boot-starter 进行简单剖析,了解 Starter 原理。 阅读全文
posted @ 2023-04-20 17:20 王二蛋! 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 什么是限流?限流 限流 就是限制流量。在高并发、高流量的场景中我们需要把限流做好,防止突发的流量、恶意的攻击等大量请求的冲击带来不必要的影响,保证业务系统的正常运行。 如何限流?首先我们需要知道限流的基本思路,其次需要知道限流的几种实现方式(这里我们叫限流算法)。 限流的基本思路就是在一个单位时间内流量超过某个阈值后被拒绝或限制。 目前常见的限流算法有计数器(固定时间窗口)算法、滑动时间窗口算法、漏斗算法、令牌算法。 阅读全文
posted @ 2023-04-14 16:58 王二蛋! 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 本文记录下SpringBoot集成Dubbo启用gRPC协议,以及与原生 gRPC 在代码编写过程中的区别。 阅读全文
posted @ 2023-04-12 11:22 王二蛋! 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 本文记录一下遇到maven依赖版本冲突后的排查过程说明以及问题原因说明 阅读全文
posted @ 2023-04-06 18:12 王二蛋! 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 我相信每一位开发同学多多少少都想参与或负责一个高用户、高访问、高并发的系统吧😁。一来可以增加自己实际的项目经验,有应对高并发场景的解决方案,二来是有个高并发的项目经验无疑是自己简历的一个大大的加分项。但是奈何很多人都没有机会可以参与这样的项目,本文从以下几点介绍一下设计一个高流量高并发的系统需要经历哪些步骤以及考虑哪些因素( 文章中的不足之处还请大佬们多多指点 \color{red}{文章中的不足之处还请大佬们多多指点} 文章中的不足之处还请大佬们多多指点)。 阅读全文
posted @ 2023-03-28 15:38 王二蛋! 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 最近在看某个开源项目代码并准备参与其中,代码过了一遍后发现多个自定义的配置文件用来装载业务配置代替数据库查询,直接响应给前端,这里简单记录一下实现过程。 我们通常在SpringBoot项目中用配置文件属性时使用@ConfigurationProperties或@Value默认配置文件的属性值,也就是application.yml或者application.properties文件中的属性值。 但是不能全都往默认配置文件里堆的,本文利用@PropertySource和@ConfigurationProperties注解引用其它配置文件的属性值。 阅读全文
posted @ 2023-03-21 15:36 王二蛋! 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 在复杂的分布式系统中,往往需要对大量的数据进行唯一标识,比如在对一个订单表进行了分库分表操作,这时候数据库的自增ID显然不能作为某个订单的唯一标识。除此之外还有其他分布式场景对分布式ID的一些要求: 趋势递增:由于多数RDBMS使用B-tree的数据结构来存储索引数据,在主键的选择上面我们应该尽量使用有序的主键保证写入性能。 单调递增:保证下一个ID一定大于上一个ID,例如排序需求。 信息安全:如果ID是连续的,恶意用户的扒取工作就非常容易做了;如果是订单号就更危险了,可以直接知道我们的单量。所以在一些应用场景下,会需要ID无规则、不规则。 就不同的场景及要求,市面诞生了很多分布式ID解决方案。本文针对多个分布式ID解决方案进行介绍,包括其优缺点、使用场景及代码示例。 阅读全文
posted @ 2023-02-27 17:12 王二蛋! 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 在古时候,人们用牛来拉重物,当一头牛拉不动一根圆木时,人们从来没有考虑过要想方设法培育出一种更强壮的牛。同理,我们也不该想方设法打造什么超级计算机,而应该千方百计综合利用更多计算机来解决问题。 阅读全文
posted @ 2023-02-19 20:40 王二蛋! 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 文章目录 环境搭建Nacos搭建Seata搭建 项目搭建业务背景架构业务表创建服务创建业务服务聚合服务 测试验证注意事项代码仓库 环境搭建 Nacos搭建 最新版本快速搭建 使用Mysql模式 Nacos直接启动即可。控制台默认账号密码是nacos/nacos,Mysql账户密码有两个 root/r 阅读全文
posted @ 2023-02-10 15:24 王二蛋! 阅读(57) 评论(0) 推荐(0) 编辑