分布式搜索引擎面试题(二)
1.说一下es的分布式架构原理/es是如何实现分布式的核心思想就是在多台机器上启动多个es进程实例,组成了一个es集群。创建一个index,index包含多个shard,每个shard都是一个最小工作单元,每个shard存储部分数据。一个shard的数据实际是有多个备份,就是说每个shard都有一个
Spring Security 实战干货:实现自定义退出登录
1.前言上一篇对SpringSecurity所有内置的Filter进行了介绍。今天我们来实战如何安全退出应用程序。2.我们使用SpringSecurity登录后都做了什么这个问题我们必须搞清楚!一般登录后,服务端会给用户发一个凭证。常见有以下的两种:基于Session客户端会存cookie来保存一个
不掌握这些内置Filter 你就学不会 Spring Security
1.前言上一文我们使用SpringSecurity实现了各种登录聚合的场面。其中我们是通过在UsernamePasswordAuthenticationFilter之前一个自定义的过滤器实现的。我怎么知道自定义过滤器要加在UsernamePasswordAuthenticationFilter之前。
Kafka -- 初体验
一、概念Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。对于像Hadoop的一样的日志数据和离线分析系统
Spring Boot 2 实战:使用 @Condition 注解来根据条件注入 Bean
1.前言我们经常会有根据条件来加载不同的接口。比如你查询目录下文件列表,Windows下你会用CMD的dir命令,而Linux下你会使用ls命令。熟悉SpringBoot自动配置的也知道SpringBoot能根据不同的实际情况启用不同的配置。这就是@Conditional注解在发挥作用。该注解指定了
spring-boot-starter-grpc 不同序列化方式性能测试及选型
spring-boot-starter-grpc内置序列化方式说明sofa-hessian(默认)Github地址:https://github.com/alipay/sofa-hessian基本说明:Hessian是一个性能较优且兼容性较好的二进制序列化协议。SOFA-Hessian基于原生Hes
Spring Boot 2 实战:使用 Spring Boot Admin 监控平台
1.前言生产上对Web应用的监控是十分必要的。我们可以近乎实时来对应用的健康、性能等其他指标进行监控来及时应对一些突发情况。避免一些故障的发生。对于SpringBoot应用来说我们可以通过一个轻量级的监控工具SpringBootAdmin(SBA)来进行监控。2.SpringBootAdminSpr
Java面试通关要点汇总集之核心篇参考答案
核心篇数据存储MySQL索引使用的注意事项1.索引不会包含有NULL的列只要列中包含有NULL值,都将不会被包含在索引中,复合索引中只要有一列含有NULL值,那么这一列对于此符合索引就是无效的。2.使用短索引对串列进行索引,如果可以就应该指定一个前缀长度。例如,如果有一个char(255)的列,如果
Spring Boot 2 实战:结合 Docker 容器化
1.前言Docker是啥?好处是啥?什么现在如果作为一名开发你还不知道甚至没有用过我都感觉你落伍了。Docker是一种虚拟化的容器技术,目的为了打造持续集成、版本控制、可移植性、隔离性和安全性的应用集成。这都是官话。其实我认为最简单的理解就是Docker能给你的应用打造一套隔离的应用环境。只要能跑d
Redis(一)-- 基础
一、Redis简介Redis是完全开源免费的,是一个高性能的key-value数据库。Redis与其他key-value缓存产品有以下三个特点:Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。Redis不仅仅支持简单的key-value类型的数据,同时还提
Spring Security 实战干货:玩转自定义登录
1.前言前面的关于SpringSecurity相关的文章只是一个预热。为了接下来更好的实战,如果你错过了请从SpringSecurity实战系列开始。安全访问的第一步就是认证(Authentication),认证的第一步就是登录。今天我们要通过对SpringSecurity的自定义,来设计一个可扩展
Spring Security 实战干货:自定义配置类入口WebSecurityConfigurerAdapter
1.前言今天我们要进一步的的学习如何自定义配置SpringSecurity我们已经多次提到了WebSecurityConfigurerAdapter,而且我们知道SpringBoot中的自动配置实际上是通过自动配置包下的SecurityAutoConfiguration总配置类上导入的SpringB
分布式搜索引擎面试题(一)
1.Lucene是什么?Lucene是一套用于全文检索和搜索的开放源代码程序库。实际上lucene的功能很单一,说到底,就是你给它若干个字符串,然后它为你提供一个全文搜索服务,告诉你你要搜索的关键词出现在哪里。2.全文检索是什么?全文检索首先将要查询的目标文档中的词提取出来,组成索引,通过查询索引达
Spring Security 实战干货:路径Uri中的 Ant 风格
1.前言我们经常在读到一些文章会遇到uri支持Ant风格,而且这个东西在SpringMVC和SpringSecurity中经常被提及。这到底是什么呢?今天我们来学习了解一下。这对我们学习SpringMVC和SpringSecurity十分必要。2.Ant风格说白了Ant风格就是一种路径匹配表达式。主
分布式ID生成总结
1.数据库自增id新建一个公共库,库里面新建一个序列表,主键id自增,每次请求增加数据都往这个表中插入数据,然后获取到id,然后使用即可。优点:方便简单缺点:单库生成自增id,高并发下,会有瓶颈适用场景:并发很低,几百/s,不会出现性能瓶颈2.UUID优点:本地生成,不基于任何第三方缺点:太长,作为
Spring源码(三)-Context的创建核心逻辑(下)
由于该篇文章较多,所以就拆分为了上下两篇,接上面完成了beanFactory的信息处理,接下来是bean的相关定义的处理。1、BEANDEFINITION获取完beanFactory的之后,代码涉及到了一些bean的定义,接下来看beanDefination的定义。1、BeanDefinition设
JDBC 规范回顾
JDBC是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。java提供了jdbc的接口规范,对应数据库厂商依照规范进行驱动类库开发,提供给开发者。应用程序与数据以jdbc桥接的方式进行交互,任何基于JDBC的ORM框架都是对JDBC
Spring Boot 2 实战:使用 Undertow 来替代Tomcat
1.Undertow简介Undertow是一个采用Java开发的灵活的高性能Web服务器,提供包括阻塞和基于NIO的非堵塞机制。Undertow是红帽公司的开源产品,是Wildfly默认的Web服务器。Undertow提供一个基础的架构用来构建Web服务器,这是一个完全为嵌入式设计的项目,提供易用的
使用Cloud Toolkit部署SpringBoot项目到服务器
由于我们经常发布项目到测试服,在测试服上调试一些本地无法调试的东西,所以出现了各种打包,然后上传、启动,时间都耗费在这无聊的事情上面了,偶然在网上看到IntelliJIDEA有CloudToolkit这个插件,安装了一下,打包、上传、启动一条龙搞定,下面介绍一下使用CloudToolkit部署Spr
Spring Security 实战干货:如何保护用户密码
1.前言上一文(https://www.felord.cn)我们对SpringSecurity中的重要用户信息主体UserDetails进行了探讨。中间例子我们使用了明文密码,规则是通过对密码明文添加{noop}前缀。那么本节将对SpringSecurity中的密码编码进行一些探讨。2.不推荐使用m