Skip to content

Latest commit

 

History

History
42 lines (21 loc) · 2.63 KB

程序员素养.md

File metadata and controls

42 lines (21 loc) · 2.63 KB

程序员素养


在日常工作中肯定会遇到各种棘手问题,需要我们去查资料、认真思考,不断充实自己,提高自己。象大地之神盖亚的儿子——乌拉诺斯,每次跌倒都能站起来,并且拥有比之前更大的能量。

心得体会:

  • 写代码往小的方面讲是完成一个功能,往大的方面讲是做一个平台。抽象和枚举分寸拿捏恰当,做到最大通用性。需求变更和新功能接入时,做到最少的改动。做到这一点才称的上最佳程序员。

  • 关注最新流行的开源框架,能快速分析其优缺点。做好技术框架选型、测试、集成,上线使用。

  • 对于很多框架要知道其如何使用、然后要深入了解其原理。做到知其然,知其所以然。

  • 框架设计尽量要考虑其业务场景,每个领域都有其个性特征,大而全且通用的设计很难满足需求。

  • 做优化时要结合数据反馈,不能盲目瞎搞。

  • 墨菲定律:任何事情都没有表面看起来那么简单。所有的事都比你预估的时间长。

  • 集中式调用改为HSF分布式远程调用,走的网络调用。为了提高性能,封装client二方包,通过xml bean配置控制逻辑,先从tair中查询,然后再走远程调用。

工作经验:

1.流控

双11期间,对于一些重要的接口(比如帐号的查询接口,店铺首页)做流量控制,超过阈值直接返回失败。 另外对于一些不重要的业务也可以考虑采用降级方案,大促—>邮件系统。根据28原则,提前将大卖家约1W左右在缓存中预热,并设置起止时间,活动期间内这部分大卖家不发交易邮件提醒,以减轻SA邮件服务器的压力。

2.容灾

最大程度保证主链路的可用性,比如我负责交易的下单,而下单过程中有优惠的业务逻辑,此时需要考虑UMP系统挂掉,不会影响用户下单(后面可以通过修改价格弥补),采用的方式是,如果优惠挂掉,重新渲染页面,并增加ump屏蔽标记,下单时会自动屏蔽ump的代码逻辑。 另外还会记录ump系统不可用次数,一定时间内超过阈值,系统会自动报警。

3.第三方系统可能会不稳定,存在接口超时或宕机,为了增加系统的健壮性,调用接口时设置超时时间以及异常捕获处理。

4.做好容量规划、系统间强弱依赖关系梳理。

5.早期的订单采用oracle存储,随着订单的数量越来越多,查询缓慢,考虑数据迁移,引入历史表,将已归档的记录迁移到历史表中。当然最好的方法是分库分表。