工作
文章平均质量分 82
hadixlin
这个作者很懒,什么都没留下…
展开
-
Guava学习笔记
Guava是Google的Java核心库,基于Java5+.Guava由com.google.common.annotations com.google.common.base com.google.common.base.internal com.google.common.collect com.google.common.io com.google.common.原创 2013-11-23 12:42:56 · 885 阅读 · 0 评论 -
Hibernate many-to-many,many-to-one,inverse测试
近日工作中发现对Hibernate一些概念模糊.故望此文可以帮助我理顺思路.写了一个简单的Demo做测试.两个实体public class Type { private int id; private String name; private Set books; //省略getter,setter等方法,下同}原创 2013-11-23 12:42:46 · 950 阅读 · 0 评论 -
魅族生活服务多机房方案
生活服务多机房方案做多机房部署的目的在于提升业务可用性,结合智能DNS,GSLB使用户可以就近访问提升体验,并避免DNS劫持.生活服务数据情况分析数据使用情况运营配置数据保存在mysql使用redis缓存VirtualType等保存在mysql的枚举数据,本地缓存并使用MetaQ进行广播同步订单回调数据,实时写入mysql,客户端用户重新可以查看数据,要求实时性较高...原创 2018-08-07 14:24:51 · 2568 阅读 · 0 评论 -
魅族秒杀活动优化
秒杀活动优化点优化缓存设计以减少交互次数例如:使用hmget一次性读取需要的数据;将相关数据打包在一起可以通过单个key访问返回针对秒杀活动指定业务状态枚举来表示正常逻辑错误减少使用异常控制逻辑分支.(找不到子活动,活动没开始,活动结束,用户参与过)这些状态,可以直接用状态枚举返回.某些业务逻辑不相关的操作可以异步处理记录活动监控数据这些,异步处理失败也不会影响正常业务,监控...原创 2018-08-07 14:44:56 · 2619 阅读 · 0 评论 -
通过分拆库存记录提升并发性
通过分拆库存记录提升并发性在许多互联网业务中扣除库存操作往往是瓶颈点,例如电商的秒杀活动,派发优惠券等等.因为数据库单挑记录只能串行操作,所有的并发访问需要加排他锁进行访问.在不向系统中引入其他组件的情况下可以通过将库存记录拆分为多条来提升并发性.基本方案如下.数据库中为每个批次建立多条记录,拆分库存以降低竞争.应用服务器在第一个访问发起时,初始化批次库存记录数组. 0...原创 2018-08-07 14:59:44 · 2443 阅读 · 0 评论 -
魅族图片服务2.0
魅族图片服务2.0魅族图片服务2.0图片服务1.0现状及问题图片服务2.0功能需求设计说明设计目标图片处理方案元数据结构设计与存储高可用文件存储存储设备方案软件架构部署架构业务接入方式设计图片服务1.0现状及问题使用MFS作为存储,有单点失效问题IO性能差,经常不可用.代码耦合度高,不易拆分功能模块,难以维护和扩展新功能.调用第三方图片...原创 2018-08-07 15:49:15 · 2344 阅读 · 0 评论 -
魅族生活服务数据同步优化方案
生活服务数据同步优化方案生活服务数据同步优化方案数据落地方案数据分析程序架构:程序抽象进一步优化数据落地方案数据分析生活服务需要定时拉取保存的数据有“商户,团购,电影”三类. 数据项 数据量 下载文件尺寸 是否有分页 更新频率 团购 400w+ 13G+ 是 高 商户 200W...原创 2018-08-07 16:12:11 · 6562 阅读 · 0 评论