`
Rss 文章列表
  (编写不易,转载请注明: https://shihlei.iteye.com/blog/2435851) 一 概述   我们的项目中使用 Feign 进行服务调用,底层使用OkHttpClinet的实现。生产环境,特别关注 “超时”,“重试”等的设置。   关于SpringCloud Feign的使用可以参考之前的文章:《SpringCloud(二):声明式RestClient—Feign》    顺便看了下查看了Feign的源码,这里做个记录。   依赖版本:   <dependency> <groupId>or ...
编写不易,转载请注明(http://shihlei.iteye.com/blog/2433665)! 一 概述 SpringBoot Actuator 是SpringBoot提供的 “应用监控管理” 工具,可以方便的获取系统的各种信息,配合其他的监控工具定时采集这些信息完成系统监控。   Endpoint ...
 (编写不易,转载请注明:http://shihlei.iteye.com/blog/2432861)    一 概述 项目用ElasticSearch作为检索引擎,索引规模不大,业务初期 “8千” ducuments,后续增长到最大 “30万”,索引大小约 1g。   业务要求性能优先,期望50ms? ...
 (编写不易,转载请注明:http://shihlei.iteye.com/blog/2404997) 一 概述 负载均衡,简单说即将 “负载” 按照一定策略分摊到不同的执行单元中执行。    服务的负载均衡目前主要实现策略: 1)服务器端反向代理:硬负载 F5, 软负载 LVS,Nginx;可以透明接入,但要独立搭建高可用架构。 2)客户单端负载均衡器:lib形式提供,可以根据需要灵活控制策略,但需要客户端集成。   Ribbon 属于客户端负载均衡器,主要应用于服务消费者,支持RestTemplate,Feign等请求技术集成,支持从配置文件或从Eureka重拉取Ser ...
(编写不易,转载请注明:http://shihlei.iteye.com/blog/2431224)   一 概述 有段时间没有更新SpringCloud的文章了,目前 SpringBoot 版本 2.0.5.RELEASE,SpringCloud 的版本:Finchley SR1 ,本文继续之前的规划,介绍下 SpringCloud集成 Hystrix 断路器功能。   Hystrix 是 Netflix 实现的断路器模式的框架库,关于 “断路器” 和 “Hystrix” 的背景知识可以阅读之前的文章: 《 SpringCloud(四)番外篇(一):Hystrix 断路器 》 ...
   编写不易,转载请注明(http://shihlei.iteye.com/blog/2429846)! 一 概述 书接前篇,《Hystrix:断路器》 对断路器和Hystrix做了简单的介绍,旨在帮助读者做个简单入门。本文简单分下Hystrix的源码实现,帮助读者更好的了解Hystrix。   分析版本:   <dependency> <groupId>com.netflix.hystrix</groupId> <artifactId>hystrix-core</artifactId> ...
编写不易,转载请注明(http://shihlei.iteye.com/blog/2428557)!   一 概述  近些年,微服务架构模式在企业中的得到应用推广,基于SpringBoot,SpringCloud快速实现微服务的技术也得到广泛应用。   SpringCloud是什么?简单的说是一套 ...
  编写不易,转载请注明(http://shihlei.iteye.com/blog/2428152)!   一 概述 阅读Hystrix的源码过程,看到很多RxJava的使用,本文对其中一些重要的方法进行总结,为之后Hystrix的讲解做铺垫。   如果对应响应式编程,RxJava不是很了解,可以阅读《响应式编程 RxJava》做个简单的入门。   版本: <dependency> <groupId>io.reactivex.rxjava2</groupId> < ...
  编写不易,转载请注明(http://shihlei.iteye.com/blog/2426891)!   一 概述   最近使用Hystrix,看文档Hystrix底层基于Rxjava实现,很好奇,就一起研究了下,做个总结   二 响应式编程(Reactive Programming) 定义:一种基于异步数据流概念的编程模式。 核心:事件,可以被触发,传播,订阅 特点:易于并发,易于编写按条件执行代码,避免大量回调 最常见的使用场景:发送网络请求,获得结果,提交事件,更新   注:主要是基于观察者模式,关于观察者模式可以参考我之前的文章:《观察者模式及Guava ...
编写不易,转载请注明(http://shihlei.iteye.com/blog/2426888)!   一 概述 最近看RxJava,其骨架就是使用的观察者模式,所以对观察者模式做个总结,顺便记录一下Guava EventBus的实现(事件监听,其实也相当于观察者模式)   二 观察者模式 1)概述   观察者模式:行为模式,提供一种一对多关系绑定对象的方法,一个对象状态需发生改变,绑定对象能收到通知完成自己的业务更新。   主要成员: 被观察者(Observerable):状态变化,通知所有的观察者。 观察者(observer):接收到“被观察者”的状态变化通 ...
  编写不易,转载请注明(http://shihlei.iteye.com/blog/2426434)   一 概述        像free 这样的命令,默认打出字节数,不好阅读,幸好提供了 free -m 可以转换成兆字节。针对不能提供这种转换的命令或者场景,numfmt可以帮我们完成转换,目前看主要用于字节转换。          numfmt 用于把数字转换成可阅读的形式(位于coreutils包中,yum install coreutils 可以安装)。          命令使用:numfmt [OPTION]... [NUMBER]...   二 基本方法 ...
   编写不易,转载请注明( http://shihlei.iteye.com/blog/2423848 )!   一 概述 (一直没有升级ES版本,这里只记录使用这一年多的一些优化结论)   Elasticsearch2.4.2  做索引库,提供低延迟的查询需求。 业务规模:docuement 规模 90万,大概200M,不算大。 查询特点:都是terms查询,没有聚合查询。客户端使用的是jest 基于http查询es。 性能:3000qps 并不大,tp 999 暂未统计 二 架构   (1)节点类型        master node:协调,存储元数据,负载和 ...
 编写不易,转载请注明 (http://shihlei.iteye.com/blog/2423672)     一 Java1.8 Dockerfile 构建(可以省略)   (1)目录结构 $ ls Dockerfile jdk-8u161-linux-x64.tar.gz   (2)Dockerfile ############################################################ # Dockerfile to build Java Installed Containers # B ...
  编写不易,转载请注明(http://shihlei.iteye.com/blog/2423653) 一 概述 Java应用,线上查看gc,堆分配,堆使用是很常见的需求。JDK自带的命令可以查看很多信息,掌握后对我们定位问题能起到很大的帮助。 本文总结相关命令的? ...
  编写不易,转载请注明(http://shihlei.iteye.com/blog/2421576)!   一 概述 Aviator 是一个Java 语言实现的表达式引擎,可以接受字符串类型的表达式,带入参数求值。   需求场景: 用户日志字段:[ip,phone,userid,action]   希望灵活组合这些字段,生成规则,比如 “1小时,userid,在ip上,触发action 100次报警”,并能灵活修改或新增。   这种需求基于Avaiator实现非常方便,实现规则引擎后,规则修改组合就不需要研发干预了。   本文基于Aviator自定义函数实现一个规 ...
Global site tag (gtag.js) - Google Analytics