# sms-platform **Repository Path**: chumengqing/sms-platform ## Basic Information - **Project Name**: sms-platform - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-11-20 - **Last Updated**: 2021-11-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README eureka: 注册中心 common: 公用模块,公共类与常量 cache: 缓存微服务 search: 搜索微服务 strategy: 短信过滤策略服务 monitor: 监控服务 interface 运营管理模块 gateway: 网关服务模块 webmaster: 模拟客户端 test: 测试客户端 day01: 用户或者项目,访问接口模块发送短信,将短信内容信息传给接口模块,接口模块进行校验(非空校验,参数值校验) 然后接口模块将校验完成的参数封装成StandardSubmit,然后发送给消息队列 策略模块监听消息队列,然后对接收到的StandardSubmit使用策略进行过滤 day02: 一共完成了三个策略,号码补全策略、扣费策略、路由策略,如果过程中有没有通过策略 则向push_sms_report中发送失败信息,且向sms_send_log中发送错误日志 能够使用cmpp模拟成功发送短信 day03: 1.在接口模块监听发送失败的短信队列, 2.并将去redis中根据clientid查询回调地址 3.根据回调地址发送http请求,将report对象主动发送给客户项目 4.如果接受到客户的响应,不继续发送,如果没有接收到,隔一段时间继续发送 day04: 1.完成脏词策略,使用dfa工具类 2.完成限流策略,通过向redis中存值并设置生存时间来实现 3.完成黑名单策略,让目标手机号作为key,去redis黑名单get,如果能查到值,说明改手机号被拉黑 4.完成Search模块的监听日志队列,将日志队列的对象消费,并创建文档存入redis中 过滤模块执行过程中,如果短信发送被拦截则会发送日志去日志队列, 短信成功执行完过滤模块,并且路由到gateway之后同样需要向日志队列发送日志, 当gateway将短信成功发送给模拟的运营商后,会再次给update日志队列发送消息(短信发送完成) Search模块需要检测两个队列 report_update_topic队列是接收gateway模块发送的“短信发送成功”消息,需要修改es中的文档 sms_send_log_topic队列是接收策略模块“短信发送失败”消息,和gateway模块“短信发送成功”消息 问题: 1.雪花算法的IdWorker的初始化怎么复制,设备名字,生成随机数的种子? 2.接口模块的rabbitTemplate.convertAndSend(RabbitMQConstants.TOPIC_PRE_SEND,standardSubmit); 没有指定交换机的名字是怎么能发到指定队列的 3.在策略模块,当短信发送失败时会将report发送到report队列,有接口模块监听该队列 发送消息传的数据是standardsubmit而监听队列消费消息使用standardreport对象是怎么接受到的?(已经解决,在工具类中已经封装好了) 4.第一次发送http请求时,应该不需要设置发送次数,? 5.rabbitmq的手动ack