自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 JVM性能调优-调优介绍1

垃圾收集器(GC)会自动管理应用程序的动态内存分配请求。

2024-04-22 23:34:03 981

原创 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

原创 RocketMQ客户端如何在集群中找到正确的节点?

客户端如何寻找brocker,nameserver挂了怎么办?

2023-03-11 11:43:31 163

原创 Kafka和RocketMQ的消息复制实现的差异点在哪?

业务上对高性能、高可用、高一致性(CAP)选择的不同,会形成一种截然不同的消息复制方案。rocketmq,更倾向于把所有消息写入同一个文件,这样不管是复制还是消费的时候都比较快速和简单,特点是同主从的方式来进行集群的搭建。kafka则是,把消息文件按topic来存储,这样的好处是更加易读,可配置性也更强。而且集群的搭建方式是通过副本来构建集群的。目前他们都是需要通过一个中间件来进行高可用的主节点选举,只不过一个rockemq用的是自己的namesr服务,kafka用的是zk。

2023-03-11 10:50:22 118

原创 RocketMQ Producer源码分析:消息生产的实现过程

生产者的一些核心概念,便于后续深入分析

2023-03-11 10:08:47 91

原创 消息队列是如何实现高性能IO

首先我们先要了解,一个高性能的IO它必须是能提供快速读写的能力。那要提供这个能力,我们需要解决什么问题?

2023-03-04 11:13:15 118

原创 消息队列基础篇

最近因为工作需要,重新温习了消息队列,打算从它的设计原理开始梳理,再深入到实现方案和源码,最后再结合实际案例分析该使用哪种消息队列。

2023-02-26 23:11:18 68

转载 消息队列kafka-概述

Apache Kafka是Apache软件基金会的开源的流处理平台,同时也是基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域应用。

2023-02-26 21:34:17 56

原创 java开发中的小技巧

1、当需要返回一个TR对象里的其中一个属性时,不需要重新写一个sql,只需按主键查询出该记录,然后返回对应的属性即可;

2013-12-09 11:41:45 439

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除