`
文章列表
  (编写不易,转载请注明: https://www.iteye.com/blog/user/shihlei/blog/2521438)   1 背景 Apollo(阿波罗)是携程框架部门研发的分布式配置中心,现在已经众多互联网公司普及。   SpringBoot集成ApolloClient配置中心,在中心更改,本地配置也会更新,即热更新。   项目实践中发现,公司用的版本0.9,居然不支持热更新,需要手动写Listener监听变化,网上查看,人更新要到1.0以后才支持。升级apollo-client版本到1.0不好使。   于是干脆自己写了个热更新组件,用来支持@Val ...
   (编写不易,转载请注明: https://shihlei.iteye.com/blog/2442053) 一 概述     继续支持运营出统计数据,需要行转列,看来下 GROUP_CONCAT 函数,做个记录。   二 场景 1) 表结构 员工表employee  id, name , type , age, leader   CREATE TABLE `employee`( `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT 'id', `name` VARCHAR(100) NOT NULL COMMENT '姓名', ...
  (编写不易,转载请注明: https://shihlei.iteye.com/blog/2441050) 一 概述     近期支持运营活动,写sql出统计报表,计划group by ,count一下就行,但是对于多维度的统计需求,就考虑多个统计脚本,不同的where条件进行查询,再将多个统计结果按照日期聚合,明显多条sql麻烦。       网上查了下,count函数 和 sum函数 支持条件统计,使用这个技术,sql就简洁很多。   二 场景 数据源:  activity_user_records 活动日志表是一条指定用户活动消费记录   数据样例: acti ...
  (编写不易,转载请注明: 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:协调,存储元数据, ...
Global site tag (gtag.js) - Google Analytics