自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 收藏
  • 关注

原创 SpringCloud(四): 断路器—Hystrix

(编写不易,转载请注明:http://shihlei.iteye.com/blog/2431224) 一 概述有段时间没有更新SpringCloud的文章了,目前 SpringBoot 版本 2.0.5.RELEASE,SpringCloud 的版本:Finchley SR1 ,本文继续之前的规划,介绍下 SpringCloud集成 Hystrix 断路器功能。 Hystr...

2018-09-23 16:49:03 1182 1

原创 SpringCloud(四)番外篇(二):Hystrix 1.5.12 源码分析

  编写不易,转载请注明(http://shihlei.iteye.com/blog/2429846)!一 概述书接前篇,《Hystrix:断路器》 对断路器和Hystrix做了简单的介绍,旨在帮助读者做个简单入门。本文简单分下Hystrix的源码实现,帮助读者更好的了解Hystrix。 分析版本: <dependency> <gro...

2018-09-09 12:41:01 738

原创 SpringCloud(四)番外篇(一):Hystrix 断路器

编写不易,转载请注明(http://shihlei.iteye.com/blog/2428557)! 一 概述 近些年,微服务架构模式在企业中的得到应用推广,基于SpringBoot,SpringCloud快速实现微服务的技术也得到广泛应用。 SpringCloud是什么?简单的说是一套组件框架,提供服务化需要的一些基础能力,如分布式/版本化配置、服务注册和发现、路由、负载...

2018-08-12 18:04:02 445

原创 RxJava2.x 操作Demo

 编写不易,转载请注明(http://shihlei.iteye.com/blog/2428152)! 一 概述阅读Hystrix的源码过程,看到很多RxJava的使用,本文对其中一些重要的方法进行总结,为之后Hystrix的讲解做铺垫。 如果对应响应式编程,RxJava不是很了解,可以阅读《响应式编程 RxJava》做个简单的入门。 版本: ...

2018-08-12 09:50:02 390

原创 响应式编程 RxJava

 编写不易,转载请注明(http://shihlei.iteye.com/blog/2426891)! 一 概述 最近使用Hystrix,看文档Hystrix底层基于Rxjava实现,很好奇,就一起研究了下,做个总结 二 响应式编程(Reactive Programming)定义:一种基于异步数据流概念的编程模式。核心:事件,可以被触发,传播,订阅特点:...

2018-07-15 17:13:26 393

原创 观察者模式及Guava EventBus

编写不易,转载请注明(http://shihlei.iteye.com/blog/2426888)! 一 概述最近看RxJava,其骨架就是使用的观察者模式,所以对观察者模式做个总结,顺便记录一下Guava EventBus的实现(事件监听,其实也相当于观察者模式) 二 观察者模式1)概述  观察者模式:行为模式,提供一种一对多关系绑定对象的方法,一个对象状态需...

2018-07-15 14:51:12 367

原创 numfmt 数字格式化命令

 编写不易,转载请注明(http://shihlei.iteye.com/blog/2426434) 一 概述       像free 这样的命令,默认打出字节数,不好阅读,幸好提供了 free -m 可以转换成兆字节。针对不能提供这种转换的命令或者场景,numfmt可以帮我们完成转换,目前看主要用于字节转换。        numfmt 用于把数字转换成可阅读的形式(...

2018-07-08 15:58:20 1784

原创 Elasticsearch 2.4.2 低延迟使用记录

  编写不易,转载请注明( http://shihlei.iteye.com/blog/2423848 )! 一 概述(一直没有升级ES版本,这里只记录使用这一年多的一些优化结论) Elasticsearch2.4.2  做索引库,提供低延迟的查询需求。业务规模:docuement 规模 90万,大概200M,不算大。查询特点:都是terms查询,没有聚合查询...

2018-05-30 18:49:10 406

原创 MySQL5.7.22 编译安装Dockfile

 编写不易,转载请注明 (http://shihlei.iteye.com/blog/2423672)  一 Java1.8 Dockerfile 构建(可以省略) (1)目录结构$ lsDockerfile jdk-8u161-linux-x64.tar.gz (2)Dockerfile#################...

2018-05-28 18:15:53 343

JDK 工具命令使用

 编写不易,转载请注明(http://shihlei.iteye.com/blog/2423653)一 概述Java应用,线上查看gc,堆分配,堆使用是很常见的需求。JDK自带的命令可以查看很多信息,掌握后对我们定位问题能起到很大的帮助。本文总结相关命令的使用。 二 jstack:查看java线程信息(1)用法:常用方式:jstack [-l] <pid&...

2018-05-27 11:38:48 326

基于Aviator的规则引擎Demo

 编写不易,转载请注明(http://shihlei.iteye.com/blog/2421576)! 一 概述Aviator 是一个Java 语言实现的表达式引擎,可以接受字符串类型的表达式,带入参数求值。 需求场景:用户日志字段:[ip,phone,userid,action] 希望灵活组合这些字段,生成规则,比如 “1小时,userid,在ip上,触发...

2018-04-30 19:20:46 4597

原创 MobileIP、运营商接Internet入方式及服务端获取IP的情况

编写不易,转载请注明(http://shihlei.iteye.com/blog/2418672)!一 概述        在服务器端获取客户端IP是一个很普遍的操作,客户端IP的应用场景可能包括:面向IP的地域定位服务,反爬虫服务等。很好奇,用户所在的网络环境:有线,wifi,2G,3G,4G,漫游等,Server端获取的IP情况,按个人理解进行整理,如有错误,望多指点。 本...

2018-04-15 18:50:22 799

原创 Elasticsearch集群信息查看及重启维护流程

编写不易,转载请注明( http://shihlei.iteye.com/blog/2418651)! 一 概述        最近做Elasticsearch优化,需要调整节点参数,重启,查看是否生效。线下测试集群一般使用head插件,方便。但head插件需要其所在节点能正常提供服务,且客户端浏览器网络可达。这种约束不适合线上运维,最直接方式还是使用Elasticsearch提供...

2018-04-15 13:58:05 1571

原创 分布式系统的CAP原则

 (编写不易,转载请注明:http://shihlei.iteye.com/blog/2411612)一 概述分布式系统(多台服务器,通过网络相互协调,组成一个整体对外提供服务的系统) (1)CAP原则:任何基于网络的数据共享系统,最多只能满足数据一致性、可用性、分区容忍性三要素中的两个要素。 (2)CAP解释:Consistency(一致性):数据在所有服务器上副...

2018-02-26 17:33:11 455

原创 Jest:ElasticSearch Java Http Rest 客户端使用

 编写不易,转载请注明(http://shihlei.iteye.com/blog/2411470)!一 概述Jest 是一个Java 版的ElasticSearch Http Rest 客户端,基于HttpClient 封装实现。 个人感觉好处:1 连接池可控2 简单封装了Bean 到Document 的Mapping过程 github:https:...

2018-02-24 12:12:17 996

原创 Dockerfile 使用

 编写不易,转载请注明(http://shihlei.iteye.com/blog/2411453)!  一 概述(1)基础概念镜像:相当于虚拟机的“只读模板”,不可修改。可以启动容器,修改提交成新的镜像。容器:指定“镜像的实例”,由指定“本地镜像”启动,相当于独立的虚拟机。一个镜像可以启动多个容器,彼此相互隔离。仓库:集中存放镜像文件的地方,用于镜像共享,复用。...

2018-02-23 22:20:47 138

原创 ElasticSearch 批量条件查询

 编写不易,转载请注明(http://shihlei.iteye.com/blog/2408238)! 一 概述ElasticSearch 批量条件查询方法Demo。使用《ElasticSearch2.4.0基于Java API或Java Rest API进行CRUD 》的索引库结构开发Demo. 客户端版本:版本较低,见谅 <dependen...

2018-01-20 15:14:01 7618 1

原创 JOL:查看Java 对象布局、大小工具

 编写不易,转载请注明(http://shihlei.iteye.com/blog/2407693)! 一 概述最近需求,打算再内存缓存数据,数据量130000万并且还会增加,了解这些数据占用空间的大小是很常见的监控需要。常规方式,人工可以按照Java基础数据类型大小及内容大小估算出缓存对象的大概堆占用,但是麻烦还不准。OpenJDK,提供了JOL包,可以帮我们在运行时...

2018-01-14 11:52:06 23001

原创 SpringBoot:自定义Starter

 编写不易,转载请注明(http://shihlei.iteye.com/blog/2407689)!一 概述SpringBoot 个人感觉特点:1)众多库的集合(各种Starter),方便快速构建应用系统。2)自动配置spring(通过AutoConfiguration机制),简化配置,也方便扩展新的Starter。3)内嵌web容器,无需WAR部署。 本文自...

2018-01-14 10:42:05 634

原创 Spring:AnnotationUtils 使用

编写不易,转载请注明(http://shihlei.iteye.com/blog/2406149)! 一 Java Annotation(1)概述: Annotation:主要用于对其他元素进行描述。包括Annotation,Class , Method, Field 等。 (2)Demo:package x.demo.spring.core.anno;i...

2017-12-29 14:53:46 11284 3

原创 Spring:@Configuration 使用

 编写不易,转载请注明(http://shihlei.iteye.com/blog/2405771)! 一 @Configuration 概述 @Bean: 描述@Bean注解的方法生成的Bean 被Spring容器管理, 其中value属性可以指定Bean在Spring容器中的名字。@Configuration:描述@Configuration注解的类,Spring容器扫...

2017-12-26 18:04:51 634

原创 Spring:@ComponentScan 使用

 编写不易,转载请注明(http://shihlei.iteye.com/blog/2405675)! 一 @ComponentScan 概述扫描指定表下的Component(@Componment,@Configuration,@Service 等等) 存在于:org.springframework.context.annotation 包中<depende...

2017-12-25 17:21:29 297

原创 SpringCloud(三): 服务注册与发现,服务注册中心—Eureka

 编写不易,转载请注明(http://shihlei.iteye.com/blog/2400190)!  一 服务注册与发现(1)概述服务调用基本两端:服务提供者(Service Provider)、服务消费者(Service Client)调用方式:(a)简单版:直接调用优点:简单,快速完成缺点:服务消费者感知服务端IP、Port,任何这二...

2017-11-20 18:14:26 959

SpringCloud(二):声明式RestClient—Feign

 (编写不易,转载请注明:http://shihlei.iteye.com/blog/2399457) 一 概述         feign: 声明式rest 客户端,spring cloud 扩展了feign,提供了springmvc的标签支持,替代RestTemplate简化操作。        git:https://github.com/OpenFeign/feig...

2017-11-12 17:04:42 340

原创 SpringCloud(一): SpringBoot 创建简单的微服务

  (编写不易,转载请注明:http://shihlei.iteye.com/blog/2398709)  一 概述 :     基于sring boot 创建 简单的微服务。     spring boot 版本:1.5.7.RELEASE。 二 项目组成         父项目:x.demo.springcloud         mod...

2017-11-06 19:14:38 660

原创 Linux 内存 buffers, cached

 一 buffers, cachedbuffers:用来缓存metadata及pages,可以理解为系统缓存cached:是用来给文件做缓存,可以理解为数据块缓存 二 手动触发 cached 回收方法 a)清理pagecache(页面缓存)# echo 1 > /proc/sys/vm/drop_caches     或者 # sysctl -w vm.dr...

2017-11-01 13:59:43 202

原创 Server获取客户端IP 工具类:IPUtil

一 概述     获取客户端Ip工具类,支持client 和 server之间有代理的情况 二 代码 import javax.servlet.http.HttpServletRequest;import org.apache.commons.lang3.StringUtils;/** * 获取client ip */public class...

2017-10-22 14:42:57 235

原创 Git 常用命令使用

 概述:      工作区:workspace ,即 .git 目录的父目录,文件所在目录     暂存库:index ,.git目录中的一块区域,用于记录所有工作区的变换,并暂存,(即:git add 提交修改到git,未 commit 到分支)     当前分支:repository,.git目录中的一块区域,本地仓库,存放版本 一 配置git confi...

2017-07-29 17:01:39 107

原创 机器学习HelloWrold:从零开始到模型训练预测房价

编写不易,转载请注明( http://shihlei.iteye.com/blog/2386498)! 一 概述    基于python 从零开始,完成环境搭建,训练模型,预测房价。        环境:        1)运行环境        Miniconda3:包管理器        python :3.6                   ...

2017-07-23 16:43:37 280

基于Mockito 的Spring Controller 单元测试

编写不易,转载请注明( http://shihlei.iteye.com/blog/2383971)! 一 概述: 实现spring rest controller 单元测试,依赖service mock,用于重点测试controller的行为  二 maven 依赖<project xmlns="http://maven.apache.org/POM/4.0...

2017-07-11 09:31:33 1689

原创 Junit,Mockito,PowerMockito 进行单元测试

编写不易,转载请注明( http://shihlei.iteye.com/blog/2383925)! 概述:    介绍基于Junit ,Mockito,PowerMockito 常用的测试方法,包括异常测试,私有方法测试,没有返回值的方法测试,基于mock或spy的测试;    其中包含常规方法mock,私有方法mock。 一 测试介绍1)测试原则:      ...

2017-07-10 18:52:23 825

Java 静态块抛异常之后

一 背景一直以为Java静态块抛异常,没人捕获,虚拟机会推出,要不是最近debug到异常的执行流程,观念还正不了,自己看吧。 二 代码(1)静态块抛异常类/** * 静态块抛异常类 */public class App { static { System.out.println("static start !============...

2017-02-22 09:37:06 1529

基于BitSet的广告索引检索引擎实现

  编写不易,转载请注明 (http://shihlei.iteye.com/blog/2358063) 一 概述广告系统中,广告活动创建时,运营人员通常会根据广告的受众情况,设置广告的基本定向,如香奈儿推广 需要投放上海的女士用户。 因此,根据定象条件对广告活动进行索引和检索是投放引擎的必备功能。 通常实现可以使用ElasticSearch这样的索引引擎。本文...

2017-02-20 16:15:30 471

原创 Elastalert 报警框架安装使用

Elastalert是Yelp公司用python2.6写的一个报警框架,github地址为 代码:https://github.com/Yelp/elastaler文档:http://elastalert.readthedocs.io/en/latest/参考:http://blog.csdn.net/gamer_gyt/article/details/52917116...

2016-12-23 16:11:38 1145

原创 Docker 使用初步

概述:(1)架构         docker server:服务进程,管理所有容器,接受客户端操作。         docker client:远程控制器,远程控制服务器行为        通常二者在同一个机器上 (2)名词                镜像:容器运行的只读模板,由层构成,经过提交相应的层更新生成不同的容器   ...

2016-11-30 19:18:55 156

原创 Elasticsearch2.4 Template 批量操作,条件更新,删除

编写不易,转载请注明(  http://shihlei.iteye.com/blog/2339398)! 一 前言    ES 做简单的条件查询,条件删除,在2.4版没有提供,script只提供的update的方案,自己简单封装了下。做面向对象的使用。     二 依赖 <dependency> <groupId...

2016-11-20 18:44:30 8474

原创 ElasticSearch2.4.0基于Java API或Java Rest API进行CRUD

 编写不易,转载请注明(http://shihlei.iteye.com/blog/2328656)! 规划:Indics:索引库,相当于RDBMS的 数据库,整体控制分片(shard)和副本(Replica),一旦创建,分片不能改变。Document Type:索引类型Document:索引记录,由唯一ID区分,ID决定Shard位置Filed:一条索引记录中的...

2016-10-05 18:53:47 270

ElasticSearch2.4.0单机版及集群安装

 编写不易,转载请注明( http://shihlei.iteye.com/blog/2327971)!概述(一)简介          基于lucene 实现的近实时搜索服务,Restful 接口操作     (二)名词解释Indics:索引库,相当于RDBMS的 数据库,整体控制分片(shard)和副本(Replica),一旦创建,分片不能改变。 D...

2016-09-30 09:38:51 340

原创 MySQL开启慢查询

一 开启和查看mysql 慢查询日志(1)命令方式 set global log_queries_not_using_indexes=on ;set global slow_query_log_file='/var/log/mysql/mysql-slow'.log;set global long_query_time=0.1;set global slo...

2016-07-17 17:42:21 300

原创 Flume自定义Sink—实现按天或小时分割文件并压缩保存

   编写不易,转载请注明:http://shihlei.iteye.com/blog/2306151     项目需要:    Flume收集日志,期望落地文件系统,按小时分割,并压缩保存。    Flume自带的File Roll Sink 只能按时间分割文件,不能定制存放目录,压缩文件等。所以自定义了Sink结合Log4j的RollingFileAppender的特性,完...

2016-06-20 16:56:04 2548 1

空空如也

空空如也

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

TA关注的人

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