摘要: 高并发架构设计可以从接入层、应用层、数据层考虑不同的设计实现系统高吞吐、低延迟、高可用性。 接入层 负载均衡: 使用Apigee、Spring Cloud Gateway 进行 API 请求路由、流量分发。 限流: 使用RateLimiter进行限流控制 滑动窗口限流:Redis + Lua 实现  阅读全文
posted @ 2025-06-18 17:08 colorfulworld 阅读(0) 评论(0) 推荐(0)
摘要: TCP 在了解tcp三次握手和四次挥手前,先了解下如下TCP报文 SYN: 用于建立连接。发送方发送SYN到接收方,用于向服务端请求建立连接 ACK:接收方成功收到发送发发送消息 FIN:用于终止TCP连接标志,表示发送方已经没有数据要发送了,希望能够关闭这个 TCP 连接。 tcp 三次握手 如上 阅读全文
posted @ 2025-06-16 18:04 colorfulworld 阅读(14) 评论(0) 推荐(0)
摘要: 1 SQL优化 1.1 避免使用select * from table where id=1; select * 不会走覆盖索引,会有大量回表操作,从而导致查询效率低下 1.2 索引优化 使用explain判断查询是否走索引:explain select name from tableName wh 阅读全文
posted @ 2025-06-16 14:18 colorfulworld 阅读(2) 评论(0) 推荐(0)
摘要: Spring注入方式: 1.属性注入 @Service public class TestService(){ ... } @RestController public void TestController(){ @Autowired private TestService testService 阅读全文
posted @ 2025-06-14 15:05 colorfulworld 阅读(5) 评论(0) 推荐(0)
摘要: 不建议使用delete删除数据原因 1.软删除 所谓的软删除是指在表中添加一个例如isactive的字段,isactive=0表不可用,isactive=1表这条数据有效。所以可以通过update这个字段值而不是直接删除数据 2. 性能问题--行级锁 Delete/update/insert/sel 阅读全文
posted @ 2025-06-14 09:14 colorfulworld 阅读(1) 评论(0) 推荐(0)
摘要: kafka等mq基本组成元素是 Producer Broker Consumer三部分,所以针对消息不丢失、不重复也是从这三方面来解答 消息丢失测试策略 1 Producer Kafka Producer发送完消息时,通过ack来控制消息的确认机制。 ack=0 此时producer发送完消息就不管 阅读全文
posted @ 2025-06-12 15:28 colorfulworld 阅读(17) 评论(0) 推荐(0)
摘要: 1. spring.factories 这种bean创建方式通常用于自动装配环境配置相关的类,以及加载starter 2. @Configuration+@ComponentScan @Configuratin就是我们的环境配置类 一般来说,如果我们的配置类都在SpringBoot启动类路径下,如果 阅读全文
posted @ 2025-06-11 11:39 colorfulworld 阅读(5) 评论(0) 推荐(0)
摘要: 定义 Redis事务是指把所有redis指令包起来,然后(exec期间)一次性顺序性完成这些reids指令,在整个reids指令执行期间不允许其他其他客户但指令插队 Redis事务特性 打包性:提交的命令集合会当成一个整体去执行 顺序性:执行顺序会按照指令放入包中的顺序执行 隔离性:Redis命令包 阅读全文
posted @ 2025-06-09 14:41 colorfulworld 阅读(2) 评论(0) 推荐(0)
摘要: 高可用性定义 高可用性是指通过尽量缩短日常维护操作和突发的系统崩溃所导致系统停机时间,以提高系统和应用的可用性。 高可用性一般来说有两个含义:数据尽量不丢失,保证服务尽可能可用。AOF(快照)、RDB(操作日志)数据持久化保证数据尽量不丢失;多节点方式保证某个节点出问题其他节点可以正常服务 高可用性 阅读全文
posted @ 2025-06-08 17:52 colorfulworld 阅读(2) 评论(0) 推荐(0)
摘要: 缓存穿透 缓存穿透是指查询一个不存在的数据,数据库也不会直接写入缓存,从而每次都会访问数据库的问题 缓存穿透解决方案: 方案一:缓存空数据 将查询为null的结果写回到缓存中 比如:{key:1,value:null} 方案二:布隆过滤器 布隆过滤器(Bloom Filter)是一种数据结构,它包含 阅读全文
posted @ 2025-06-07 08:42 colorfulworld 阅读(5) 评论(0) 推荐(0)