自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

分享传递价值

一个健全的心态比一百种智慧都有力量!

  • 博客(241)
  • 资源 (1)
  • 收藏
  • 关注

原创 Elastic Search之分页展示

类似于mysql中select ……limit n,m,限制返回的结果集条数并分页显示,需要用到elastic search中的分页参数。es提供了三种api方式进行分页:from   size scroll search_afterfrom/size进行分页from/size进行时分页是es中最常用的分页方案,from表示开始位置偏移量(从0开始),size表示条数大小,和mysq...

2019-01-16 14:43:12 3882

原创 Elastic Search之Source Filtering(过滤结果中"_source"原始文本显示哪些字段)

之前在 elastic search之索引和文档 一文中简单说到过,查询语句返回的json中的"_source"字段就是文档的全部原始json数据,里面包含每个字段及内容,但有时候我们可能不需要这么多字段,也可能只需要其中的某几个字段,并且返回全部字段有时也浪费,这个时候通过"_source"参数便可以设置需要返回哪些具体的字段,甚至是不需要返回,我们可以类比mysql的select特定字段,而不...

2019-01-15 15:27:33 9092

原创 Elastic Search之Count API(获取符合条件的记录数)

上篇说到elastic search(简称es)中常用的search api,但有时候我们不需要满足条件的原始文档数据,而是需要返回符合条件的文档数,类似于mysql的select count(*)查询条数,es中进行count查询的api的endpoint为"_count",如下示例:返回的count节点即表示符合条件的匹配数目。"_count"支持多个索引同时查询符合条件的匹配数:...

2019-01-15 14:01:08 78657 6

原创 Elastic Search之Search API(Query DSL)、字段类查询、复合查询

search api就是对存储在elastic search(以下简称es)中的数据进行查询的相关API,可以类比mysql中的select语句。es中的search主要分为URI Search和Query DSL,其中又以Query DSL语法为主,也是我们学习es所要重点掌握的,例如如下的查询:es的Query DSL以_search为endpoint,主要分为字段类查询和复合查询()...

2019-01-15 10:33:12 19046

原创 使用Quartz实现定时任务(包含管理界面)

引言年底出去面试的的时候,被问到如下问题: 定时任务是如何实现的?定时任务是如何监控的?因为我们项目中的定时任务就是使用Spring的@Scheduled(cron = "0 59 23 * * ?")来实现的,至于监控方面的,没有,就是通过在定时任务代码里面打一些日志,特别重要的定时任务,失败了额外发个邮件通知下,人工补偿。然后他又问了下现在需要重构定时任务,你有没有什么想法?然后我就简单的...

2019-01-01 18:43:34 24487 31

原创 Elastic Search之自定义Mapping

这里说的Mapping就是索引结构,你可以看做是数据库中的表结构,包括字段名、字段类型、倒排索引相关设置。es中查询索引的mapping结构api的endpoint为_mapping,如下图:右侧的查询结果我们就称为索引的"mapping"。接着来看es中如何创建自定义mapping,api如下: Field datatypes(字段类型)es中支持的数据类型在 Elastic...

2018-12-28 12:51:54 4057 1

原创 Elastic Search之分词

分词(Analysis):将文本切分为一系列单词的过程,比如 "美国留给伊拉克的是个烂摊子吗?"经过分词后的后果为:美国、伊拉克、烂摊子。分词器(Analyzer):elasticsearch中执行的分词的主体,官方把分词器分成三个层次:Character Filters:针对文档的原始文本进行处理,例如将印度语的阿拉伯数字"0 12345678 9"转换成拉丁语的阿拉伯数字"012345...

2018-12-27 15:44:24 11651

原创 Elasticsearch之倒排索引

之前说到es搜索引擎中的核心就是倒排索引,每个字段都会维护自己的倒排索引(除非显式的关闭了),倒排索引的结构组成如下:单词词典(Term Dictionary):记录所有文档的单词,占用数据量比较大,记录了从单词到到排列表的关联信息,一般会采用B+Tree结构实现; 倒排列表(Posting List):记录着单词词典对应的文档集合,它又由倒排索引项(Posting)构成,倒排索引项包括:...

2018-12-27 11:38:25 1930

原创 Elasticsearch之索引和文档、文档API

 文档Document用户存储在es中的数据文档,相当于mysql的表中的一行,Json结构形式,由字段组成,常见数据类型如下:字符串:text、keyword,text是分词,keyword是不分词的 数值型:long、integer、short、byte、double、float、half_float、scaled_float 布尔:boolean 日期:date 二进制:bi...

2018-12-26 16:08:24 4886

原创 Elasticsearch入门与安装

Elasticsearch 是一个开源的搜索引擎,建立在一个全文搜索引擎库 Apache Lucene™ 基础之上。然而,Elasticsearch 不仅仅是 Lucene,并且也不仅仅只是一个全文搜索引擎。 它可以被下面这样准确的形容:一个分布式的实时文档存储,每个字段 可以被索引与搜索 一个分布式实时分析搜索引擎 能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数...

2018-12-26 15:00:20 973

原创 ReentrantLock锁详解

开发中有时需要向别人演示你的本地项目、微信开发时每次修改测试都需要发版……内网穿透可以简化这些问题,ngrok或natapp都可以,natapp官网在这边:http://natapp.cn可以申请免费的使用,也可以搭建ngrok方便大家使用,本篇讲述的是免安装版的ngrok.1、下载ngrok压缩包并解压,点这里2、进入并在此目录下按住shift键,进入此目录下的dos窗口3、执行...

2018-12-20 18:04:34 1867

转载 Java中的static关键字解析(转载)

重要声明: 本文转自https://www.cnblogs.com/dolphin0520/p/3799052.htmlstatic关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一。下面就先讲述一下static关键字的用法和平常容易误解的地方,最后列举了一些面试笔试中常见的关于static的考题。以下是本文的目录大纲: ...

2018-12-20 17:04:03 258

转载 使用Java VisualVM监控远程Tomcat

本文出处:https://blog.csdn.net/arkblue/article/details/6229637,在原文基础上做了部分修改。作用:JVM和监控的应用程序运行在不同的服务器上,减轻应用程序的负担,特别是HeapDupm的时候,应用常能够续负担很大。1、为 10.87.40.141 上的 tomcat 配置 jvm 启动参数。在 tomcat 的 catalina.sh ...

2018-12-14 11:12:28 1559

原创 faststone capture使用长截图(滚动截图)功能教程

项目中经常需要使用到长截图功能及录屏需求,比如你写的代码不止一页,一页一页的截图拼接总归不是首选,有时候也需要录小视频给同事或领导或客户演示某些操作流程之类的,faststone capture这个工具在这些功能方面很是强大,下面分享下这个软件进行长截图的使用。如果你还没安装faststone capture,请至http://www.faststone.org (要翻墙) 进行下载安装即可。或者...

2018-12-12 11:45:15 35264 9

原创 简单工厂与抽象工厂模式

平时写项目里的代码,分层一般都是:持久层 》业务层 》表现层,业务层里一般的形式就是:接口api 》 接口api实现类,即public interface Sender {……}public class BossSender implements Sender {……}@Autowiredprivate Sender sender;你肯定也这样写过,那么结合标题:简单工厂模式来看...

2018-12-10 23:02:39 273

原创 intellij idea优秀插件推荐

点击这里查看 <intellij idea使用教程汇总篇>intellij idea,开发利器,素以方便快捷著称,使用者越来越多,今天介绍几款idea中非常实用的插件。插件安装Windows平台上的IDEA: File > Settings > Plugins > Browse repositories... > Search for "Gson...

2018-11-15 14:11:06 3510

原创 intellij idea中设置mybatis的xml配置文件的背景色

点击这里查看 <intellij idea使用教程汇总篇>场景:在idea中打开mybatis的配置文件××Mapper.xml,打开后黄压压的一大片,背景色是真的不太友好,如下图所示:看上去非常不友好, 所以需要稍微设置一下即可!步骤:1、ctrl+alt+s(或者点击File——>Settings)进入设置界面2、找导inspections项目,并...

2018-11-05 11:43:39 6823 1

原创 intellij idea中安装、配置mybatis插件Free Mybatis plugin

点击这里查看 <intellij idea使用教程汇总篇>场景:使用intellij idea开发,持久层dao使用了mybatis,经常需要编辑mybatis的××Mapper.java和××Mapper.xml,因为是接口里一个方法对应xml里的一个SQL的id,当需要找找个方法时候得拷贝找个方法名,然后在对应文件中ctrl+f全文查找,相当麻烦。本篇讲述的使用mybatis的...

2018-11-05 11:25:37 22862 4

原创 Mysql慢查询日志详解(slow_query_log)

引言Mysql中比较重要的日志包括二进制日志、relay_log(中继日志)、慢查询日志、redo_log、undo_log等,本篇来聊一聊mysql的慢查询日志。程序中定位一个执行慢的SQL可以根据慢查询日志,默认情况下,慢查询日志禁用,因为开启慢查询日志或多或少的会对mysql的性能产生一些影响。在慢查询日志功能开启时,只有SQL执行时间超过long_query_time参数值的的语句...

2018-11-03 16:13:38 9068

原创 nginx实现静态资源代理、动静分离、代理服务(负载均衡)

Nginx是什么?开源且高性能、可靠的HTTP中间件、代理服务。类似于nginx的?HTTPD-apache基金会、IIS-微软、GWS-Google为什么使用nginx? IO多路复用epoll 轻量级(功能模块少、代码模块化) CPU亲和:把CPU核心和nginx工作进程绑定的方式,把每个worker进程固定在一个cpu上执行,以获取最好的性能 ...

2018-10-24 18:19:46 13152

原创 nginx初识与nginx安装、基本配置

Nginx是什么?     开源且高性能、可靠的HTTP中间件、代理服务。类似于nginx的还有哪些?   HTTPD-apache基金会、IIS-微软、GWS-Google为什么使用nginx? IO多路复用epoll 轻量级(功能模块少、代码模块化) CPU亲和:把CPU核心和nginx工作进程绑定的方式,把每个worker进程固定在一个cpu上执行,...

2018-10-23 15:09:02 408

原创 常用的curl命令及参数详解

前言:经常需要用到curl命令在线上机器中去测试接口,尤其是一些内外网接口、判断线上接口信息等,需要用到curl命令直接测试页面或接口返回值,下面是我常用的curl命令参数及作用:1、curl  url作用:获取页面内容或接口响应示例:以爱奇艺视频页领取优惠券为例:curl  https://act.vip.iqiyi.com/api/process.action?cb=cb_1540...

2018-10-23 14:45:46 58883 2

原创 Spring事务不起作用 问题汇总

最近活少,抽时间总结一些前阵子遇到的问题:使用了Spring事务(用@Transactional注解方式实现)后竟然没有正常回滚,这在线上可是很严重的问题,导致产生脏数据。如何排查并解决呢?这里提供三种思路以供参考: 本文测试代码场景:模拟给用户送优惠券操作:kafka异步送,接着预减优惠券库存,然后保存送券记录情况一:Mysql层使用的是MYISAM存储引擎而不是INNODB犯错...

2018-10-12 11:31:58 1423

原创 基于zookeeper的分布式唯一id生成器

之前已简单介绍过Curator客户端的使用,并利用Curator实现了分布式锁和master选举,文章链接:https://blog.csdn.net/fanrenxiang/article/details/83013218   本文简述分库分表之后分布式下如何保证ID全局唯一性,可以用普通的UUID来实现,但是UUID是杂乱无规律的,相反,我们利用zookeeper的持久顺序节点特性,多个客户端...

2018-10-11 16:59:22 6104

原创 Zookeeper客户端Curator使用指南

what is Curator ?Curator是zookeeper分布式协调服务的java客户端库,它包装了一系列操作zk的高级API和实用库,是的操作zk变得更加容易和可靠。例如使用原生zk的API实现分布式锁的话,代码量多,复杂,使用Curator后就相对简单的多,很多底层的api都直接封装好了,开箱即用,学习成本低。 Getting Started1、使用Curator...

2018-10-11 15:45:48 2740

原创 Zookeeper集群搭建

1.概述 zookeeper是什么? 开放源码的分布式协调服务,是一个高性能的分布式数据一致性解决方案 zookeeper的典型应用场景? master选举、数据发布与订阅、负载均衡、命名服务(例如分布式服务id)、分布式协调(分布式锁)/通知(心跳机制) zookeeper的优势? 开放源码、有广泛的应用基础(hadoop、storm、kafk...

2018-10-10 10:21:13 471

转载 springboot中连接kafka失败问题

重要申明:本文转自https://blog.csdn.net/maoyuanming0806/article/details/80553632?utm_source=copy 记录使用kafka遇到的问题:- 1.Caused by java.nio.channels.UnresolvedAddressException null- 2.org.apache.kafka.common.e...

2018-09-27 17:43:35 16258 1

原创 windows下查看端口占用、杀死进程

场景:今天windows里测试es的集群环境,需要临时关闭7200的端口步骤:1、通过cmd窗口进入dos命令窗口或者win+r快捷键,输入cmd进入dos窗口;2、输入命令:netstat -ano,从中查找你需要关闭的端口号;如果你知道端口号,那你可以直接输入命令:netstat -aon|findstr "7200",记住pid(进程号),我这里的pid是6764;3、输...

2018-09-07 18:26:08 33759 7

原创 Java如何处理参数中带特殊符号的请求?

场景:某个活动需要使用二维码来分享活动,引流量入口,我使用google的zxing在服务器生成二维码时候,接口需要接收一个名为url的参数,这个参数的实际取值是个动态链接,比如:http://ac.txqq.com?url=www.baidu.com?simons&token=×××,很显然,服务端直接接收前端传递过来的参数时,浏览器会自动截取掉&极其后面的值。这里以http:...

2018-08-30 18:12:02 8428 1

原创 MySQL的BTREE索引和HASH索引

为什么要用索引?使用索引后减少了存储引擎需要扫描的数据量,加快查询速度 索引可以把随机I/O变为顺序I/O 索引可以帮助我们对所搜结果进行排序以避免使用磁盘临时表Mysql支持的索引类型:B-TREE索引与HASH索引,两者有不同的使用场景,下面来简单剖析下这两者的区别。CREATE TABLE act_info(id BIGINT NOT NULL AUTO_INCREMENT...

2018-08-17 17:45:08 7541

原创 基于Redis实现分布式Session

常见分布式session会话方案实现分布式session的方案非常多,选型时需要一种可靠、简单的实现方式,结合我们项目中的使用经验来看,使用基于Redis实现的分布式session方案还是比较靠谱的,同时,项目中还把session信息存储在cookie里面,多一层保障。基本原理使用Redis作为session存储容器,登录时将session信息存储至cookie客户端,同时服务端将s...

2018-08-16 14:59:46 8487 8

转载 java接口防止XSS攻击的常用方法总结

在前面的一篇文章中,讲到了java web应用程序防止 csrf 攻击的方法,参考这里 java网页程序采用 spring 防止 csrf 攻击. ,但这只是攻击的一种方式,还有其他方式,比如今天要记录的 XSS 攻击, XSS 攻击的专业解释,可以在网上搜索一下,参考百度百科的解释 http://baike.baidu.com/view/2161269.htm, 但在实际的应用中如何去防止这种攻...

2018-08-16 10:46:38 13155 1

原创 基于Zookeeper开源客户端Curator实现分布式锁

分布式锁实现方案在实际生产中,尤其是分布式环境下,因为我们逻辑真正处理的业务数据是只有一份的,接口并发时势必会出现并发问题,使得业务数据不正确,这个时候就需要一种类似于锁的东西来保证数据的幂等性,比如秒杀业务。实现分布式锁的方式非常多,zookeeper、redis、数据库等均可,如果使用zookeeper原生方式来实现的话还是比较复杂的,基于这种场景,我们利用Apache的开源客户端Cur...

2018-08-15 19:52:47 6130 1

原创 解决GitHub访问和下载慢的问题

最近在公司经常需要访问github,不懂是不是由于内网的原因,访问和下载出奇的慢,网上查了查资料设置了下非常有效,这里以Windows为例:1、浏览器访问https://www.ipaddress.com/,分别输入github.com和github.global.ssl.fastly.net以获取对应的ip;2、打开C:\Windows\System32\drivers\etc,...

2018-08-08 15:35:02 8471 1

原创 解决:ElasticsearchException[X-Pack is not supported and Machine Learning is not available for

最近在安装Elasticsearch-6.3.2时(windows平台),启动Elasticsearch,点击bin/elasticsearch.bat,启动报错:ElasticsearchException[X-Pack is not supported and Machine Learning is not available for [windows-x86]; you can use...

2018-08-02 14:35:26 30182 16

原创 Zuul的容错回退与高可用

zuul的容错与回退之前说到过,使用Hystrix实现微服务的容错与回退,其实Zuul默认已经整合了Hystrix,使用起来也是比较简单:在原有 zuul-gateway 项目的基础上新增,实现ZuulFallbackProvider接口,并实现getRoute和fallbackResponse方法import com.google.gson.Gson;import com.sim...

2018-07-30 11:24:44 1027 1

原创 Zuul过滤器

Zuul的github:https://github.com/Netflix/zuul一系列的过滤器是zuul的核心,zuul的很多功能都是通过过滤器来实现的。在zuul的世界里定义了四种标准过滤器类型,这四种过滤器分别对应着请求的生命周期: pre:此种过滤器在请求被路由之前执行,显然这种过滤器可以用来过滤请求(白黑名单)、安全验证等; routing:此种过滤器复制将请求路...

2018-07-27 16:20:49 1421 1

原创 使用Zuul构建微服务网关

Zuul的github:https://github.com/Netflix/zuul之前没有使用网关的微服务可能存在的问题? 客户端直接和微服务交互,增加了复杂度; 某些场景下可能存在跨域; 如果一个功能点需要调用多个微服务,每个服务都需要身份认证,使得身份验证复杂冗余; 客户端直接和微服务交互,后期代码重构难度大;  为什么需要构建Zuul服...

2018-07-26 14:57:06 2109

原创 使用Hystrix实现微服务熔断与降级

Hystrix的github地址:https://github.com/Netflix/Hystrix,本文不足的地方可以参考Hystrix的wiki:https://github.com/Netflix/Hystrix/wiki/在实际项目中,微服务之间的相互调用可能会遇上网络抖动、延迟、超时等一些列问题,如果不加以处理,可能引发更加严重的问题,如一开始的用户服务不可用导致调用此服务的售票服...

2018-07-24 16:05:10 3888 4

原创 脱离Eureka使用Ribbon

项目的github:https://github.com/simonsfan/SpringCloud.gitRibbon可以实现客户端的负载均衡,在使用Ribbon实现客户端负载均衡一文中,详细描述了如何在Eureka的环境中结合Ribbon实现负载均衡,但实际项目中不一定配合Eureka使用,本文讲述脱离Eureka后如何使用Ribbon。复制项目ticket-consumer-ribb...

2018-07-20 11:56:47 3829

mybatis逆向生成xml和pojo工具

mybatis逆向生成xml和pojo,解压下载后得zip文件,得到的文件可以直接在idea或者eclipse中打开或者导入,需要改动的地方有:数据库连接信息、targetPackage属性是配置生成后的bean和xml的位置、表名,使用非常方便,直接运行MyBatisGeneratorMain类里的main方法即可,,不需要和你现有的项目有任何的耦合,直接把生成后的xml、实体类copy到你的所需项目中即可。如使用有障碍,请留言。

2018-05-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除