自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(115)
  • 资源 (6)
  • 收藏
  • 关注

原创 Elasticsearch系列---增量更新原理及优势

概要本篇主要介绍增量更新(partial update,也叫局部更新)的核心原理,介绍6.3.1版本的Elasticsearch脚本使用实例和增量更新的优势。增量更新过程与原理简单回顾前文我们有简单介绍过增量的语法,简单回顾一下请求示例:POST /music/children/1/_update{ "doc": { "length": "76" }}一般从客户...

2019-12-05 07:54:34 2645

原创 Elasticsearch系列---并发控制及乐观锁实现原理

概要本篇主要介绍一下Elasticsearch的并发控制和乐观锁的实现原理,列举常见的电商场景,关系型数据库的并发控制、ES的并发控制实践。并发场景不论是关系型数据库的应用,还是使用Elasticsearch做搜索加速的场景,只要有数据更新,并发控制是永恒的话题。当我们使用ES更新document的时候,先读取原始文档,做修改,然后把document重新索引,如果有多人同时在做相同的操作,...

2019-12-05 07:38:24 1124

原创 Elasticsearch系列---全面了解Document

概要本篇主要介绍一下document的知识,对document的元数据和基本的语法进行讲解。document核心元数据前面入门实战一节有简单介绍过document数据示例,这次我们来详细了解一下它的核心元数据,查询响应报文如下:{ "_index": "music", "_type": "children", "_id": "1", "_version": 1, "fo...

2019-11-29 07:22:21 1262

原创 Elasticsearch系列---分布式架构机制讲解

概要本篇主要介绍Elasticsearch的数据索引时的分片机制,集群发现机制,primary shard与replica shard是如何分工合作的,如何对集群扩容,以及集群的容错机制。分片机制前面基本概念一节中,我们有提到建立索引时,会自动将数据拆分到多个分片(shard)中,默认数量是5,这个就是索引数据分片机制。我们在往Elasticsearch集群插入数据,并没有关心过数据最终落地...

2019-11-22 22:10:26 496

原创 Elasticsearch系列---常见搜索方式与聚合分析

概要本篇主要介绍常见的6种搜索方式、聚合分析语法,基本是上机实战,可以和关系型数据库作对比,如果之前了解关系型数据库,那本篇只需要了解搜索和聚合的语法规则就可以了。搜索响应报文以上篇建立的music索引为例,我们先看看搜索结果的属性都有哪些{ "took": 1, "timed_out": false, "_shards": { "total": 5, "suc...

2019-11-22 21:54:05 1103

原创 Elasticsearch系列---简单入门实战

概要本篇主要介绍一下Elasticsearch Document的数据格式,在Java应用程序、关系型数据库建模的对比,介绍在Kibana平台编写Restful API完成基本的集群状态查询,Document最基本CRUD操作示例以及bulk批处理示例。Document数据格式Java应用系统的数据模型都是面向对象的,有些对象比较复杂,传统的业务系统,数据需要落地到关系型数据库,在数据库领域...

2019-11-19 08:13:34 1091

原创 Elasticsearch系列---Elasticsearch的基本概念及工作原理

基本概念Elasticsearch有几个核心的概念,花几分钟时间了解一下,有助于后面章节的学习。NRTNear Realtime,近实时,有两个层面的含义,一是从写入一条数据到这条数据可以被搜索,有一段非常小的延迟(大约1秒左右),二是基于Elasticsearch的搜索和分析操作,耗时可以达到秒级。Cluster集群,对外提供索引和搜索的服务,包含一个或多个节点,每个节点属于哪个集群是...

2019-11-15 07:35:08 1183

原创 Elasticsearch系列---初识Elasticsearch

Elasticsearch是什么?Elasticsearch简称ES,是一个基于Lucene构建的开源、分布式、Restful接口的全文搜索引擎,还是一个分布式文档数据库。天生就是分布式、高可用、可扩展的,可以在很短的时间内存储、搜索和分析大量的数据。什么是全文搜索?全文搜索也叫全文检索,是指扫描文章中的每一个词,对每一个词进建立一个索引,指明该词在文章中出现的次数和位置,当前端用户输入的关...

2019-11-14 08:15:41 1151

原创 记一次ES查询数据突然变为空的问题

基本环境elasticsearch版本:6.3.1客户端环境:kibana 6.3.4、Java8应用程序模块。其中kibana主要用于数据查询诊断和查阅日志,Java8为主要的客户端,数据插入和查询都是由Java实现的。案例介绍使用elasticsearch存储订单的主要信息,document内的field,基本上是long或keyword,创建索引的order.json文件如下...

2019-11-05 07:31:37 3010

原创 Sonar最基础使用教程

Sonarqube服务端安装过程略不能用root账号启动,必须使用普通账号如esuser,启动后自动会启动一个Elasticsearch实例(Elasticsearch实例在Sonarqube安装包里有自带的),如果误用root账号启动过sonar,则需要删除Sonarqube下的temp文件夹,否则一直会无法启动启动完成后,输入地址http://localhost:9000 可以看到控制台界面...

2019-10-29 08:09:08 2107

原创 一篇文章彻底搞懂snowflake算法及百度美团的最佳实践

写在前面的话一提到分布式ID自动生成方案,大家肯定都非常熟悉,并且立即能说出自家拿手的几种方案,确实,ID作为系统数据的重要标识,重要性不言而喻,而各种方案也是历经多代优化,请允许我用这个视角对分布式ID自动生成方案进行分类:实现方式完全依赖数据源方式ID的生成规则,读取控制完全由数据源控制,常见的如数据库的自增长ID,序列号等,或Redis的INCR/INCRBY原子操作产生顺序...

2019-10-25 07:11:56 4232 4

原创 RocketMQ事务消息学习及刨坑过程

一、背景MQ组件是系统架构里必不可少的一门利器,设计层面可以降低系统耦合度,高并发场景又可以起到削峰填谷的作用,从单体应用到集群部署方案,再到现在的微服务架构,MQ凭借其优秀的性能和高可靠性,得到了广泛的认可。随着数据量增多,系统压力变大,开始出现这种现象:数据库已经更新了,但消息没发出来,或者消息先发了,但后来数据库更新失败了,结果研发童鞋各种数据修复,这种生产问题出现的概率不大,但让人很郁闷...

2019-10-19 08:44:39 1112

原创 使用Spring-boot-starter标准改造项目内的RocketMQ客户端组件

一、背景介绍我们在使用Spring Cloud全家桶构建微服务应用时,经常能看到spring-boot-xxx-starter的依赖,像spring-boot-starter-web、spring-cloud-starter-feign、spring-boot-starter-test、mybatis-spring-boot-starter,仿佛只要带上starter的东西,你就拥有了这个组件的...

2019-10-18 07:21:09 794

原创 Maven项目分析剔除无用jar引用

一、为什么要做这件事?项目持续研发,不停地在上面新增功能,新增特性,引入新的框架和组件,jar包依赖多并且复杂,再加上需求各种变更,有不少已经存在的功能下线,但jar包依赖没人管,还是放在项目的pom.xml文件里。项目持续的时间一长,经常会出现项目打包要求内存多,时间慢的问题,如何分析项目中哪些依赖是有用的,哪些可以剔除的,一方面减轻打包内存占用多,时间慢的问题,另一方面照顾研发童鞋的强迫症问...

2019-10-14 07:48:04 1778

原创 Java volatile关键字内存原语

一、简述 volatile特性:实现最轻量级的同步。 volatile关键字的内存原语主要包含2个:1、保证volatile修饰的变量对所有线程的可见性。2、禁止指令重排序优化。二、案例代码 先给一个经典的错误案例:package com.hy.current;public class VolatileTest {privat...

2019-06-23 07:57:46 1913

原创 Linux服务器重启后JBoss和ActiveMQ无法正常启动故障解决

一、问题描述 Linux服务器重启后,发现原本能正常启动的Jboss实例和ActiveMQ实例都无法正常启动了,Jboss报错如下:java.net.MalformedURLException: Local host name unknown: java.net.UnknowstException: hy-192.168.1.103: hy-192.168.1.103: unk...

2019-05-03 07:30:54 473

原创 SQL小技巧-关联表重复数据清除处理办法

一、背景描述    数据库有订单表和订单明细表两张表,订单表与订单明细表的关系为一对多,通过订单ID作为外键进行关联,订单表的订单号字段本应设计成唯一约束,但由于数据库约束未在表里体现,并且由于业务操作的一些原因,导致订单表里出现重复的订单号,并且这些订单记录下面都关联了货品,现需要将重复的订单记录删除,同一个订单号只保留一条记录,其余被删除的订单表记录下面的明细记录全部移到保留的那条记录上面。表...

2018-02-11 15:31:34 13161

原创 mysql实例无法启动故障修复

一、问题描述    环境:Linux CentOS 6.5,mysql 5.6.16-log    Linux服务器异常断电,mysql非正常退出,导致mysql数据和mysql日志出现不一致的情况,mysql启动失败。失败的现象:1)mysql启动失败,提示无法更新pid文件。2)查看mysql error日志,出现如下字样:InnoDB: Error: page xxx log sequenc...

2018-02-10 15:38:25 4435

原创 SVN使用svn:ignore忽略Eclipse的项目工程文件

Eclipse+SVN管理的项目工程,使用svn:ignore操作来忽略项目文件

2017-11-17 23:06:02 3196

原创 JBoss多实例端口冲突问题

JBoss多实例应用同时启动时,会出现端口冲突的现象,如何能够快速解决此问题?

2017-07-31 22:30:44 3202

原创 增量部署包出现java.lang.NoSuchMethodError异常解决过程

javaweb项目部署增量包时,出现了java.lang.NoSuchMethodError异常信息的诊断思路及解决办法

2017-06-02 23:56:11 5671 6

原创 ActiveMQ SSL应用之七 ActiveMQ管理控制台队列Send To功能的使用

应用程序使用SSL连接ActiveMQ后,ActiveMQ控制台自带的Send To功能的使用方法,以及运维过程中该功能的作用。

2016-10-16 21:57:57 6183 2

原创 ActiveMQ SSL应用之六 Tomcat、Jboss部署项目使用SSL连接ActiveMQ

Tomcat或Jboss容器环境的项目使用SSL连接ActiveMQ

2016-10-16 21:53:27 1165

原创 ActiveMQ SSL应用之五 Spring+ActiveMQ开启SSL连接

实际项目经常使用到Spring框架,本篇主要介绍在Spring框架背景下,如何开启SSL连接ActiveMQ。

2016-10-16 21:51:00 3474 2

原创 ActiveMQ SSL应用之四 编写Java Demo类使用SSL连接ActiveMQ

在Eclipse平台编写Java Demo类使用SSL连接ActiveMQ,并进行简单的报文发送,接收,并使用wireshark抓包工具对报文进行抓取分析

2016-10-16 21:46:59 3788

原创 ActiveMQ SSL应用之三 ActiveMQ开启SSL连接器配置

AcitveMQ通过修改配置文件,开启SSL连接器

2016-10-16 21:41:14 7843

原创 ActiveMQ SSL应用之二 使用keytool工具生成密钥和证书文件

使用java自带的keytool工具生成RSA的密钥、证书文件

2016-10-16 21:31:09 4907 2

原创 ActiveMQ SSL应用之一 整体介绍

ActiveMQ如何学习SSL应用的整体思路,涵盖了SSL服务端的修改和客户端的操作,包括项目中结合Spring框架的应用场景,以及常用Web容器环境下的应用场景,最后是实际生产环境运维中,开启SSL对ActiveMQ管理页面常用操作是否会产生影响的验证。

2016-10-16 21:23:14 1907 2

原创 利用wsdl2java工具生成webservice的客户端代码

apache-cxf 3.1.7使用wsdl2java工具生成webservice的客户端代码

2016-10-12 12:42:10 12868 2

原创 Linux Jboss下logback日志框架的输出日志只保留10天的问题

操作系统为Linux CentOS 6.5 64bit,Jboss为4.3.0 GA版本,logback版本为1.1.2,maxHistory配置为180天,但/tmp/logs的日志文件只保留10天,原因是tmpwatch调度任务把10天前的日志删除了。

2016-09-07 22:08:26 5507

原创 SSH集成CXF项目启动时出现告警日志

spring 4.1.3.RELEASE + cxf 2.5.0框架,在项目启动时出现一大堆告警日志,虽然不影响项目正常运行,但看着很刺眼,所以要想办法清除掉。

2016-07-13 22:03:40 4144

原创 Webservice客户端工程导成runnable jar包运行时出现异常

eclipse集成环境,spring 4.1.3.RELEASE + cxf 2.5.0框架,开发的Webservice客户端程序。在eclipse开发环境下运行正常,导出runnable jar包时出现如下异常: java.lang.NullPointerException: null

2016-07-11 21:40:23 1777

原创 Quartz框架多个trigger任务执行出现漏执行的问题分析

使用Quartz配置定时任务,配置了超过10个定时任务,这些定时任务配置的触发时间都是5分钟执行一次,实际运行时,发现总有几个定时任务不能执行到。本篇重点讲解了该现象的本质原因和解决方案

2016-05-21 15:47:53 15504 7

原创 JBoss调用Webservice出现org.jboss.ws.core.jaxws.spi.ProviderImple not found错误

Linux CentOS 6.5 64bit,JDK1.7 ,JBoss 4.3.0-GA环境作为客户端调用Webservice服务出错

2016-05-12 20:34:33 3305

原创 Memcache-Java-Client-Release源码阅读(之七)

一、主要内容 本章节的主要内容是介绍Memcache Client的Native,Old_Compat,New_Compat三个Hash算法的应用及实现。二、准备工作 1、服务器启动192.168.0.106:11211,192.168.0.106:11212两个服务端实例。 2、示例代码:String[] servers = { "192.168.0.106:

2016-05-08 10:13:27 862

原创 Memcache-Java-Client-Release源码阅读(之六)

本章节的主要内容是介绍Memcache Client的一致性Hash算法的应用及实现。

2016-05-06 21:57:06 1193

原创 Memcache-Java-Client-Release源码阅读(之五)

本章节的主要内容是介绍Memcache Client的失效转移机制,自动恢复机制和Sock状态检测机制的实现原理。

2016-05-02 23:43:22 640

原创 Memcache-Java-Client-Release源码阅读(之四)

本章节的主要内容是介绍Memcache Client其他一些基本操作的大致实现,如flush操作,delete操作,incr/decr操作等

2016-04-26 23:07:06 918

原创 Memcache-Java-Client-Release源码阅读(之三)

本章节的主要内容是介绍Memcache 最基本的set/get操作过程

2016-04-19 21:07:30 1075

原创 Memcache-Java-Client-Release源码阅读(之二)

本章节的主要内容是介绍Memcache 的初始化过程。

2016-04-18 20:16:15 807

magent-0.6-修正版

magent是一款开源的Memcached代理服务器软件,其项目网址为:http://code.google.com/p/memagent/ 安装完后显示版本为0.6,如下: [root@localhost /]# magent please provide -s "ip:port" argument memcached agent v0.6 Build-Date: Jan 1 2016 19:23:12 Usage: -h this message -u uid -g gid -p port, default is 11211. (0 to disable tcp support) -s ip:port, set memcached server ip and port -b ip:port, set backup memcached server ip and port -l ip, local bind ip address, default is 0.0.0.0 -n number, set max connections, default is 4096 -D don't go to background -k use ketama key allocation algorithm -f file, unix socket path to listen on. default is off -i number, set max keep alive connections for one memcached server, default is 20 -v verbose 修正问题: 1、安装过程中出现SSIZE_MAX无法找到的问题。

2016-01-02

magent-0.5-修正版

magent是一款开源的Memcached代理服务器软件,其项目网址为:http://code.google.com/p/memagent/ 安装完后显示版本为0.4,如下: [root@localhost /]# magent please provide -s "ip:port" argument memcached agent v0.4 Build-Date: Jan 1 2016 19:13:08 Usage: -h this message -u uid -g gid -p port, default is 11211. (0 to disable tcp support) -s ip:port, set memcached server ip and port -b ip:port, set backup memcached server ip and port -l ip, local bind ip address, default is 0.0.0.0 -n number, set max connections, default is 4096 -D don't go to background -k use ketama key allocation algorithm -f file, unix socket path to listen on. default is off -i number, set max keep alive connections for one memcached server, default is 20 -v verbose 修正问题: 1、安装过程中出现SSIZE_MAX无法找到的问题。

2016-01-02

magent-0.6

magent是一款开源的Memcached代理服务器软件,其项目网址为:http://code.google.com/p/memagent/ 安装完后显示版本为0.6,如下: [root@localhost /]# magent please provide -s "ip:port" argument memcached agent v0.6 Build-Date: Jan 1 2016 19:23:12 Usage: -h this message -u uid -g gid -p port, default is 11211. (0 to disable tcp support) -s ip:port, set memcached server ip and port -b ip:port, set backup memcached server ip and port -l ip, local bind ip address, default is 0.0.0.0 -n number, set max connections, default is 4096 -D don't go to background -k use ketama key allocation algorithm -f file, unix socket path to listen on. default is off -i number, set max keep alive connections for one memcached server, default is 20 -v verbose 此工具包为官网发布的原包,未做任何修改。

2016-01-02

magent-0.5

magent是一款开源的Memcached代理服务器软件,其项目网址为:http://code.google.com/p/memagent/ 安装完后显示版本为0.4,如下: [root@localhost /]# magent please provide -s "ip:port" argument memcached agent v0.4 Build-Date: Jan 1 2016 19:13:08 Usage: -h this message -u uid -g gid -p port, default is 11211. (0 to disable tcp support) -s ip:port, set memcached server ip and port -b ip:port, set backup memcached server ip and port -l ip, local bind ip address, default is 0.0.0.0 -n number, set max connections, default is 4096 -D don't go to background -k use ketama key allocation algorithm -f file, unix socket path to listen on. default is off -i number, set max keep alive connections for one memcached server, default is 20 -v verbose 此工具包为官网发布的原包,未做任何修改。

2016-01-02

jdk-debug安装jar包1

jdk 1.6可调试的jar包,双击安装后可以使用。 注意压缩包分为两卷,解压后请将.bak后缀去掉即可。

2015-12-15

jdk-debug安装jar包2

jdk 1.6可调试的jar包,双击安装后可以使用。 注意压缩包分为两卷,解压后请将.bak后缀去掉即可。

2015-12-15

空空如也

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

TA关注的人

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