-
Idea操作ElasticSearch
摘要:前提: 1、ES服务成功启动 2、node.js成功启动 一、创建索引库 1、目录展示 2、导入依赖 <dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId> <version>5
阅读全文
-
ElasticSearch集群
摘要:一、ElasticSearch集群 ES集群是一个 P2P类型(使用 gossip 协议)的分布式系统,除了集群状态管理以外,其他所有的请求都可以发送到集群内任意一台节点上,这个节点可以自己找到需要转发给哪些节点,并且直接跟这些节点通信。所以,从网络架构及服务配置上来说,构建集群所需要的配置极其简单
阅读全文
-
IK 分词器和ElasticSearch集成使用
摘要:一、IK分词器简介 IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。从2006年12月推出1.0版开始,IKAnalyzer已经推出 了3个大版本。最初,它是以开源项目Lucene为应用主体的,结合词典分词和文法分析算法的中文分词组件。新版本的IKAnalyzer3.
阅读全文
-
ElasticSearch相关概念与客户端操作
摘要:一、Elasticsearch概述 Elasticsearch是面向文档(document oriented)的,这意味着它可以存储整个对象或文档(document)。然而它不仅仅是存储,还会索引(index)每个文档的内容使之可以被搜索。在Elasticsearch中,你可以对文档(而非成行成列的
阅读全文
-
ElasticSearch简介与安装
摘要:一、ElasticSearch简介 1、什么是ElasticSearch Elaticsearch,简称为es, es是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。es也使用Java开发并使用Lucene作为其核心
阅读全文
-
全文检索Lucene框架---查询索引
摘要:一、 Lucene索引库查询 对要搜索的信息创建Query查询对象,Lucene会根据Query查询对象生成最终的查询语法,类似关系数据库Sql语法一样Lucene也有自己的查询语法,比如:“name:lucene”表示查询Field的name为“lucene”的文档信息。 可通过两种方法创建查询对
阅读全文
-
全文检索Lucene框架---索引维护
摘要:一、索引库的添加 1、Field域的属性 是否分析:是否对域的内容进行分词处理。前提是我们要对域的内容进行查询。 是否索引:将Field分析后的词或整个Field值进行索引,只有索引方可搜索到。 比如:商品名称、商品简介分析后进行索引,订单号、身份证号不用分析但也要索引,这些将来都要作为查询条件。
阅读全文
-
全文检索Lucene框架---分词器
摘要:一、分词器作用 在创建索引的时候需要用法哦分词器,在使用字符串搜索的时候也会用到分词器,并且这两个地方要使用同一个分词器,否则可能会搜索不出来结果; 分词器的作用是把一段文本中的词按规则取出所包含的所有词,对应的是Analyzer类,这是一个抽象类,切分词的具体规则是由子类实现的,所有对于不同语言的
阅读全文
-
全文检索框架---Lucene
摘要:一、什么是全文检索 1、数据分类 我们生活中的数据总体分为两种:结构化数据和非结构化数据。 结构化数据:指具有固定格式或有限长度的数据,如数据库,元数据等。 非结构化数据:指不定长或无固定格式的数据,如邮件,word文档等磁盘上的文件 2、结构化数据搜索 常见的结构化数据也就是数据库中的数据。在数据
阅读全文
-
MySQL读写分离---Mycat
摘要:一、什么是读写分离 在数据库集群架构中,让主库负责处理事务性查询,而从库只负责处理select查询,让两者分工明确达到提高数据库整体读写性能。当然,主数据库另外一个功能就是负责将事务性查询导致的数据变更同步到从库中,也就是写操作。 二、读写分离的好处 1)分摊服务器压力,提高机器的系统处理效率 读写
阅读全文
-
MySQL优化---主从复制
摘要:一、主从复制概念 影响MySQL-A数据库的操作,在数据库执行后,都会写入本地的日志系统A中。假设,实时的将变化了的日志系统中的数据库事件操作,在MYSQL-A的3306端口,通过网络发给MYSQL-B。MYSQL-B收到后,写入本地日志系统B,然后一条条的将数据库事件在数据库中完成。 那么,MYS
阅读全文
-
MySQL性能优化---优化方案
摘要:1.对查询进行优化,应尽量避免全表查询,首先考虑在where及order by涉及的列上建立索引; 2.应尽量避免where子句中对字段进行null值判断,否则将导致引擎放弃使用索引而进行全表扫描; 创建一个普通索引: #普通索引 CREATE INDEX accountname ON accoun
阅读全文
-
MySQL性能优化---索引
摘要:一、什么是索引 索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何
阅读全文
-
MySQL性能优化---定位慢查询
摘要:一、定位到查询慢的SQL语句 ##查询慢查询时间,mysql默认10s SHOW VARIABLES LIKE 'long_query_time'; ##查询慢查询的次数 SHOW STATUS LIKE 'slow_queries'; 二、怎么定位慢查询语句,启动慢查询日志 1、查询是否把索引的S
阅读全文
-
MySQL性能优化
摘要:一、 为什么要进行数据库优化 1、 避免网站页面出现访问错误 由于数据库连接timeout产生页面5xx错误 由于慢查询造成页面无法加载 由于阻塞造成数据无法提交 2、 增加数据库的稳定性 很多数据库问题都是由于低效的查询引起的 3、 优化用户体验 流畅页面的访问速度 良好的网站功能体验 二、mys
阅读全文
-
RocketMQ重试机制和消息幂等
摘要:一、重试机制 由于MQ经常处于复杂的分布式系统中,考虑网络波动,服务宕机,程序异常因素,很有可能出现消息发送或者消费失败的问题。因此,消息的重试就是所有MQ中间件必须考虑到的一个关键点。如果没有消息重试,就可能产生消息丢失的问题,可能对系统产生很大的影响。所以,秉承宁可多发消息,也不可丢失消息的原则
阅读全文
-
Java操作RocketMQ
摘要:一、目录展示 二、导入依赖 <dependency> <groupId>com.alibaba.rocketmq</groupId> <artifactId>rocketmq-client</artifactId> <version>3.0.10</version> </dependency> <d
阅读全文
-
Linux安装RocketMQ
摘要:一、RocketMQ环境 准备两台虚拟机,分别为master01 和master02 192.168.33.135 192.168.33.136 二、安装JDK(两台虚拟机相同步骤) 1、 检查当前虚拟机环境有没有JDK rpm -qa|grep java (如若有便卸载 rpm -e --node
阅读全文
-
RocketMQ概述
摘要:一、RocketMQ概述 RocketMQ 是一款分布式、队列模型的消息中间件,具有以下特点: 能够保证严格的消息顺序 提供丰富的消息拉取模式 高效的订阅者水平扩展能力 实时的消息订阅机制 亿级消息堆积能力 二、RocketMQ包含的组件 NameServer:单点,供Producer和Consum
阅读全文
-
SpringBoot整合ActiveMQ和开启持久化
摘要:一、点对点 1、提供者目录展示 2、导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <!-- spring
阅读全文
-
ActiveMQ持久化机制和JMS可靠消息
摘要:1、ActiveMQ持久化机制 1.1 JDBC将数据持久化到数据库 1.2 AMQ生成日志文件 1.3 KahaDB:本次磁盘生成数据文件(默认) 1.4 LevelDB:谷歌K/V数据库 1.5 默认不持久化,正常的开发模式当中,是需要持久化的 DeliveryMode.NON_PERSISTE
阅读全文
-
ActiveMQ
摘要:一、MQ产品的分类 1、RabbitMQ 是使用Erlang编写的一个开源的消息队列,本身支持很多的协议:AMQP,XMPP, SMTP, STOMP,也正是如此,使的它变的非常重量级,更适合于企业级的开发。同时实现了一个经纪人(Broker)构架,这意味着消息在发送给客户端时先在中心队列排队。对路
阅读全文
-
Sesssion共享问题
摘要:Session共享解决方案: 1.nginx或者haproxy做的负载均衡,用nginx做的负载均衡可以添加ip_hash这个配置;用haproxy做的负载均衡可以用balance source这个配置,从而使用一个IP的请求发到同一个服务器; 2.利用数据库同步session; 3.利用cooki
阅读全文
-
Nginx之keepalived高可用工具
摘要:1、创建两台虚拟机,分别为主机和从机,区别两台虚拟机的IP地址 2、 将keepalived上传到linux系统当中 3、 cd /usr/local目录 4、 tar -zxvf keepalived-1.2.18.tar.gz 5、 cd keepalived-1.2.18目录 6、 yum i
阅读全文
-
Linux安装Nginx详细步骤
摘要:1、创建两台虚拟机,分别为主机和从机,区别两台虚拟机的IP地址 2、将Nginx素材内容上传到/usr/local目录(pcre,zlib,openssl,nginx) 3、安装pcre库 3.1 cd到/usr/local目录 3.2 tar -zxvf pcre-8.36.tar.gz 解压 3
阅读全文
-
Nginx防止DDOS流量攻击
摘要:1、什么是DDOS攻击 DDoS攻击是Distributed Denial of Service的缩写,翻译成中文就是分布式拒绝服务。即不法黑客组织通过控制服务器等资源,发动对包括国家骨干网络、重要网络设施、政企或个人网站在内的互联网上任一目标的攻击,致使目标服务器断网,最终停止提供服务。 2、攻击
阅读全文
-
Nginx防盗链
摘要:利用Nginx进行来源地址拦截,只要来源地址符合原资源地址,则可以访问,否则返回403状态码或者非法图标 1、目录展示 2、A项目下jsp页面 <%-- Created by IntelliJ IDEA. User: zheng Date: 2020/2/10 Time: 18:08 To chan
阅读全文
-
Nginx解决跨域与宕机问题
摘要:一、宕机问题解决 准备两台Tomcat,当其中一台Tomcat挂掉(服务器宕机),便找另一台服务器继续运行 1、模拟宕机问题 2、修改nginx.conf文件重启Nginx 3、正常响应 4、再次模拟宕机问题便会找到下一个存活服务器继续运行 二、跨域问题解决 Nginx解决跨域问题,实现方案: ww
阅读全文
-
Nginx负载均衡
摘要:一、什么是负载均衡 负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。负载均衡,英文名称为 Load Balance,其意思就是分摊到多个操作单元上进行执行,例如 Web 服务器、FTP 服务器、企
阅读全文
-
Nginx简介和反向代理
摘要:一、什么是 nginx? nginx 是一款高性能的 http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师 Igor Sysoev 所开发,官方测试 nginx 能够支支撑 5 万并发链接,并且 cpu、内存等资源消耗却非常低,运行非常稳定,所以现在很多知
阅读全文
-
防止表单重复提交
摘要:一、防止表单重复提交一 网络延迟,在网络延迟时间内,频繁的提交表单 只能提交一次,监控表单的提交事件,通过一个boolean类型的变量来区分已经点击过还是没有点击,如果已经点击过,表单就不提交,没有点击过再提交 1、目录展示 2、导入依赖 3、form.jsp <%-- Created by Int
阅读全文
-
跨域问题解决方案
摘要:跨域问题5种解决方案: 1、设置请求头 2、JSONP 3、HTTPClient 4、SpringCloud zuul网关 5、Nginx 注:此博客先模拟前3种,后续博客模拟4.5 一、解决方案一 设置请求头 设置请求头,在请求的资源中设置Access-Control-Allow-Origin请求
阅读全文
-
HttpClient案例模拟Get请求和Post请求
摘要:模拟发送HTTP请求: 1、采用客户端 PostMan,RestClient 2、采用代码方式实现模拟HTTP请求(HttpClient) 3、HTTPClient模拟Get请求 ①目录展示 ②导入HttpClient依赖 ③GetClient package com.zn; import org.
阅读全文
-
Referer防盗链
摘要:一、目录展示 分为AProject和BProject两个项目进行测试 二、修改c:\windows\system32\drivers\etc下的hosts文件 三、aindex.jsp 四、bindex.jsp 五、web.xml <?xml version="1.0" encoding="UTF-
阅读全文
-
重定向机制
摘要:一、目录展示 二、aindex.jsp 三、AServlet package com.zn; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet
阅读全文
-
HTTP协议、时间戳
摘要:1、什么是HTTP协议 超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。 HTTP是一个客户端终端(用户)和服务器端(网站)请求和应答的标准(TCP)。通过使用网页浏
阅读全文
|