- 博客(22)
- 资源 (8)
- 收藏
- 关注
原创 亚马逊项目管理经验总结
本文总结了管理亚马逊技术外包项目的经验。作者作为PM兼架构师,既要负责技术架构设计与沟通,也要管理业务需求、资源分配和项目交付。项目采用敏捷开发但强调文档规范,包括需求文档、UI设计、技术方案评审等关键节点。工作流程包括:年度计划制定、功能优先级排序、详细设计与评审、任务拆分与排期、开发实施、测试验收等阶段。特别强调了ORR评审的重要性,涉及架构图、性能测试、监控报警等多项内容。项目管理采用周计划和每日站会相结合的方式,通过定期进度跟踪确保项目按时交付。整个流程体现了对技术严谨性和管理规范性的双重重视。
2025-11-23 17:57:19
557
原创 扭蛋机系统架构
本文描述了一个扭蛋机活动的完整流程:用户参与活动后获取基本信息并分享助力链接,朋友登录助力后系统记录助力信息(通过SQS和Lambda处理),统计助力总数。当用户获得抽奖机会时,系统采用事务机制确保数据一致性,包括更新抽奖次数、库存和获奖记录。最后提供获奖查询功能。关键难点在于保障多表操作时的数据一致性,通过事务处理实现。
2025-11-07 18:15:52
205
原创 爬虫攻击导致SQS的DLQ报警异常排查及解决方案
摘要:本文分析了扭蛋机助力活动中出现的乐观锁并发冲突问题。发现27条同时触发的助力请求因分组批量处理导致多次重试消费失败。具体表现为:20条请求被分成两组后产生冲突,每组10条;重试时分5条两组仍冲突;最终剩余5条分2条和3条时才成功。问题根源在于分组异常处理机制不当,单条失败导致整组重试。解决方案建议采用单条数据重试策略,加入随机延迟降低冲突概率,并设置失败报警机制替代整组重试。同时指出自动化工具引发的反扒问题需另案处理。
2025-10-26 18:57:10
974
原创 AWS ECS内存利用率过高问题排查及处理
ECS服务出现内存利用率飙升问题,部分主机内存达90%,主要是无用对象未被GC回收。排查发现6个task中有2个长期运行,导致内存问题。经评估后手动重启1台主机,虽未直接降低峰值但使平均利用率下降。随后ECS自动缩容至3个task,内存恢复正常。推断是ECS某些bug导致高内存主机无法回收和替换,手动干预后系统恢复正常运行。
2025-10-25 22:19:32
807
原创 C-End Service Storage Architecture
What's C-End Service? C meas Consumer, so it's used to provide services for Consumer, such as buyers, in which there are many important issues , such as efficiency, reliablity and so on. The article refers to how to get a more efficiency C-End Service thro
2023-12-18 20:44:32
991
1
原创 Spring 学习篇1
一. Spring IoC容器概述1. 依赖反转(依赖注入):依赖对象的获得被反转了 ,如果合作对象的引用或依赖关系的管理由具体对象来完成,会导致代码高度耦合和可测试性的降低,这对复杂的面向对象系统的设计是不利的。它是spring框架的核心。2. 依赖控制反转的实现有多种方式。在Spring中,IoC(Dependency Inversion Principle)容器是实现这个模式的载体,
2023-12-09 20:07:07
911
1
原创 Redis OOM 问题排查
多个服务同时出现latency SEV2问题,经过排查发现是服务依赖的远程缓存Redis有6台host停止对外服务,另外其中一个slot是1主11从配置(默认1主4从),针对这些问题查找问题根本原因。
2023-01-19 17:37:47
1158
原创 基于IDEA的单元测试
单元测试目的是以最小的粒度保证代码的可靠性,从回归测试角度来考虑,可以在服务每次编译时自动调用单元测试,并将测试结果以邮件方式发送给相关人员,从而对每次提交的代码自动进行监测汇报,这些操作过程都有相关的插件可以完成,我们使Jenkins + Maven + Junit + JaCoCo来实现。JUnit完成基本的单元测试功能;JaCoCo用来进行代码覆盖率统计;Jenkins用来集成上述插件,在打包
2016-09-23 21:10:10
1332
原创 CPC广告业务架构总结
最近参与一个CPC广告的开发项目,所谓CPC就是按点击收费,这是现在各种流量平台主流的一种广告盈利模式;这种方式首先是保障平台的利益,当然对广告主的利益也有兼顾;具体的定价是按照GSP的用户竞价方式来确定,以达到充分刺激广告主竞争意识,从而更好保障平台利益,当然GSP竞价方式也能较好的保障广告主的利益,也是广告主乐意接受的竞价方式,GSP具体竞价原理在此就不赘述了。整个项目涉及的部门很多,包括B端
2016-09-10 00:17:11
4073
原创 地址分级服务总结
同类产品gd的准确率不会高于90%,与之相比,我们现在产品准确度高出很多,当然这也跟应用场景有关,gd后续采用大数据挖掘的方式完善了部分处理效果,这也导致gd这一产品只能作为一个处理步骤,无法独立对外提供服务;它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,它的查询时间复杂度为O(n),n为树的高度。这里面的难点就是字典数据的优化处理,此过程相当乏味与无聊,没有相当的毅力、决心以及相应的处理方法是绝对不可能解决这种长尾效应的问题的,现在想起来我都有点儿反胃。
2016-09-02 21:02:41
1570
原创 基于Tair存储的广告服务性能优化总结及思考
对基于Tair存储的广告服务性能进行优化,主要优化点分别为Tair存储模式问题、数据结构设计模式优化以及相关代码优化以及相关问题思考
2016-08-28 18:04:59
668
原创 技术博客破土
2016年8月21日正式开始技术博客 这段时间在看唐巧的技术博客,让我受益良多,最重要的影响是我决定以后像他一样坚持写技术博客。 对我来说当前最重要的职业发展规划,在这点上唐巧做的很成功,完成了技术的精深以及由技术到管理的转型,他的成功有诸多个人特质以及发展机遇在里面,基本不可能复制,但其中有很多有益的方法和处事方式很值得我来学习。 我现在正由一名高级地图算法工程师转型为一名初级的系统工程师,至于
2016-08-22 21:11:33
315
转载 java中ThreadLocal类的使用
ThreadLocal是解决线程安全问题一个很好的思路,ThreadLocal类中有一个Map,用于存储每一个线程的变量副本,Map中元素的键为线程对象,而值对应线程的变量副本,由于Key值不可重复,每一个“线程对象”对应线程的“变量副本”,而到达了线程安全。我们知道Spring通过各种DAO模板类降低了开发者使用各种数据持久技术的难度。这些模板类都是线程安全的,也就是说,多个DAO可以复
2016-06-23 16:11:12
281
转载 volatile变量的理解
浅谈volatile变量的理解 在Java并发编程里面,volatile是个很重要的概念,大象也来讲讲自己对它的理解。 以前曾经有段时间我一直没搞明白volatile到底怎么用,它是怎样实现的同步,而且对于volatile变量还有一些限制条件。任何技术在没完全弄明白之前,至少在没熟练掌握之前都不太敢放心大胆的用,大象想将自己对它的理解分享出来,给需要的人一些帮助。 v
2016-06-23 14:54:35
344
转载 synchronized调用规则
一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。 二、然而,当一个线程访问object的一个synchronized(this)同步代码块时,另一个线程仍然可以访问该object中的非synchronized(this)同步代码块。
2016-06-22 19:25:21
359
转载 java sleep与wait区别
对于sleep()方法,我们首先要知道该方法是属于Thread类中的。而wait()方法,则是属于Object类中的。sleep()方法导致了程序暂停执行指定的时间,让出cpu该其他线程,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。在调用sleep()方法的过程中,线程不会释放对象锁。而当调用wait()方法的时候,线程会放弃对象锁,进入等待此对象的等
2016-06-22 19:07:45
270
proj——坐标投影转换库
2011-06-23
proj——坐标投影转换 动态库
2011-06-23
System.Data.SQLite.DLL 64bit
2011-06-20
GDAL1_8 64位动态库
2011-06-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅