框架类
文章平均质量分 89
每天晒白牙
Java后端开发,做过第三方支付、新零售和广告系统,大厂程序员(腾讯/58同城)
平时喜欢研究技术、读书
运营公众号:每天晒白牙
个人vx:dingaiminIT
展开
-
Redis 过期策略
Redis 过期策略背景为了减少占用内存空间,通常会对放到 Redis 中的键通过 expire 设置一个过期时间,那 Redis 是怎么实现对过期键删除的呢?设置过期时间设置过期时间的四种方式# 将 key 的过期时间设置为 ttl 秒expire <key> <ttl> # 将 key 的过期时间设置为 ttl 毫秒pexpire <key> <ttl># 将 key 的过期时间设置为 timestamp 指定的秒数.原创 2021-02-05 21:42:53 · 192 阅读 · 0 评论 -
ElasticSearch License 过期解决办法
我们的广告倒排索引用的 ES版本是 5.6.3 ,然后在 kibana中管理集群,发现 license过期了点击 Get Basic注册一个免费的 Licence填写完后,会收到邮件下载完 License后查看 ES版本对应的 License方法https://www.elastic.co/guide/en/x-pack/5.6/ins...原创 2020-01-11 17:20:24 · 9826 阅读 · 0 评论 -
记一次线上问题及反思
背景介绍我们团队是做程序化广告的,我所在小组主要做 DSP 方向,对接外部 ADX,提供广告检索服务(对广告系统不熟悉的不要着急,后面有时间会给大家分享广告相关的文章)10 月 21 日上线了一个支持头条的需求,其实主要就是在展示和点击监控链接中增加了一个宏,比如请求 url 为:xxx.com/n/d/?fid=aaa&h_oaid={OAID},当我们的广告竞价成功后一般...原创 2019-10-25 08:30:27 · 389 阅读 · 0 评论 -
频繁FGC的真凶原来是它
频繁FGC的真凶原来是它上周排查了一个线上问题,主要现象是CPU占用过高,jvm old区占用过高,同时频繁fgc,我简单排查了下就草草收场了,但是过后我对这个问题又进行了复查,发现问题没有那么简单,下面跟着我一起分析一下到底是怎么回事?一定要先读完上篇文章cpu使用率过高和jvm old占用过高排查过程复查过程复查原因事后再看dump文件注意到最大的对象是一个ArrayL...原创 2019-10-15 13:50:41 · 986 阅读 · 0 评论 -
cpu使用率过高和jvm old占用过高排查过程
今天断断续续的收到管理平台的异常报警,cpu占用过高和jvm old占用过高,这个时候赶紧去排查原因,下面记录了我的排查过程,可能里面还有不正确的地方,欢迎各位大佬指正,也欢迎大家关于类似的案例一起交流,下面就看我关于这次排查的过程把报警cpu使用率过高报警,接近100%后续又来了jvm old过高报警排查过程首先打开监控平台看报警节点的cpu使用情况登...原创 2019-10-15 13:32:54 · 1858 阅读 · 0 评论 -
Kafka服务端之网络层源码分析
上次我们通过分析KafkaProducer的源码了解了生产端的主要流程KafkaProducer源码分析,今天学习下服务端的网络层主要做了什么,先看下 KafkaServer的整体架构图Kafka服务端架构图由图可见Kafka的服务端主要包括网络层、API层、日志子系统、副本子系统这几个大模块。当client端发起请求时,网络层会收到请求,并把请求放到共享请求队列中,然后由API层的H...原创 2019-09-12 11:15:45 · 446 阅读 · 0 评论 -
[译]Zookeeper的优点与局限性
1.Zookeeper的优点与局限性在学习了Zookeeper(后文都简称zk)的介绍和功能后,您已经很好地理解了zk。 现在,在这个zk教程中,我们将讨论zk的优点和局限性。 zk有几个功能对用户非常有益,但同时也存在一些局限性,所以在我们使用zk前,必须先了解一下。让我们分别学习一下zk的优点与局限性2.zk的优点下面列出了使用zk的各种优点01.分布式协调过程简单zk节点之...原创 2019-09-16 13:08:30 · 1118 阅读 · 0 评论 -
分母为0一定会抛异常吗?
现象描述最近做了一个需求,用到了 预算 / 时间窗口数,其中预算是double类型,时间窗口数是int类型,其中时间窗口数我计算的有问题,会出现为0的情况(实际最小值应该为1),然后就出现了 一个double类型的数除以0的情况,分母为0,是不是要报 java.lang.ArithmeticException: / by zero?(不蛮大家,我最初也是这样认为的,但这个异常是针对整数的,...原创 2019-09-16 22:46:58 · 2681 阅读 · 0 评论 -
KafkaProducer源码分析
KafkaProducer源码分析Kafka常用术语Broker:Kafka的服务端即Kafka实例,Kafka集群由一个或多个Broker组成,主要负责接收和处理客户端的请求Topic:主题,Kafka承载消息的逻辑容器,每条发布到Kafka的消息都有对应的逻辑容器,工作中多用于区分业务Partition:分区,是物理概念,代表有序不变的消息序列,每个Topic由一个或多个Par...原创 2019-08-25 18:04:15 · 484 阅读 · 0 评论 -
老年代又占用100%了,顺便发现了vertx-redis-client 的bug
周五中午陆续收到线上广告检索服务某些节点内存不足的报警,这个服务在我们的广告系统中非常重要,所以需要快速止损,立马重启有问题的节点,可是这个时间点真是尴尬,刚好去食堂吃饭了,还好同事机灵在手机上登录云平台,把有问题的节点重启了回到工位后,又陆续收到了相同的报警信息,开始和同事一起排查,找到占用内存过高的进程后,通过查看gc情况,发现新生代和老年代都满了,内存得不到释放,遇到这种问题就...原创 2019-08-25 17:45:32 · 2374 阅读 · 1 评论 -
Spring3.x能用jdk8的lambda表达式吗?
公司有个站点用的公司内部的自研的类springMVC框架WF,所以在这个项目中没有引入spring,而是直接使用的WF框架中的。今天写代码,使用了lambda表达式,然后启动项目就报下面的异常:BeanDefinitionStoreException Failed to read candidate component class上面的异常导致这个有问题的java文件对应的class文件是有问题的...原创 2018-06-27 19:51:29 · 2192 阅读 · 0 评论 -
fastjson中map或list和json互相转化
我们在工作中经常会用到json,市面上也有很多用于json解析的工具,我这边用的是阿里巴巴的fastjson,对应的pom文件为:<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2...原创 2018-06-27 20:22:56 · 3550 阅读 · 0 评论 -
ElasticSearch初探
最近在做数据漏斗的需求,就是统计ADX调用到我们DSP系统,我们DSP系统内部,对流量的过滤情况,做一个可视化界面,供PM查看。因为存储采用的ES,之前没有在项目中使用过,这两天看官方文档恶补了下,说实话,英文的官方文档真的是最好的学习资料,写语句时遇到了问题,去论坛发帖,一个外国友人回复了,因为我在提问时没有把代码格式化,以至于可读性非常差,后来改了,可读性增强,这样对别人也是一种尊...原创 2018-08-10 19:40:00 · 3056 阅读 · 3 评论 -
spring容器注册组件的方式
给容器注册组件的方式:1.包扫描+组件标注注解(@Controller @Servuce @Repostiory @Component) --局限自己写的类1)配置文件的方式在application.xml中配置,配置包扫描路径<context:component-scan base-package="com.dingaimin"></context:compo...原创 2018-09-29 16:18:17 · 459 阅读 · 0 评论 -
spring bean的生命周期
我们在使用spring的时候,都知道spring的两大功能 IOC和AOP,IOC主要是容器对bean的生命周期的管理,下面介绍下bean的生命周期所谓bean的生命周期,就是指 bean创建--> bean 初始化 -->bean 销毁的过程 (容器管理bean的生命周期),我们可以自定义初始化和销毁方法,容器在bean进行到当前生命周期的时候调用我们自定义的初始化...原创 2018-09-30 14:16:33 · 381 阅读 · 0 评论 -
spring属性赋值
给属性赋值一般会使用这两个注解 @Value @PropertySource1.@Value 赋值1)基本数值2) SpEL 表达式 #{}3)${} 取出配置文件的值(在运行时环境变量中的值 Environment) 2.PropertySource 读取外部配置文件中的 key-value 保存到运行时环境变量中,加载完外部配置文件以后,使用 ${} 取配置文件中的值...原创 2018-09-30 15:32:40 · 1413 阅读 · 0 评论 -
Reactor线程模型
Reactor是什么?The reactor design_pattern is an event_handling pattern for handling service requests delivered concurrently to a service handler by one or more inputs. The service handler then demultip...原创 2019-06-16 12:41:43 · 1488 阅读 · 0 评论 -
Redis慢查询日志
Redis慢查询日志Redis慢查询日志功能是用于记录执行时间超过给定时长的命令请求,可以通过查看慢查询日志来监控和优化查询速度慢查询配置相关的参数 slowlog-log-slower-than:指定执行时间超过多少微秒的命令会被记录到日志上 例如,该值设为100,则执行时间超过100微秒的命令会被记录到慢查询日志中 slowlog-max-len:指定服务器上...原创 2019-08-25 17:36:39 · 351 阅读 · 0 评论