06 2020 档案

摘要:背景 最近在设计和开发部门的基础架构,需要利用反射技术找到classpath目录下所有包含指定注解的类,然后根据注解配置完成指定的功能。 最初是想自己写代码来实现这些功能,边查资料边写,整了大半天,写出来的效果自己都不太满意。一方面是代码多,不好维护;另一方面是性能不太好。不过,在查资料的过程中,我 阅读全文
posted @ 2020-06-24 16:43 panchanggui 阅读(4304) 评论(0) 推荐(0) 编辑
摘要:一、缘起 很多时候,业务有定时任务或者定时超时的需求,当任务量很大时,可能需要维护大量的timer,或者进行低效的扫描。 例如:58到家APP实时消息通道系统,对每个用户会维护一个APP到服务器的TCP连接,用来实时收发消息,对这个TCP连接,有这样一个需求:“如果连续30s没有请求包(例如登录,消 阅读全文
posted @ 2020-06-12 17:22 panchanggui 阅读(566) 评论(0) 推荐(0) 编辑
摘要:一、缘起 很多时候,业务有“在一段时间之后,完成一个工作任务”的需求。 例如:滴滴打车订单完成后,如果用户一直不评价,48小时后会将自动评价为5星。 一般来说怎么实现这类“48小时后自动评价为5星”需求呢? 常见方案:启动一个cron定时任务,每小时跑一次,将完成时间超过48小时的订单取出,置为5星 阅读全文
posted @ 2020-06-12 16:08 panchanggui 阅读(622) 评论(0) 推荐(0) 编辑
摘要:一、为什么要用分布式ID? 在说分布式ID的具体实现之前,我们来简单分析一下为什么用分布式ID?分布式ID应该满足哪些特征? 1、什么是分布式ID? 拿MySQL数据库举个栗子:在我们业务数据量不大的时候,单库单表完全可以支撑现有业务,数据再大一点搞个MySQL主从同步读写分离也能对付。但随着数据日 阅读全文
posted @ 2020-06-04 14:35 panchanggui 阅读(450) 评论(2) 推荐(0) 编辑