- 博客(17)
- 收藏
- 关注
原创 JVM性能调优-01
在实际生产环境运行过程中,我们时不时会遇到,服务假死、接口无响应等服务器问题。这时我们通过grafana平台,可以看到cpu或者内存不断告警,是接口并发数过多,还是应用系统出现bug?我们没有那么多时间一一排查,这时我们唯一能做的就是赶紧重启让服务恢复正常。但回过头来,我们也会想,为什么突然会有这个问题,如果以后再发现我们要怎么排查呢?
2024-04-21 23:54:50 705 1
原创 接口认证的方案
**区别**:OpenID Connect不仅提供了OAuth 2.0的授权框架,还加入了用户身份信息(ID Token)的标准化,适用于现代移动和单页面应用的用户身份认证。- **区别**:JWT是无状态的,服务器不需要存储会话信息,非常适合分布式微服务架构。- **区别**:与会话认证不同,Token认证不需要服务器维持会话状态,更适合分布式系统和单页面应用(SPA)。- **区别**:OAuth提供了更细粒度的控制,允许第三方应用访问特定的资源,适用于API安全和第三方应用集成。
2024-04-08 23:49:40 493
原创 有的接口不需要认证,有的接口需要授权?
过滤器有很多,有时候,执行的顺序可能会影响你的功能,所以我们可以通过打印过滤器的顺序,来看下我们所处的位置。或者通过org.springframework.security.config.annotation.web.builders.FilterOrderRegistration 类来看所有过滤器的顺序。首先,Spring Security 对 Servlet 的支持是基于Servlet过滤器的,所以我们肯定要通过过滤器的改写来实现这个功能,下图是secuityFilterChain 所在的位置。
2024-03-18 22:50:09 384 1
原创 spring security 自定义认证
当用户提交凭据时接下来,身份验证被传递到 AuthenticationManager 以进行身份验证如果身份验证失败,则为“失败”如果身份验证成功,则为“成功”。如下我们只需要实现 UserDetailsService 接口,spring就会自动注入我们的认证方法(可以引入其他存储中间件做替换)@Service@Autowired@Override// 模拟jdbc获取用户信息// 设置登录角色。
2024-03-02 18:19:15 798
原创 spring-security
Spring Security是一个框架,致力于为Java应用程序提供身份验证和授权。像所有Spring项目一样,Spring Security的真正强大之处在于它可以轻松扩展以满足定制需求的能力。Spring Security是Spring采用 `AOP`思想,基于 `servlet过滤器`实现的安全框架。它提供了完善的认证机制和方法级的授权功能。Spring Security是一个功能强大且高度可定制的身份验证和访问控制框架。它是用于保护基于Spring的应用程序的事实上的标准。
2024-02-25 19:15:11 556 1
原创 web网站的安全控制
加密机制:加密是保护数据在传输和存储过程中安全性的核心技术。通过对数据进行加密,可以确保只有拥有解密密钥的授权用户可以访问和读取数据。常见的加密算法包括对称加密(如AES)和非对称加密(如RSA)。数字签名机制:数字签名用于验证数据的完整性和来源。通过使用私钥对数据进行签名,接收方可以使用公钥验证签名的有效性,从而确保数据在传输过程中没有被篡改,并且确实来自声称的发送方。身份认证机制:身份认证是确认用户或实体身份的过程。
2024-02-25 18:37:14 1035
原创 Pulsar的存储计算分离设计:全新的消息队列设计思路
由于技术的不断迭代和发展,现在很多企业的服务都上云了,很多基础服务也都由几个云服务大厂来提供。随着移动用户越来越多,每天产生的数据量也成指数级增加,这给计算和存储分离提供了很大的基础条件。对于计算节点的开发者来说,可以专注于计算业务逻辑开发,而不需要关注像数据一致性、数据可靠性、故障恢复和数据读写性能等等这些比较麻烦的存储问题,极大地降低了开发难度,提升了开发效率。而对于存储系统来说,它需要实现的功能就很简单,系统的开发者只需要专注于解决一件事就可以了,那就是“如何安全高效地存储数据?
2023-03-18 23:18:47 205
原创 MQTT协议:如何支持海量的在线IoT设备?
MQTT 就是专门为物联网设备设计的一套标准的消息队列通信协议。使用 MQTT 协议的 IoT 设备,可以连接到任何支持 MQTT 协议的消息队列上,进行通信。虽然 MQTT 和普通的消息队列相比,在消息模型、功能和网络结构上都是差不多的,但由于他们面对的使用场景是不一样的,所以,MQTT 和普通的消息队列相比,还是有很多区别的。我们看一下 MQTT 的使用场景有什么样的特点?
2023-03-18 22:56:05 1267
原创 Kafka的协调服务ZooKeeper
zk功能很多,但作为分布式服务的核心功能,我们希望它保持高可用,所以再使用的时候最有效的方法就是,仅让它做一件事情,而且是可用被降级的事情。比如它作为一个分布式协调中心节点,那它只在brocker坏掉的时候起作用用于选举就好,那它本身的一些高可用问题就会得到很大概率的下降。至于分布式锁,元数据存储这些我们可用通过别的缓存技术如redis来实现。
2023-03-11 21:30:58 150
原创 Kafka和RocketMQ的消息复制实现的差异点在哪?
业务上对高性能、高可用、高一致性(CAP)选择的不同,会形成一种截然不同的消息复制方案。rocketmq,更倾向于把所有消息写入同一个文件,这样不管是复制还是消费的时候都比较快速和简单,特点是同主从的方式来进行集群的搭建。kafka则是,把消息文件按topic来存储,这样的好处是更加易读,可配置性也更强。而且集群的搭建方式是通过副本来构建集群的。目前他们都是需要通过一个中间件来进行高可用的主节点选举,只不过一个rockemq用的是自己的namesr服务,kafka用的是zk。
2023-03-11 10:50:22 118
原创 消息队列基础篇
最近因为工作需要,重新温习了消息队列,打算从它的设计原理开始梳理,再深入到实现方案和源码,最后再结合实际案例分析该使用哪种消息队列。
2023-02-26 23:11:18 68
转载 消息队列kafka-概述
Apache Kafka是Apache软件基金会的开源的流处理平台,同时也是基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域应用。
2023-02-26 21:34:17 56
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人