商品中台系统的一些设计思考 今天分享实现中台系统中的一些设计思考 系统目标 搭建商品中心系统和服务,支持多个业务线产品的统一存储和输出 数据进去中台系统到可用,延迟不超过5分钟 满足接收消息qps超过2000 系统设计 系统分三个模块,分别负责数据落地,数据搜索和数 2020-05-13 java java 项目中接口性能优化 今天分享下项目中使用缓存对项目进行性能优化 背景 项目中流量高峰时,db的qps达到15k左右,线程数达到5k(服务器设置的最大连接数),创建链接最高耗费达到2s。数据库服务器的连接数以及cpu升高,处理能力下降,响应时间变长 接口提供的批 2020-04-13 java java elasticsearch学习系列-分布式系统中深度分页 本文介绍下ES中搜索的分页功能,据此也引出分布式系统中深度分页的问题 ES分页功能 elasticsearch接收form(开始返回的结果位置,从0开始)和size(返回的数量)参数; 结果集在返回之前先排序,每个分片产生自己的排序结果,再 2020-01-11 elasticsearch elasticsearch 记一次上线后服务器cpu飙升异常问题 今天记录分享一次服务上线后cpu飙升问题 问题经过和分析 项目的场景是接收各个系统的消息进行处理, 项目消费上线前,一些发消息的业务逻辑先上线,消息在消息队列内大量挤压 服务上线,没有对消息队列内消息reset处理,大量消息涌入 服务内部并 2020-01-11 java 问题记录 java elasticsearch升级-transportClient转HighLevelRestClient 今天分享下项目中进行elasticsearch升级,同时伴随着transport Client转换位High Level Rest Client. 升级迁移步骤 es 集群升级(DBA操作) 数据全量迁移 使用High Level Rest 2020-01-02 elasticsearch elasticsearch java虚拟机内存区域介绍 本文将简单介绍下java内存区域,借此加深对java虚拟机的理解;希望对入门者有一定的引导作用,同时也作为记录帮助自己记忆,若有错误,希望大牛指点一二; 简述java虚拟机所管理的内存包括这几个运行时数据区:程序计数器、java虚拟机栈、本 2019-12-22 java java java并发专题-线程池介绍 今天介绍下java中的线程池应用,主要介绍java中的Excutor框架 线程池的好处 提高响应速度,处理任务时无需等待线程创建; 提高线程管理性,对线程池内线程统一分配、调度、管理; 降低资源消耗,通过重复利用已创建的线程降低线程创建和销 2019-12-08 java java 并发 记一次线上问题-java内存溢出 这里分享一个线上问题案例及解决过程。小k来到新公司不久,一天早上,小K收到一封报警邮件,提示某项目出现较多异常。小k点击邮件查看详情,发现提示out of menery错误。此时同事们还没来,小k暗自吐槽:“怎么都没来,这个项目代码自己也还 2019-11-08 java 问题记录 java java容器-列表和队列 今天介绍一些java内的容器-列表和队列,有些容器会在后续案例中更详细介绍 列表和队列 ArrayList 实现了Iterable接口,可迭代, 内部有一个数组elementData,一般有些预留空间,有整数size记录实际元素个数; 添加 2019-11-05 java java 缓存数据一致性刷新方案 这里分享一下缓存和数据库数据一致性刷新的一些方案和实践。主要从一下4个方面进行介绍和分享。 数据一致性介绍 随着业务发展,数据需要添加副本以提高可行性; 为减少db访问压力,需要进行读写分离; 为提高接口响应时间,一般会将访问数据进行缓存; 2019-10-31 redis redis java容器-堆和优先队列 今天介绍一些java内的容器-堆和优先队列,有些容器会在后续案例中更详细介绍 堆 是完全二叉树,给定任意一个节点,可以根据其编号直接快速计算出其父节点和孩子节点编号 根据顺序分为两种堆:一种是最大堆,另一种是最小堆 可以实现优先级队列,解决 2019-10-16 java java java容器-Map和Set 今天介绍一些java内的容器-Map和Set,有些容器会在后续案例中更详细介绍 Map HashMap 实现map接口, key value键值对 内部实例变量size表示实际键值对的个数。table是一个Entry类型的数组,称为哈希表或 2019-10-15 java java