微服务解决方案
文章平均质量分 88
1.分布式锁
2.分布式事务
3.分布式MQ消息
4.分布式缓存
5.单点登录
6.分库分表
7.服务调用
8.nacos
9.xxl-job
10.skywalking
11.雪花id
.....................等等
..................等解决方案
我叫果冻
一名行走的代码狗
展开
-
API文档自动生成
【代码】API文档自动生成。原创 2023-11-02 10:35:16 · 178 阅读 · 0 评论 -
消息队列解决方案
什么是消息队列消息队列是在消息的传输过程中保存消息的容器,简单点理解就是传递消息的队列,具备先进先出的特点,一般用于异步、解耦、流量 削锋等问题,实现高性能、高可用、高扩展的架构主要概念Producer:消息生产者,负责产生和发送消息到 Broker。Broker:消息处理中心,负责消息存储、确认、重试等,一般其中会包含多个 Queue。Consumer:消息消费者,负责从 Broker中获取消息,并进行相应处理应用场景。原创 2023-08-30 10:19:10 · 163 阅读 · 0 评论 -
redis缓存雪崩、穿透、击穿解决方案
关于缓存异常,我们常见的有三个问题:缓存雪崩、缓存击穿、缓存穿透。这三个问题一旦发生,会导致大量请求直接落到数据库层面。如果请求的并发量很大,会影响数据库的运行,严重的会导致数据库宕机。为了避免缓存异常带来的损失,我们需要了解每种异常的原因以及解决方案,提高系统的可靠性总结原创 2023-08-29 00:28:03 · 388 阅读 · 0 评论 -
限流解决方案
如果我们的接口设置了时间窗口内访问上限是20,那么当时间到第六秒的时候,这个时间窗口内的计数总和就变成了10,因为1秒的格子已经退出了时间窗口,因此在第六秒内可以接收的访问量就是20-10=10个;我们将窗口内的时间划分为五个小格子,每个格子代表1秒钟,同时这个格子还包含一个计数器,用来计算在当前时间内访问的请求数量。打个比方,如果当前时间窗口只有两秒,而访问请求全部集中在第一秒的时候,当时间向后滑动一秒后,当前窗口的计数量将发生较大的变化,拉长时间窗口可以降低这种情况的发生概率。原创 2023-08-25 14:51:05 · 193 阅读 · 0 评论 -
分布式定时任务
13、路由策略:执行器集群部署时提供丰富的路由策略,包括:第一个、最后一个、轮询、随机、一致性HASH、最不经常使用、最近最久未使用、故障转移、忙碌转移等;14、分片广播任务:执行器集群部署时,任务路由策略选择"分片广播"情况下,一次任务调度将会广播触发集群中所有执行器执行一次任务,可根据分片参数开发分片任务;7、触发策略:提供丰富的任务触发策略,包括:Cron触发、固定间隔触发、固定延时触发、API(事件)触发、人工触发、父子任务触发;以及调度报表,如调度日期分布图,调度成功分布图等;原创 2023-08-25 14:29:56 · 594 阅读 · 0 评论 -
缓存解决方案
本地缓存: 指的是在应用中的缓存组件,其最大的优点是应用和cache是在同一个进程内部,请求缓存非常快速,没有过多的网络开销等,在单应用部需要集群支持或者集群情况下各节点无需互相通知的场景下使用本地缓存较合适,同时,它的缺点也是应为缓存跟应用程序耦合,多个应用程序无法直接的共享缓存,各个应用或集群的各节点都需要维护自己的单独缓存,对内存是一种浪费。分布式缓存:指的是与应用分离的缓存组件或服务,其最大的优点是自身就是一个独立的应用,与本地应用隔离,多个应用可直接的共享缓存。原创 2023-08-23 15:16:48 · 1106 阅读 · 0 评论 -
分库分表解决方案
由用户方配置的分片策略则更加灵活,常用的使用行表达式配置分片策略,它采用Groovy表达式表示,如: t_user_$->{u_id % 8} 表示t_user 表根据u_id模8,而分成8张表,表名称为 t_user_0 到 t_user_7。包含分片键和分片算法,由于分片算法的独立性,将其独立抽离。真正可用于分片操作的是分片键 + 分片算法,也 就是分片策略。分成如下三张表:t_order_1,t_order_2,t_order_3。将采用范围分片算 法,复合分片算法用于分片键有多个复杂情况。原创 2023-08-22 22:55:29 · 127 阅读 · 0 评论 -
分布式事务
面向微服务架构的高性能、易用的分布式事务解决方案概念事务协调员(TC):维护全局和分支事务的状态,驱动全局提交或回滚。事务管理器(TM):定义全局事务的范围:开始全局事务、提交或回滚全局事务。资源管理器(RM):管理分支事务工作的资源,与 TC 通信以注册分支事务和报告分支事务的状态,并驱动分支事务的提交或回滚。生命周期TM 要求 TC 开始一项新的全局交易。TC 生成一个代表全局事务的 XID。XID 通过微服务的调用链传播。原创 2023-08-22 15:06:26 · 559 阅读 · 0 评论 -
分布式ID
3.工作机器id 占用10bit,其中高位5bit是数据中心ID,低位5bit是工作节点ID,做多可以容纳1024个节点。4.序列号 占用12bit,每个节点每毫秒0开始不断累加,最多可以累加到4095,一共可以产生4096个ID。这个对雪花算法进行改造,其实我们一般系统,要不那么高的并发,可以减少位数,这样就能达到前端19位以内的条件。2.时间戳 占用41bit,精确到毫秒,总共可以容纳约69年的时间。第一位 占用1bit,其值始终是0,没有实际作用。分布式系统,用什么做为主键呢?原创 2023-08-20 00:04:45 · 639 阅读 · 0 评论 -
分布式锁解决方案
但是这个过程中一旦发生。这时客户端2 来尝试加锁的时候,在新的master节点上也能加锁,此时就会导致多个客户端对同一个分布式锁完成了加锁。如果把房子比作资源,通俗的来讲,我无论在那个城市生活,这个房子我先租的,再没有退房的前提下,别人都不能用。缺陷在哨兵模式或者主从模式下,如果 master实例宕机的时候,可能导致多个客户端同时完成加锁。判断该锁是否存在,存在则返回锁的租约时间,不存在设置过期时间,锁加1(就是锁重入)master节点宕机,主备切换,slave节点从变为了 master节点。原创 2023-08-19 21:32:42 · 430 阅读 · 0 评论