java
文章平均质量分 63
伦无次语
这个作者很懒,什么都没留下…
展开
-
二十三种设计模式应用个人总结
创建型1. Factory Method(工厂方法)2. Abstract Factory(抽象工厂)3. Builder(建造者)4. Prototype(原型)5. Singleton(单例)结构型6. Adapter Class/Object(适配器)7. Bridge(桥接)8. Composite(组合)9. Decorator(装饰)增强10原创 2016-08-30 16:56:34 · 347 阅读 · 0 评论 -
基于redis的zset实现排行榜功能
基于redis的zset实现排行榜功能原创 2017-09-27 16:03:02 · 33359 阅读 · 2 评论 -
分布式事务解决方案--GTS(一)
1. 杂谈由于目前公司项目是单体架构,服务之间耦合严重,发布个活动都需要发布主应用,对线上服务的稳定性造成了一定影响,最近公司就开始做微服务化的拆分,而且又不能停止现有功能的迭代开发,所以就一边开发新功能,一边拆分服务。2. 问题小公司果然在实现微服务的道路上步步维艰,虽然微服务现在如火如荼,但行业上对其实践其实仍处于探索阶段,基础设施不够完善。主要问题包括: - 单体应用拆...原创 2018-03-19 00:41:01 · 1528 阅读 · 0 评论 -
分布式事务解决方案--GTS(二)
场景阿里云提供了一个经典分布式事务的场景A 和 B 两个账户的数据分别位于两个RDS数据库中。A转账给B,转账10次,前5次成功,后5次失败。使用GTS事务保证A和B两个账户的总金额始终不变。注解使用方式目前GTS还处于公测阶段,想要使用的话,需要开通GTS服务。开通 GTS 服务后,在开通完成页面右上方菜单栏中单击 控制台 或返回产品详情页单击 进入 GTS 控制台,...原创 2018-03-20 23:32:42 · 1802 阅读 · 0 评论 -
记一次CPU100%的线上问题处理
问题昨天刚好是周五,忙碌了一周本以为可以在周五好好轻松下,没成想线上的活动服务出了个问题,市场反馈最近上线的微信活动(是一个类似于测试性格的答题游戏),在游戏结束后结算的时候页面卡死。排查我们赶紧查看接口调用日志,发现接口平均响应时间在4s左右。这次活动使用了mongodb,我们之前在做活动的时候碰到过一次忘记给mongo建立索引,导致接口卡死的情况,所以赶紧检查mongo的查询t...原创 2018-03-31 16:15:51 · 547 阅读 · 0 评论 -
记一次线上文件数打开过多的问题(二)
分析之前分析对文件数打开过多的原因可能存在如下三个地方:分布式锁异步定时任务异步写日志下面一个一个分析。分布式锁分布式锁是采用redis实现的,加入了自旋的功能(redis做分布式锁终归不是一个很好的方案),但是代码中使用这个锁的地方不止一处,之前都一直没有出问题,所以先放一边。异步写日志由于查看lsof,是sock一直在增长,考虑是网络连接没有正常释放的问题,用到网络连接...原创 2018-10-16 02:07:48 · 710 阅读 · 0 评论