java
文章平均质量分 85
Albertliuc
这个作者很懒,什么都没留下…
展开
-
kafka中topic、partition、broker、consumerGroup、consumer之间的关系、区别及存在意义
topic:逻辑概念,用于联系Producer 和 Consumer的message生产和消费。Producer 生产的消息放入一个topic中,由Consumer通过对同一个topic的订阅进行消费broker:物理资源,一般一个broker指底层的一台物理服务器。partition:逻辑分区存储,用于将topic在不同的物理资源上进行逻辑存储。实际Producer 放入topic的消息,会存入不同broker上的partition中。因此partition可以理解为最细I粒度的topic。.......原创 2022-08-27 13:23:11 · 4875 阅读 · 1 评论 -
Spring Security的十一个拦截器
处理form登录的过滤器,与form登录有关的所有操作都是在这里进行的,登陆时判断用户名密码是否有效,有效的话就跳转到成功页面。转载 2022-08-25 19:46:01 · 3062 阅读 · 0 评论 -
基于elk的springboot web日志收集存储方案
web系统的日志按照价值排序分类controller层的接口访问日志(debug日志)自定义包下的其他日志(debug日志)全局日志① 全局错误日志② 部分组件的debug日志③ 部分组件的Info日志一般来讲,1和2的价值最大,2可基于实际业务情况,进一步划分,如component目录下日志,service层日志等。版本:7.6.2安装前部署部署后Logstash安装版本:7.6.2部署前修改配置文件logstash.conf部署部署后kibana版本:7.6.2部署部署后导入依赖原创 2022-08-23 11:18:03 · 1172 阅读 · 0 评论 -
[多登录页]Spring boot集成Spring security及JWT实现多页面(多种登录方式)前后端分离登录鉴权
我的这篇文章详细描述了如何使用Spring boot集成Spring security及JWT实现单一登录页面前后端分离登录鉴权。但是在服务设计中,经常有多端登录的需求。比如一套系统一般分为后台管理系统,和前台系统。更细致区分,可能前台还分为不同登录端,比如移动端和PC端。这时,不同的系统就需要不同的登录鉴权体系。比如admin的登录鉴权无论是颁发的token还是使用的用户存储表,都与user前台的数据不同。这就要求我们在使用Spring security的时候,具备提供多套登录鉴权认证体系的能力。....原创 2022-08-23 09:55:51 · 1783 阅读 · 4 评论 -
[单一登录页]Spring boot集成Spring security及JWT实现单一登录页面前后端分离登录鉴权
网上对于spring security的介绍非常杂乱一搜要么就是xml的配置方式,不符合springboot的配置方式要么是基于模板引擎做页面跳转,但实际项目中,很少会让后端实现页面跳转逻辑,更多的是返回json由前段根据结果进行页面跳转逻辑判断所以如果有以下需求,可以参考本文方案Spring boot集成Spring security及JWT使用JWT token替换Spring security token鉴权前后端分离项目,不基于后端实现跳转逻辑,只需要后端返回校验结果json。原创 2022-08-19 16:16:07 · 349 阅读 · 0 评论 -
springboot 2.7集成swagger 3
springboot集成swagger2技术比较成熟,基本不挑版本。网上技术文章一找一大堆,不在此赘述。但是sprngboot 2.6.x以上版本在集成swagger 3的时候,会报错误网上关于此问题的解决,有各种各样的方案,但实际实践起来非常麻烦。比如这种方案在网上说的比较多,但实际上,应用效果并不佳。解决此问题,降版本的方案我就不说了,如果确实需要使用sprngboot 2.6.x以上版本在集成swagger 3的兄弟,请往下看。原创 2022-08-19 15:37:27 · 5166 阅读 · 1 评论 -
从分布式架构,到数据一致性,再到分布式事务原理及解决方案(一文搞通分布式)
数据一致性的问题,是搭建任何微服务及分布式系统都必须提前考虑的问题。原本以为微服务系统及分布式系统已经应用如此普遍,从理论到实践的讲解应该是已经烂大街才对。但是历经一周,查阅了无数篇文献资料发现,网上文献无外乎二种,一类是照抄论文定义,强行解释。此类文献还好,至少有理可循。另一类二手文献,直接不分青红皂白加以解释,实际解释效果前后矛盾百出。在这其中,不乏有部分精品文件,但也都死较为片面的阐述了数据一致性的部分内容,尚没有将数据一致性结合不同架构统一起来做完整的介绍。............原创 2022-07-04 22:01:10 · 999 阅读 · 1 评论 -
登录鉴权方案中,session、token、cookie三者的区别及选择
目前web常用的登录鉴权方案主要有3种,分别是session、token、cookie,每种方案都有其特定应用场景和局限性,本文主要针对几种方案的使用特点简单做一个对比分析。阅读本文,首先需要对以上三者的概念和基本原理有基础了解,如不然,建议先详细了解一下上述三种方案的实现原理。另除了上述三种方案外,localStroage作为前端的存储方式之一,实际可以简单理解为一个小型前端key-value数据库,由于不直接参与前后端交互且不影响登录鉴权,不在本文讨论范围内。...原创 2022-08-16 20:57:18 · 3234 阅读 · 0 评论 -
@NotNull注解放在实体类或者Controller层不生效解决方案
在日常开发过程中,我们会写一些注解于加在java的实体类属性字段上,或者放到controller层的方法参数中,在进请求或请求的时候会根据字段的注解进对应的校验,简化校验相关的代码。当校验不通过时,会返回对应的message描述例1:注解写在Controller层的接口参数中例2:注解写在实体中。...转载 2022-08-15 11:41:14 · 902 阅读 · 0 评论 -
Springboot中,VieResolver和MessageConverter的关系
最近学习spring mvc,看到了ContentNegotiatingViewResolver 和 spring mvc的Content Negotiating,于是想不通viewResolver 和HttpMessageConverter 的适用范围。看到了下面这篇文章。之前一直在用@ResponseBody注解的方式进行开发,在看书的时候又看到了ContentNegotiatingViewResolver,顿时就疑惑了,这两个东西的功能不是重复了吗?...原创 2022-08-09 14:23:05 · 148 阅读 · 0 评论 -
java Comparator 和 Comparable 区别
两种方法各有优劣。用Comparable简单,只要实现Comparable接口的对象直接就成为一个可以比较的对象,但是需要修改源代码,用Comparator的好处是不需要修改源代码,而是另外实现一个比较器,当某个自定义的对象需要作比较的时候,把比较器和对象一起传递过去就可以比大小了,并且在Comparator里面用户可以自己实现复杂的可以通用的逻辑,使其可以匹配一些比较简单的对象,那样就可以节省很多重复劳动了。...转载 2022-07-18 16:32:37 · 171 阅读 · 0 评论 -
vo、dto、bo、do、po的概念理解以及与controller、service、dao层的对应关系
项目中真的有必要定义吗?按照理论上来讲如果项目比较小,是一个简单的MVC项目,又是单兵作战,我不建议使用,直接用POJO负责各个层来传输就好,因为这种项目的“目的地”是快速完成。而我们更多的时候,是持续迭代的团队协作项目,这个时候我们就建议用,而且团队内要达成共识,形成一个标准规范。目的是提升项目的可扩展性、可维护性与可阅读性。其实要不要用这么多o,关键问题在于关注controller、service、dao这些层间数据有没有变化。比如vo传进来,放进service直接拆成po,那就没有dto什么事。...原创 2022-07-17 17:00:52 · 4962 阅读 · 0 评论