02 2020 档案
kafka生产者
摘要:分区策略 1.分区原因 1.1 方便在集群中扩展,每个partition可以通过调整以适应它所在的机器,而一个topic又可以有多个partition组成,因此整个集群就可以适应任意大小的数据了; 1.2 可以提高并发,因为可以以partition为单位读写; 2.分区原则 将producer发送的 阅读全文
posted @ 2020-02-27 19:31 wnwn 阅读(224) 评论(0) 推荐(0)
Spring Data ElasticSearch 使用
摘要:什么是Spring Data Spring Data是一个用于简化数据库访问,并支持云服务的开源框架。其主要目标是使得对数据的访问变得方便快捷,并支持map-reduce框架和云计算数据服务。Spring Data可以极大的简化JPA的写法,可以在几乎不用写实现的情况下,实现对数据的访问和操作。除了 阅读全文
posted @ 2020-02-27 00:59 wnwn 阅读(497) 评论(1) 推荐(0)
ElasticSearch编程操作
摘要:1.创建工程,导入依赖 <dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId> <version>5.6.8</version> </dependency> <dependenc 阅读全文
posted @ 2020-02-26 22:06 wnwn 阅读(275) 评论(0) 推荐(0)
ElasticSearch集群-Windows
摘要:概述 ES集群是一个P2类型的分布式系统,除了集群状态管理以外,其他所有的请求都可以发送到集群内任意一台节点上,这个节点可以自己找到需要转发给哪些节点,并且直接跟这些节点通信。所以,从网络架构及服务配置上来说,构建集群需要的配置及其简单。在Elasticsearch2.0之前,无阻碍的网络下,所有配 阅读全文
posted @ 2020-02-26 17:41 wnwn 阅读(231) 评论(0) 推荐(0)
IK 分词器和ElasticSearch集成使用
摘要:标椎分词器效果测试 1.请求的url(请求方式是GET) http://localhost:9200/_analyze?analyzer=standard&pretty=true&text=我是程序员 2.实现效果 这样的分词效果不是我们所需要的; IK分词器简介 IKAnalyzer是一个开源的, 阅读全文
posted @ 2020-02-26 14:42 wnwn 阅读(339) 评论(0) 推荐(0)
ElasticSearch的客户端操作
摘要:实际开发中,主要由三种方式可以作为elasticsearch服务的客户端: 1.elasticsearch-head插件; 2.使用elasticsearch提供的Restful接口直接访问; 3.使用elasticsearch提供的API进行访问; 使用Postman工具进行Restful接口访问 阅读全文
posted @ 2020-02-26 12:30 wnwn 阅读(376) 评论(0) 推荐(0)
elasticsearch介绍
摘要:什么是Elaticsearch Elaticsearch,简称ES,ES是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储,检索数据;本身扩展性很好,可以扩展到上百万服务器,处理PB级别的数据。ES也使用java开发并使用Lucene作为其和核心来实现所有索引和搜索的功能,但是它的目的是通 阅读全文
posted @ 2020-02-25 18:30 wnwn 阅读(172) 评论(0) 推荐(0)
Windows-ElasticSearch安装与启动
摘要:步骤一:下载ES压缩包 ElasticSearch分为Linux和Window版本,基于我们主要学习的是ElasticSearch的Java客户端的使用,所以我们课程中使用的是安装较为简便的Window版本,项目上线后,公司的运维人员会安装Linux版的ES供我们连接使用。 ElasticSearc 阅读全文
posted @ 2020-02-25 17:01 wnwn 阅读(203) 评论(0) 推荐(0)
Lucene-索引库查询
摘要:概述 对要搜索的信息创建Query查询对象,Lucene会根据Query查询对象生成最终的查询语法,类似关系数据库SQL语法一样,Lucene也有自己的查询语法; 可通过两种方法创建查询对象: 1.使用Lucene提供Query子类; 2.使用QueryParse解析查询表达式 TermQuery查 阅读全文
posted @ 2020-02-25 14:36 wnwn 阅读(163) 评论(0) 推荐(0)
Lucene-索引库的维护
摘要:Field域的属性 是否分析:是否对域的内容进行分词处理,前提是我们要对域的内容进行查询; 是否索引:将Field分析后的词或整个Field值进行索引,只有索引方可搜索到; 比如:商品名称,商品简介分析后进行索引;订单号和身份证号不同进行分析但也要索引,这些将来都要作为查询条件; 是否存储:将Fie 阅读全文
posted @ 2020-02-25 14:14 wnwn 阅读(138) 评论(0) 推荐(0)
Lucene-分词器
摘要:分词器作用 在创建索引的时候需要用法哦分词器,在使用字符串搜索的时候也会用到分词器,并且这两个地方要使用同一个分词器,否则可能会搜索不出来结果; 分词器的作用是把一段文本中的词按规则取出所包含的所有词,对应的是Analyzer类,这是一个抽象类,切分词的具体规则是由子类实现的,所有对于不同语言的规则 阅读全文
posted @ 2020-02-25 13:12 wnwn 阅读(216) 评论(0) 推荐(0)
Lucene-全文检索
摘要:全文检索 数据分类 结构化数据:指具有固定格式或有限长度的数据,如数据库,元数据等。针对结构化数据的搜索,列如对数据库的搜索,可以使用SQL语句。再如对元数据的搜索,列如Windows中对文件名,类型和修改时间进行搜索等; 非结构化数据:指不定长或没有固定格式的数据,例如邮件,word文档等。对非结 阅读全文
posted @ 2020-02-24 14:39 wnwn 阅读(223) 评论(0) 推荐(0)
mysql读写分离
摘要:什么是读写分离 在数据库集群架构中,让主库负责处理事务性查询,而从库只负责处理select查询,让两者分工明确达到提高数据库整体读写性能。当然,主数据库另外一个功能就是负责将事务性查询导致的数据变更同步到从库中,也就是写操作。 读写分离的好处 1)分摊服务器压力,提高机器的系统处理效率 读写分离适用 阅读全文
posted @ 2020-02-21 21:11 wnwn 阅读(234) 评论(0) 推荐(0)
mysql主从复制(一主一从)
摘要:概念 MySQL之间数据复制的基础是二进制日志文件(binary log file)。一台MySQL数据库一旦启用二进制日志后,其作为master,它的数据库中所有操作都会以“事件”的方式记录在二进制日志中,其他数据库作为slave通过一个I/O线程与主服务器保持通信,并监控master的二进制日志 阅读全文
posted @ 2020-02-21 14:44 wnwn 阅读(171) 评论(0) 推荐(0)
mysql数据库引擎
摘要:概述 数据库存储引擎是数据库底层软件组织,数据库管理系统使用数据引擎进行创建,查询,更新和删除数据。不同的存储引擎提供不同的存储机制,索引技巧,锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。mysql的核心就是存储引擎 InnoDB存 阅读全文
posted @ 2020-02-20 16:08 wnwn 阅读(193) 评论(0) 推荐(0)
SQL优化
摘要:SQL优化方案 1.对查询进行优化,应尽量避免全表查询,首先考虑在where及order by涉及的列上建立索引; 2.应尽量避免where子句中对字段进行null值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: 为accountname列添加索引 #普通索引 CREATE INDEX acc 阅读全文
posted @ 2020-02-20 15:00 wnwn 阅读(132) 评论(0) 推荐(0)
索引
摘要:什么是索引 索引用来快速地寻找那些具有特定值的记录,所欲mysql索引都以B-树的形式保存的。如果没有索引,执行查询时mysql必须从一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,mysql无需扫描任何记录 阅读全文
posted @ 2020-02-20 14:06 wnwn 阅读(163) 评论(0) 推荐(0)
kafka工作流程及文件存储
摘要:kafka工作流程 kafka中消息以topic进行分类,生产者生产消息,消费者消费消息,都是面向topic的。 topic是逻辑上的概念,而partition是物理上的概念,每个partition对应一个log文件,该log文件中存储的就是producer生产的数据,producer生产的数据会被 阅读全文
posted @ 2020-02-19 17:39 wnwn 阅读(204) 评论(0) 推荐(0)
mysql5.5数据库优化--定位慢查询
摘要:什么是慢查询 mysql记录下查询超过指定时间的语句,被称为“慢查询”; 启动慢查询日志 1.查询是否把索引的SQL记录到慢查询日志中 SHOW VARIABLES LIKE 'log_queries_%' 2.将查询到的值若为OFF,表示没有记录,就开启记录 SET GLOBAL log_quer 阅读全文
posted @ 2020-02-19 14:48 wnwn 阅读(160) 评论(0) 推荐(0)
mysql数据库优化--分库分表
摘要:mysql如何调试 1.数据库设计三范式 2.数据库分表分库——水平分割,垂直分割 3.定位慢查询 4.存储过程 mysql如何实现优化 1.数据库设计要合理(3F) 2.添加索引(普通索引,主键索引,唯一索引,全文索引) 3分表分库技术(取模分表,水平分割,垂直分割) 4.读写分离(读一个写一个减 阅读全文
posted @ 2020-02-19 13:18 wnwn 阅读(425) 评论(0) 推荐(0)
Linux安装zookeeper+kafka集群
摘要:安装zookeeper 步骤一:使用【rz】命令将zookeeper压缩包上传到【/opt/module】目录下 步骤二:使用【tar -zxvf zookeeper-3.4.6.tar.gz】命令解压文件 步骤三:进入【conf】目录,将【zoo_sample.cfg】文件复制为zoo.cfg文件 阅读全文
posted @ 2020-02-18 20:26 wnwn 阅读(373) 评论(0) 推荐(0)
RocketMQ解决幂等性问题
摘要:在什么情况下会发生RocketMQ的消息重复消费 1.当系统的调用链路比较长的时候,比如系统A调用系统B,系统B再把消息发送到RocketMQ中,在系统A调用系统B的时候,如果系统B处理成功,但是迟迟没有将调用成功的结果返回给系统A的时候,系统A就会尝试重新发起请求给系统B,造成系统B重复处理,发起 阅读全文
posted @ 2020-02-18 14:39 wnwn 阅读(284) 评论(0) 推荐(0)
RocketMQ重试机制
摘要:重试机制 由于MQ经常处于复杂的分布式系统中,考虑网络波动,服务宕机,程序异常因素,很有可能出现消息发送或者消费失败的问题。因此,消息的重试就是所有MQ中间件必须考虑到的一个关键点。如果没有消息重试,就可能产生消息丢失的问题,可能对系统产生很大的影响。所以,秉承宁可多发消息,也不可丢失消息的原则,大 阅读全文
posted @ 2020-02-18 13:28 wnwn 阅读(298) 评论(0) 推荐(0)
java操作RocketMQ
摘要:创建工程(Producer和Consumer) 导入依赖 <dependency> <groupId>com.alibaba.rocketmq</groupId> <artifactId>rocketmq-client</artifactId> <version>3.0.10</version> < 阅读全文
posted @ 2020-02-17 15:05 wnwn 阅读(309) 评论(0) 推荐(0)
Linux 安装RocketMQ
摘要:安装JDK 1.使用【rpm -qa | grep jdk】命令查看目前版本的JDK; 2.使用【rpm -e --nodeps】删除当前系统自带的JDK 2.1 【rpm -e --nodeps java-1.7.0-openjdk-1.7.0.191-2.6.15.5.el7.x86_64】 2 阅读全文
posted @ 2020-02-17 14:23 wnwn 阅读(198) 评论(0) 推荐(0)
RocketMQ介绍
摘要:RocketMQ是什么 是一个队列模型的消息中间件,具有高性能,高可靠,高实时,分布式特点; Producer,Consumer,队列都可以分布式; Producer向一些队列轮流发送消息,队列集合称为Topic,Consumer如果做广播消费,则一个consumer实例消费这个Topic对应的素有 阅读全文
posted @ 2020-02-17 13:35 wnwn 阅读(248) 评论(0) 推荐(0)
SpringBoot整合ActiveMQ实现持久化
摘要:点对点(P2P) 结构 创建生产者和消费者两个springboot工程 导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-activemq</artifactId 阅读全文
posted @ 2020-02-14 19:36 wnwn 阅读(804) 评论(0) 推荐(0)
SpringBoot整合ActiveMQ
摘要:点对点(P2P) 创建springboot项目 导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-activemq</artifactId> </dependen 阅读全文
posted @ 2020-02-14 16:55 wnwn 阅读(202) 评论(0) 推荐(0)
JMS消息的可靠性机制
摘要:ActiveMQ消息签收机制: 客户端成功接收一条消息的标志是一条消息被签收,成功应答。 消息的签收请求分为两种: 1.带事务的session 如果session带有事务,并且事务成功提交,则消息被自动签收。如果事务回滚,则消息会被再次传送。 2.不带事务的session 不带事务的session的 阅读全文
posted @ 2020-02-14 15:30 wnwn 阅读(219) 评论(0) 推荐(0)
ActiveMQ持久化机制
摘要:为什么要进行持久化 为了避免MQ服务器意外宕机导致数据丢失,需要做到重启后没有被消费的数据依然在消息队列中。 ActiveMQ的持久化机制包含: 1. JDBC:持久化到数据库 2. AMQ:日志文件 3. KahaBD:AMQ基础上改进,默认选择 4. LevelDB:谷歌K/V数据库 注:Act 阅读全文
posted @ 2020-02-14 14:22 wnwn 阅读(322) 评论(0) 推荐(0)
ActiveMQ的使用
摘要:实现点对点通讯模式 1.导入依赖 <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-core</artifactId> <version>5.7.0</version> </dependency> 2.创 阅读全文
posted @ 2020-02-13 14:55 wnwn 阅读(196) 评论(0) 推荐(0)
ActiveMQ解释
摘要:MQ简介: MQ全称为Message Queue,消息队列(MQ)是一种应用程序的通信方法。应用程序通过写和检索出入列的针对应用程序的数据(消息)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技 阅读全文
posted @ 2020-02-13 13:33 wnwn 阅读(264) 评论(0) 推荐(0)
Linux CentOS安装Tomcat
摘要:安装JDK 1.使用【rpm -qa | grep jdk】命令查看目前版本的JDK; 2.使用【rpm -e --nodeps】删除当前系统自带的JDK 2.1 【rpm -e --nodeps java-1.7.0-openjdk-1.7.0.191-2.6.15.5.el7.x86_64】 2 阅读全文
posted @ 2020-02-12 15:30 wnwn 阅读(149) 评论(0) 推荐(0)
集群环境下session共享解决方案
摘要:概述 在搭建完集群环境后,不得不考虑的一个问题就是用户访问产生的session如何处理。比如集群中存在A,B两台服务器,用户在第一次访问网站时,nginx通过其负载均衡机制将用户请求转发到A服务器中,这是A服务器就是给用户创建一个Session。当用户第二次发送请求时,nginx将其负载均衡到B服务 阅读全文
posted @ 2020-02-12 12:13 wnwn 阅读(533) 评论(0) 推荐(0)
nginx使用Keepalived
摘要:什么是Keepalived Keepalived是一个免费开源的,用C编写的类似于layer3,4&7交换机制软件,具备我们平时说的第三层,第四层,第七层交换机的功能。主要提供loadbalancing(负载均衡)和high-avaliability(高可用)功能,负载均衡实现需要依赖inux的虚拟 阅读全文
posted @ 2020-02-11 16:36 wnwn 阅读(154) 评论(0) 推荐(0)
Linux安装nginx
摘要:安装Nginx相关步骤 1.安装pcre库 1.1 cd到/usr/local目录 1.2 使用rz命令将本地压缩包拖到该目录下 【必须使用管理员用户登录,不然使用rz是上传不了文件的】 1.3 使用【tar -zxvf pcre-8.36.tar.gz】命令解压压缩包 tar -zxvf pcre 阅读全文
posted @ 2020-02-11 15:31 wnwn 阅读(201) 评论(0) 推荐(0)
nginx防止DDOS攻击
摘要:什么是DDOS攻击 DDoS攻击是Distributed Denial of Service的缩写,翻译成中文就是分布式拒绝服务。即不法黑客组织通过控制服务器等资源,发动对包括国家骨干网络、重要网络设施、政企或个人网站在内的互联网上任一目标的攻击,致使目标服务器断网,最终停止提供服务。 攻击手段 1 阅读全文
posted @ 2020-02-10 16:16 wnwn 阅读(283) 评论(0) 推荐(0)
nginx防盗链
摘要:概述 对于图片,B网站,如果想使用A网站中的图片,可以直接写上A网站图片的链接地址,或者将A网站的图片通过右键另存为的方式下载到本地,然后在页面上使用。如果A网站不想让B网站这样干,那么A网站可以采取防盗链的措施,如果使用防盗链,B网站想请求A网站所有需要的资源,通过URL的方式,获取的可能不是原来 阅读全文
posted @ 2020-02-10 15:40 wnwn 阅读(182) 评论(0) 推荐(0)
nginx解决跨域问题
摘要:什么是跨域 使用JS获取数据时,涉及到的两个URL只要协议,域名,端口有任何一个不同,都当做是不同的域,相互访问就会有跨域问题; 怎样使用nginx解决跨域问题 步骤一:创建两个工程AProject,BProject 步骤二:在A工程中创建servlet package com.wn; import 阅读全文
posted @ 2020-02-10 15:20 wnwn 阅读(784) 评论(0) 推荐(0)
nginx轮询宕机解决
摘要:nginx应对高并发的手段采用集群方法,如果一个服务域名背后的某个服务器发生了宕机,而此时又恰好轮询到了该服务器,那么就会发生长时间的等待,直到浏览器多次尝试后轮询到没有宕机的服务器才能完成一个服务,大大降低了服务器的效率和用户体验度,即相当于宕机的服务器白白占用了几次轮询尝试时间; 为了解决该问题 阅读全文
posted @ 2020-02-10 14:57 wnwn 阅读(2492) 评论(0) 推荐(0)
nginx实现动静分离
摘要:概述 动态页面与静态页面的区别 静态页面:当用户多次访问这个资源,资源的代码永远不会改变的资源; 动态页面:当用户多次访问这个资源,资源的源代码可能会发生改变; 什么是动静分离 动静分离是让网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源 阅读全文
posted @ 2020-02-08 20:29 wnwn 阅读(165) 评论(0) 推荐(0)
nginx实现负载均衡
摘要:什么是负载均衡: 当一台服务器的单位时间内的访问量越大时,服务器压力就越大,大到超过自身承受能力时,服务器就会崩溃。为了避免服务器崩溃,让用户有更好的体验,通过负载均衡的方式来分担服务器压力。 我们可以建立很多很多服务器,组成一个服务器集群,当用户访问网站时,先访问一个中间服务器,在让这个中间服务器 阅读全文
posted @ 2020-02-07 15:58 wnwn 阅读(149) 评论(0) 推荐(0)
nginx实现反向代理
摘要:Nginx概述 什么是nginx: nginx是由俄国人编写的十分轻量级的HTTP服务器,是一个高性能的HTTP和反向代理WEB服务器,同时也提供了IMAP/POP3/SMTP服务。 nginx应用场景: 1.http服务器 2.虚拟主机,可以实现在一台服务器虚拟出多个网站; 3.反向代理,负载均衡 阅读全文
posted @ 2020-02-07 14:55 wnwn 阅读(239) 评论(0) 推荐(0)
解决表单重复提交
摘要:为什么会出现表单重复提交问题 1.网络延迟的情况下用户多次点击提交按钮导致表单重复提交; 2.用户提交表单时,点击浏览器【刷新】按钮导致表单重复提交,就是把浏览器上次做的事情再做一次; 3.用户提交表单后,点击浏览器【后退】按钮回退到表单页面后进行再次提交; 表单重复提交会导致的问题 能够造成很多脏 阅读全文
posted @ 2020-02-06 15:39 wnwn 阅读(621) 评论(0) 推荐(0)
解决跨域问题
摘要:跨域:就是浏览器的安全机制,要求该工程请求的域名需要一致,如果说请求域名不一致的情况下,浏览器没有办法直接返回结果; 解决问题的方案: JSONP方式; Nginx方式; HttpClient方式; 添加HTTP请求头方式; 方案一:添加HTTP请求头 后台response添加header,resp 阅读全文
posted @ 2020-02-06 14:20 wnwn 阅读(226) 评论(0) 推荐(0)
HttpClient
摘要:HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java net包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。 阅读全文
posted @ 2020-02-05 13:52 wnwn 阅读(238) 评论(0) 推荐(0)
时间
摘要:创建AProject和BProject两个工程 AProject工程 导入依赖 <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</versi 阅读全文
posted @ 2020-02-04 15:12 wnwn 阅读(187) 评论(0) 推荐(0)
HTTP协议入门
摘要:HTTP协议介绍 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。基于TCP的应用层协议,它不关心数据传输的细节,HTTP(超文本传输协议)是一个基于请求与 阅读全文
posted @ 2020-02-04 14:02 wnwn 阅读(180) 评论(0) 推荐(0)