- 博客(7)
- 收藏
- 关注
原创 实现单点登录
单点登录是一种 **身份验证** 和 **授权** 的机制,目标就是用户只需要登录一次,就可以访问多个相关的独立系统或者应用。比如说当前用户登录业务站点A,借助单点登录服务就可以无缝登录业务站点B。单点登录服务需要实现 3个功能:**登录**、**登出** 和 **状态的校验**。
2025-04-02 23:15:48
812
原创 如何设计一个高并发系统
如何设计一个高并发系统首先要清楚什么是高并发系统也就是在 **短时间** 内同时有 **大量用户** 请求访问系统,需要系统能够 **快速、稳定到地响应** 这些请求。提取出来关键字就是:**高性能**(快速地响应)、**高可用**(能够支撑大量的用户同时涌入系统进行正常使用)想设计这样一个系统,可以分为六个关键步骤:系统拆分、缓存加速、MQ异步/削峰、数据分离、读写分离和服务监控。
2025-03-26 20:41:21
857
原创 高并发场景下:如何保证消息只被消费一次
即使不考虑高并发场景下,也需要保证消息只被消费一次,或者说是多次消费同一条消息的结果,需要与消费一次的结果保持一致,要保证消息只被消费一次,首先要保证消息不会丢失要理解消息为什么会丢失有三方面内容:首先是生产者发送消息到消息队列的过程中可能丢失其次是消息队列将消息磁化到硬盘上的过程有可能丢失第三个场景在消费者拉取到了消息队列里面的消息进行消费的过程也可能丢失消息丢失的原因:产生消息的一般是我们的业务服务器,消息队列一般会单独部署在一个单独的服务器上面,两者之间通过是通过。
2025-03-03 22:23:25
518
原创 如何设置MySQL 分布式架构主键ID,为什么不能使用自增ID和UUID做主键,使用雪花算法有什么优缺点?
如何设置MySQL 分布式架构主键ID,为什么不能使用自增ID和UUID做主键,使用雪花算法有什么优缺点?
2025-03-02 18:39:43
514
转载 反转链表
反转链表输入一个链表,反转链表后,输出新链表的表头。public class Solution { public ListNode ReverseList(ListNode head) { if(head==null) return null; //head为当前节点,如果当前节点为空的话,那就什么也不做,直接返回null; ListNode pre = null; ListNode next
2020-09-22 16:36:18
170
原创 判断输入是否是包含双引号的字符串
判断输入是否是包含双引号的字符串public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String input = scanner.nextLine(); if(input.length()<2){ System.out.println("false"); //如果字符串的长度小于2,则输出错误 }else if(input.ch
2020-09-20 21:14:52
2015
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅