加载中
京东开源热key探测(JD-hotkey)中间件单机qps 2万提升至35万实录

京东hotkey框架(JD-hotkey)是京东app后台研发的一款高性能热数据探测中间件,用来实时探测出系统的热数据,并将热数据毫秒内推送至系统的业务集群服务器的JVM内存。以下统称为"热key"。 该...

京东App秒级百G日志传输存储架构设计与实战

本文作者:京东零售平台业务研发部-武伟峰,数据与智能部-李阳 背景 在日常工作中,我们通常需要存储一些日志,譬如用户请求的出入参、系统运行时打印的一些info、error之类的日志,从而对系...

京东app后台多端融合架构代码重构实战

一 简介 重构是一个非常常见且古老的课题,涉及重构的文章、书更是不可胜数。 但其实做程序做久了就会知道,想把一个复杂的系统做好,尤其是参与人数较多的中大型项目,靠看几本设计模式的书...

netty结合Protostuff传输对象案例,单机压测秒级接收35万个对象

单纯netty结合protostuff进行rpc对象传输的demo网上有很多,大部分都是一个模子刻出来的,一开始我也是抄了一个,本地测试畅通无阻,未发生任何异常。部署预发环境,进行压测后,问题巨多,各...

SpringBoot 使用sharding jdbc进行分库分表,基于4.0版本,Springboot2.1

之前写过一篇使用sharding-jdbc进行分库分表的文章,https://blog.csdn.net/tianyaleixiaowu/article/details/70242971,当时的版本还比较早,现在已经不能用了。这一篇是基于最新版来写的。...

深入浅出AQS之共享锁模式

搞清楚AQS独占锁的实现原理之后,再看共享锁的实现原理就会轻松很多。两种锁模式之间很多通用的地方本文只会简单说明一下,就不在赘述了,具体细节可以参考我的上篇文章深入浅出AQS之独占锁模...

关于电商秒杀系统中防超卖、以及高性能下单的处理方案简述

秒杀抢购系统的成功平稳运行,有一些需要注意的知识点。 1 高并发,以及刷接口等黑客请求对服务端的负载冲击 2 高并发时带来的超卖,即商品数量的控制 3 高负载下,下单的速度和成功率的保证...

redis探秘:选择合适的数据结构,减少80%的内存占用,这些点你get到了吗?

本文首发于京东零售平台公众号,https://mp.weixin.qq.com/s/uzuz7rqctQ-bjdRcf1tO9g redis作为目前最流行的nosql缓存数据库,凭借其优异的性能、丰富的数据结构已成为大部分场景下首选的缓存...

使用 Reactor 进行反应式编程

反应式编程(Reactive Programming)这种新的编程范式越来越受到开发人员的欢迎。在 Java 社区中比较流行的是 RxJava 和 RxJava 2。本文要介绍的是另外一个新的反应式编程库 Reactor。 反应式...

手写中间件之——并行框架(1 并行框架的应用场景和需求)

我们为什么会需要一个带任务顺序编排的并行框架 1 复杂的微服务系统间调用 经常会有这样的调用场景:app(或web前端)调用后台的一个接口,该接口接到该请求后,需要调用其他多个微服务来获取...

看完这篇还不会Elasticsearch,我跪搓衣板!

本文转载自:https://www.cnblogs.com/jajian/p/11223992.html 关于elasticsearch的深度好文。 生活中的数据 搜索引擎是对数据的检索,所以我们先从生活中的数据说起。我们生活中的数据总体分...

高级开发必须理解的Java中SPI机制

本文通过探析JDK提供的,在开源项目中比较常用的Java SPI机制,希望给大家在实际开发实践、学习开源项目提供参考。 1 SPI是什么 SPI全称Service Provider Interface,是Java提供的一套用来被...

开源异步并行框架,完成任意的多线程编排、阻塞、等待、串并行结合、强弱依赖

本文首发于京东零售公众号,https://mp.weixin.qq.com/s/17OAAbCKQND-AjTdf43TGw netty是一个经典的网络框架,提供了基于NIO、AIO的方式来完成少量线程支持海量用户请求连接的模型。netty里面...

7 mysql事务(包括redo log,undo log,MVCC)及事务实现原理

之前写了几篇mysql存储原理的文章。 6 Innodb_buffer_pool 5 b+ tree和每个page存储结构 4 innodb文件系统基本结构(段、簇、页面) 3 innodb文件系统初步入门 2 表对象缓存 1 连接层 这一篇...

手写中间件之——并行框架(3 异步回调如何实现)

上一篇主要讲了任务的编排该如何实现,包括串、并、串并结合。建议一定要手写个小demo去尝试各种基本组合。 这一篇主要是讲该如何实现异步回调。 如果之前有用过netty的应该知道,netty里大量...

Java中使用etcd,包括基本的set、get、超时设置,watch监听等

etcd的使用文章。 etcd来zookeeper类似,常用的主要有set,get,getPrefix:获取指定前缀的所有数据,grant:key的超时设置,watch:监听回调事件,watchPrefix:监听某个前缀的事件,keepA...

京东618大促压测时自研中间件暴露出的问题总结,压测级别数十万/秒

前天618大促演练进行了全链路压测,在此之前刚好我的热key探测框架(点击可跳转到开源地址)也已经上线灰度一周了,小范围上线了几千台服务器,每秒大概接收几千个key探测,每天大概几亿左右...

分布式环境下对部分热数据(如redis热key,热请求)进行探测,并对探测结果及时同步到各个client实例的JVM内存的方案简述

可先阅读之前的这篇,有赞的热key探测及缓存方案。 常见场景 突发性的无法预先感知的热点数据请求,或者有阵发性明显热点数据的。 譬如突然大量请求都命中了redis的某个分片,造成该redis卡顿...

基于各服务注解方式,在网关zuul中对所有下游服务权限做控制,覆盖到所有接口,权限控制到角色、菜单、按钮、方法

开源地址:https://gitee.com/tianyalei/zuulauth 在单体应用架构下,常见的用户-角色-菜单权限控制模式,譬如shiro,就是在每个接口方法上加RequireRole,RequirePermission,当调用到该方法...

京东毫秒级热key探测框架设计与实践,已完美支撑618大促

在拥有大量并发用户的系统中,热key一直以来都是一个不可避免的问题。或许是突然某些商品成了爆款,或许是海量用户突然涌入某个店铺,或许是秒杀时瞬间大量开启的爬虫用户, 这些突发的无法预...

没有更多内容

加载失败,请刷新页面

返回顶部
顶部