02 2020 档案

摘要:创建maven项目,导入依赖 <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> </dependency> <dependency> <groupId>org.el 阅读全文
posted @ 2020-02-28 16:04 怀鑫 阅读(1069) 评论(0) 推荐(0)
摘要:环境选择: 1.方案一:准备三台机器 每一台机器一个节点 2.方案二:准备一台机器 启动三个节点,用端口号区分即可 3.ES启动依赖于JVM环境 每一个节点默认使用2G内存,可以找到配置文件jvm配置文件修改内存 4.搭建ES集群时,保证每一个节点都是没有数据的 环境搭建: 步骤一:准备一个ES节点 阅读全文
posted @ 2020-02-27 16:38 怀鑫 阅读(281) 评论(0) 推荐(0)
摘要:1. 查看标准分析器的分词结果 http://127.0.0.1:9200/_analyze?analyzer=standard&text=标准分析器 都分成了单个汉字,不好用 2.第三方IKAnalyzer分析器 2.1 ES集成IK分析器 步骤一:将IK分析器压缩包解压 步骤二:将解压后的文件夹 阅读全文
posted @ 2020-02-27 16:08 怀鑫 阅读(978) 评论(0) 推荐(0)
摘要:1.利用客户端操作Document文档数据 1.1 创建一个文档(创建数据的过程,向表中去添加数据) 请求方式:Post 请求地址:es所在IP:9200/索引库/Type/文档ID(可给可不给,代表唯一标识,如果不给则会生成默认的字符串) 请求体 { "id":2, "title":"Lucene 阅读全文
posted @ 2020-02-27 14:12 怀鑫 阅读(1133) 评论(0) 推荐(0)
摘要:1.ES是什么 1.1 ES被称为全文检索服务器,底层基于Lucene,支持集群,时时检索效率高,利用RestFulAPI将LuceneAPI操作进行封装,实施方案更加简单 2.ES安装和配置 2.1 ES解压完毕,进入到bin目录运行.bat脚本文件,依赖于JDK,启动成功后通过9200端口进行访 阅读全文
posted @ 2020-02-27 01:32 怀鑫 阅读(284) 评论(0) 推荐(0)
摘要:Query子类: 1.TermQuery:根据域和关键词进行搜索 private IndexSearcher indexSearcher; private IndexReader indexReader; @Before public void getSearcher() throws IOExce 阅读全文
posted @ 2020-02-25 19:55 怀鑫 阅读(241) 评论(0) 推荐(0)
摘要:1. Field域属性分类 添加文档的时候,我们文档当中包含多个域,那么域的类型是我们自定义的,上个案例使用的TextField域,那么这个域他会自动分词,然后存储 我们要根据数据类型和数据的用途合理的选择合适的域 Field类: StringField(fieldName,fieldValue,S 阅读全文
posted @ 2020-02-25 19:27 怀鑫 阅读(1049) 评论(0) 推荐(0)
摘要:1.分析器 所有分析器最终继承的类都是Analyzer 1.1 默认标准分析器:StandardAnalyzer 在我们创建索引的时候,我们使用到了IndexWriterConfig对象,在我们创建索引的过程当中,会经历分析文档的步骤,就是分词的步骤,默认采用的标准分析器自动分词 1.1.1 查看分 阅读全文
posted @ 2020-02-25 18:31 怀鑫 阅读(1396) 评论(0) 推荐(0)
摘要:一.什么是全文检索? 就是在检索数据,数据的分类: 在计算机当中,比如说存在磁盘的文本文档,HTML页面,Word文档等等...... 1.结构化数据 格式固定,长度固定,数据类型固定等等,我们称之为结构化数据,比如说数据库中的数据 2.非结构化数据 word文档,HTML文件,pdf文档,文本文档 阅读全文
posted @ 2020-02-24 18:55 怀鑫 阅读(1179) 评论(0) 推荐(0)
摘要:1.MySQL高可用 主从复制 一主多备 多主多备 读写分离 减少IO开销,防止阻塞等等 2.主从复制参考 https://www.cnblogs.com/chx9832/p/12342626.html 3.MySQL读写分离 Mycat 1.Mycat暴露给外界访问ip地址,mycat在那一台机器 阅读全文
posted @ 2020-02-21 20:04 怀鑫 阅读(199) 评论(0) 推荐(0)
摘要:1.MySQL高可用 主从复制 一主多备 多主多备 2.MySQL主从复制 主机所有写的数据都会生成二进制SQL日志执行文件,从机只需要将SQL日志执行文件获取到,然后进行数据同步即可 2.1 MySQL环境搭建 2.1.1 连接到虚拟机,在/usr/local下新建一个文件夹为mysql,将tar 阅读全文
posted @ 2020-02-21 19:10 怀鑫 阅读(186) 评论(0) 推荐(0)
摘要:1.索引 1.1 数据查询缓存和缓冲区 ##再次查询会不会比第一次快,为什么会比第一次查询快? ##1.默认query_cahce是开启的,如果查询缓存开启了,第一次查询数据的时候,读取的是数据文件,第二次会执行查询缓存,所以第二次查询会很快 ##如果数据更新,需要重新再缓存 SHOW GLOBAL 阅读全文
posted @ 2020-02-20 12:29 怀鑫 阅读(149) 评论(0) 推荐(0)
摘要:1.数据库优化概述 为什么要进行数据库优化 1、 避免网站页面出现访问错误 由于数据库连接timeout产生页面5xx错误 由于慢查询造成页面无法加载 由于阻塞造成数据无法提交 2、 增加数据库的稳定性 很多数据库问题都是由于低效的查询引起的 3、 优化用户体验 流畅页面的访问速度 良好的网站功能体 阅读全文
posted @ 2020-02-19 19:26 怀鑫 阅读(178) 评论(0) 推荐(0)
摘要:一.造成重复消费的原因 在于回馈机制。正常情况下,消费者在消费消息时候,消费完毕后,会发送一个ACK确认信息给消息队列(broker),消息队列(broker)就知道该消息被消费了,就会将该消息从消息队列中删除。 不同的消息队列发送的确认信息形式不同,例如RabbitMQ是发送一个ACK确认消息,R 阅读全文
posted @ 2020-02-18 13:32 怀鑫 阅读(9418) 评论(0) 推荐(0)
摘要:生产者: /** * 生产者 */ public class Provider { public static void main(String[] args) throws MQClientException, InterruptedException, RemotingException, MQ 阅读全文
posted @ 2020-02-18 12:45 怀鑫 阅读(1763) 评论(0) 推荐(0)
摘要:1.安装JDK 1.1 检查当前虚拟机环境有没有JDK rpm -qa|grep java 1.2 卸载 rpm -e --nodeps xxxxxx(自己的openjdk) 1.3 安装JDK 在/usr/local新建一个java文件夹,然后将tar包上传到文件夹下 切换到/usr/local/ 阅读全文
posted @ 2020-02-17 13:40 怀鑫 阅读(955) 评论(0) 推荐(0)
摘要:1.消费者在消费数据的过程当中报错,那么就会自动重试 2.如果消费者报错,会自动重试,但是数据已经真实拿到,可能会造成重复消费,幂等性问题 思路,每一次监听到数据后,获取到消息的全局ID,每一条相同的消息,ID都是相同的 启动类添加 public static String MESSAGEID; / 阅读全文
posted @ 2020-02-15 21:44 怀鑫 阅读(240) 评论(0) 推荐(0)
摘要:1.开启队列持久化 只需要添加三行代码 jmsTemplate.setDeliveryMode(2); jmsTemplate.setExplicitQosEnabled(true); jmsTemplate.setDeliveryPersistent(true); 2. 开启主题持久化,启动类添加 阅读全文
posted @ 2020-02-15 21:33 怀鑫 阅读(1367) 评论(0) 推荐(0)
摘要:队列方式 1. 导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <!-- spring boot web支 阅读全文
posted @ 2020-02-15 20:58 怀鑫 阅读(461) 评论(0) 推荐(0)
摘要:JMS消息可靠机制 ActiveMQ消息签收机制: 客戶端成功接收一条消息的标志是一条消息被签收,成功应答。 消息的签收情形分两种: 1、带事务的session 如果session带有事务,并且事务成功提交,则消息被自动签收。如果事务回滚,则消息会被再次传送。 2、不带事务的session 不带事务 阅读全文
posted @ 2020-02-15 20:36 怀鑫 阅读(199) 评论(0) 推荐(0)
摘要:步骤一:创建一个数据库 步骤二:配置activemq.xml配置文件 1.在persistenceAdapter加入如下配置 <!--createTablesOnStartup 启动是否创建表 第一次为true 后续为false--> <jdbcPersistenceAdapter dataSour 阅读全文
posted @ 2020-02-14 17:37 怀鑫 阅读(1233) 评论(0) 推荐(0)
摘要:1.消息中间件:采用异步通讯防止,支持点对点以及发布订阅模式,可以解决高并发问题 传统调用接口,可能发生阻塞,重复提交,超时等等问题,可以利用消息中间件发送异步通讯请求 点对点:生产者 消息队列 消费者 发布订阅:生产者 主题 消费者1 消费者N 2.windows安装ActiveMQ 2.1 解压 阅读全文
posted @ 2020-02-13 16:57 怀鑫 阅读(522) 评论(0) 推荐(0)
摘要:1.Nginx通过负载均衡IP地址固定绑定,解决Session共享 upstream note.java.itcast.cn{ ip_hash; server localhost:8080 weight=1; server localhost:8081 weight=1; } server { li 阅读全文
posted @ 2020-02-12 13:36 怀鑫 阅读(995) 评论(0) 推荐(0)
摘要:1. 保证Redis启动 2. 导入依赖 SpringBoot+Spring-Session+Redis <!--spring boot 与redis应用基本环境配置 --> <dependency> <groupId>org.springframework.boot</groupId> <arti 阅读全文
posted @ 2020-02-12 13:34 怀鑫 阅读(590) 评论(0) 推荐(0)
摘要:1.准备俩台虚拟机,一台主机,一台备机 我这里模拟的是 主机ip: 192.168.42.66 masternginx 备机ip: 192.168.42.77 slavenginx 虚拟ip: 192.168.42.11 具体步骤: 2.1 将keepalived上传到linux系统当中 2.2 c 阅读全文
posted @ 2020-02-11 19:52 怀鑫 阅读(377) 评论(0) 推荐(0)
摘要:在 Centos 下,yum 源不提供 nginx 的安装,可以通过切换 yum 源的方法获取安装。也可 以通过直接下载安装包的方法,以下命令均需 root 权限执行: 首先安装必要的库(nginx 中 gzip 模块需要 zlib 库,rewrite 模块需要 pcre 库,ssl 功能 需要 o 阅读全文
posted @ 2020-02-11 18:48 怀鑫 阅读(146) 评论(0) 推荐(0)
摘要:DDOS流量攻击:频繁的发送请求,造成宽带占用,其他客户端无法访问 Nginx解决DDOS流量攻击,利用limit_req_zone限制请求次数 limit_conn_zone限制连接次数 #限制IP的每秒请求次数 limit_req_zone $binary_remote_addr zone=on 阅读全文
posted @ 2020-02-10 18:16 怀鑫 阅读(469) 评论(0) 推荐(0)
摘要:利用Nginx进行来源地址拦截,只要来源地址符合原资源地址,则可以访问,否则返回403状态码或返回固定地址 server { listen 80; server_name fdl.chx.com; #charset koi8-r; #access_log logs/host.access.log m 阅读全文
posted @ 2020-02-10 17:48 怀鑫 阅读(170) 评论(0) 推荐(0)
摘要:如果在b工程的页面直接发送ajax请求a时会发生跨域问题,那么解决方案为:将A和B同时代理到Nginx,由Nginx做请求路由,直接在B工程页面中直接访问Nginx即可 server { listen 80; server_name www.chx.com; #charset koi8-r; #ac 阅读全文
posted @ 2020-02-10 17:32 怀鑫 阅读(210) 评论(0) 推荐(0)
摘要:Nginx解决服务器宕机问题,Nginx配置服务器宕机策略,如果服务器宕机,会找下一台机器进行访问 配置nginx.cfg配置文件,在映射拦截地址中加入代理地址响应方案 location / { #秒为单位 proxy_connect_timeout 1; proxy_send_timeout 1; 阅读全文
posted @ 2020-02-10 17:24 怀鑫 阅读(1253) 评论(0) 推荐(0)
摘要:一.默认采用轮询机制,配置方式如下: upstream note.java.itcast.cn{ server localhost:8080; server localhost:8081; } server { listen 80; server_name note.java.itcast.cn; 阅读全文
posted @ 2020-02-07 20:39 怀鑫 阅读(119) 评论(0) 推荐(0)
摘要:反向代理的目的 : 不暴露真实IP地址,安全性更高 一. 修改c盘hosts文件(C:\Windows\System32\drivers\etc) 在文件末尾添加你的代理地址 二.修改nginx.conf配置文件 server { listen 80; server_name note.java.i 阅读全文
posted @ 2020-02-07 20:28 怀鑫 阅读(324) 评论(0) 推荐(0)
摘要:情况一:网络延迟,在网络延迟时间内,频繁的提交表单 解决方案: 只能提交一次,监控表单的提交事件,通过一个boolean类型的变量来区分已经点击过还是没有点击,如果已经点击过,表单就不提交,没有点击过再提交 //创建一个变量 false代表没有点击过,true代表已经点击过 var flag=fal 阅读全文
posted @ 2020-02-06 16:07 怀鑫 阅读(162) 评论(0) 推荐(0)
摘要:1.什么是跨域? 跨域:指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。 例如:a页面想获取b页面资源,如果a、b页面的协议、域名、端口、子域名不同,所进行的访问行动都是跨域的,而浏览器为了安全问题一般都限制了跨域访问,也就是不允许跨域 阅读全文
posted @ 2020-02-06 15:41 怀鑫 阅读(1585) 评论(0) 推荐(0)
摘要:一.模拟Get请求(无参) 首先导入HttpClient依赖 1 <dependency> 2 <groupId>org.apache.httpcomponents</groupId> 3 <artifactId>httpclient</artifactId> 4 <version>4.5.2</v 阅读全文
posted @ 2020-02-05 16:15 怀鑫 阅读(819) 评论(0) 推荐(0)
摘要:Java代码手段防止非法请求,思路如下: 1. 获取到当前请求的域名,如www.a.com 2. 获取到请求资源的上一个地址 3. 判断上一个地址是否为空,如果为空代表的是直接访问的资源,非法 还有一种情况就是B项目访问时上一个地址www.b.com/xxx 不是资源所在地址,非法 新建一个过滤器, 阅读全文
posted @ 2020-02-04 14:41 怀鑫 阅读(1373) 评论(0) 推荐(0)
摘要:一.时间戳 时间戳:版本更新,解决浏览器缓存,为了防止缓存,正常来说,加上时间戳后,这个请求会往服务器上发送一次请求。 当http协议为304的时候,代表是从本地缓存中读取的数据。所以,在正常的互联网公司,发布版本的时候,js、css后都会加上一个时间戳。 缓存:200 from memory ca 阅读全文
posted @ 2020-02-04 14:20 怀鑫 阅读(266) 评论(0) 推荐(0)
摘要:http长连接与短连接 HTTP协议与TCP/IP协议的关系 HTTP的长连接和短连接本质上是TCP长连接和短连接。HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议。IP协议主要解决网络路由和寻址问题,TCP协议主要解决如何在IP层之上可靠的传递数据包,使在网络上的另一端收到发端 阅读全文
posted @ 2020-02-04 14:07 怀鑫 阅读(137) 评论(0) 推荐(0)