一个简单邮件发送需求的实现涉及到的知识点

最近在开发一个监控的需求,我需要将分库分表没有落地的数据校验出来,制作成邮件发送出去。

我们环境的分库分表是分成32个库(32台机器),每个库中32张表,crc32会将任何字符串转换为一个long型数字。任何数字模以x的结果都会平均分布在0-(x-1)区间内,利用这一点,我们以字符串为维度去分库分表,先用crc32算法得到一个long值,再用他模以表的总数得到key。这个key/32就是db索引,key%32就是tb索引。两个索引都是平均分布在0-31之间。

我在发送邮件的时候,使用了javax的mail类,网上copy了一下。使用线程池进行邮件发送。

邮件内容需要携带数据坐标信息,即刚刚的db索引,tb索引,以及本机ip。本机ip的获取用到了java.net的InetAddress类,该类没有公开的构造函数,我们通过懒加载的单例模式来获取该对象。

你可能感兴趣的:(业务)