RLei123

高级.net工程师
深圳因尚网络科技有限公司 · 8年经验
RLei123
日薪: ¥500/8h
地点: 成都 高新
时间: 下班后周六周日可工作日远程
ID:272718 复制

0
接单数
0
评价数
0
收藏数

AI 技能提取 | 微服务 分布式 RabbitMQ MySQL Redis ClickHouse 高并发
熟练掌握各种常用数据结构的优缺点及使用场景,数组、链表、哈希表等。
喜欢分析优化及封装代码,善于使用设计模式来优化业务功能(工作常用的如单例、建造者、策略、责任链、观察者等)。
熟练使用AspNet.Core框架,深入理解其内部运行机制,善于使用中间件及filter解决一些特殊场景。
熟练使用Mysql、Clickhouse、Redis、Mongo,熟练使用RabbitMq等异步队列进行逻辑解耦及削峰填谷操作。
善于采用uml分析复杂业务(常用有类图、活动图、状态机、用例图等),进行领域建模。
善于使用异步多线程处理高并发、高耗时场景。
熟练使用Dapr构建分布式微服务应用。

通用的消息通知服务,主要解决公司平台服务中发通知问题,通过订阅RabbitMq消息(也提供Api访问)实现高内聚低耦合,其他服务只需要向RabbitMq丢消息即可,具体设计如下:
1、采用Mongo配置如下集合:消息模板、数据Providers、全局变量、邮件Layout、发送器Senders、发送日志
2、订阅到消息后通过唯一的模板编号找到模板信息,模板中有获取ModelProvider、收件人/抄送人Provider、推送方式等
3、支持消息体自带发送人抄送人等,支持邮件携带附件功能等
4、 各Provider负责返回模板所需的各种数据(支持Dapr调用和Sql),主要有2类:获取模板数据 及 获取收件人
5、模板渲染采用 Razor+RazorEngine 实现,渲染好之后通过 反射+缓存 找到对应Sender进行发送(邮件/短信/App/Webhook/Wechat);寻找Sender这里采用了策略模式的思想。
6、发送完之后记录发送日志,日志结构及内容完全支持重试机制
7、 基于以上消息服务,扩展了一个通用的后台定时发通知的功能,需求来源为:每个租户都有根据一定条件冻结用户功能并发提醒;采用Hangfire作为定时任务框架,只需要配置好job的数据扫描范围,触发条件及满足条件时要发送的消息模板和执行动作即可。
RLei123 ID:272718 复制

RLei123

高级.net工程师 · 8年经验 · 深圳因尚网络科技有限公司
城市成都 高新 日薪500元/8h 时间 下班后周六周日可工作日远程
0
累计接单
0
用户评价
0
被收藏

信用行为

0
接单数
0
评价数
0
收藏数

技术能力

AI 技能提取 | 微服务 分布式 RabbitMQ MySQL Redis ClickHouse 高并发
熟练掌握各种常用数据结构的优缺点及使用场景,数组、链表、哈希表等。
喜欢分析优化及封装代码,善于使用设计模式来优化业务功能(工作常用的如单例、建造者、策略、责任链、观察者等)。
熟练使用AspNet.Core框架,深入理解其内部运行机制,善于使用中间件及filter解决一些特殊场景。
熟练使用Mysql、Clickhouse、Redis、Mongo,熟练使用RabbitMq等异步队列进行逻辑解耦及削峰填谷操作。
善于采用uml分析复杂业务(常用有类图、活动图、状态机、用例图等),进行领域建模。
善于使用异步多线程处理高并发、高耗时场景。
熟练使用Dapr构建分布式微服务应用。

项目经验

通用的消息通知服务,主要解决公司平台服务中发通知问题,通过订阅RabbitMq消息(也提供Api访问)实现高内聚低耦合,其他服务只需要向RabbitMq丢消息即可,具体设计如下:
1、采用Mongo配置如下集合:消息模板、数据Providers、全局变量、邮件Layout、发送器Senders、发送日志
2、订阅到消息后通过唯一的模板编号找到模板信息,模板中有获取ModelProvider、收件人/抄送人Provider、推送方式等
3、支持消息体自带发送人抄送人等,支持邮件携带附件功能等
4、 各Provider负责返回模板所需的各种数据(支持Dapr调用和Sql),主要有2类:获取模板数据 及 获取收件人
5、模板渲染采用 Razor+RazorEngine 实现,渲染好之后通过 反射+缓存 找到对应Sender进行发送(邮件/短信/App/Webhook/Wechat);寻找Sender这里采用了策略模式的思想。
6、发送完之后记录发送日志,日志结构及内容完全支持重试机制
7、 基于以上消息服务,扩展了一个通用的后台定时发通知的功能,需求来源为:每个租户都有根据一定条件冻结用户功能并发提醒;采用Hangfire作为定时任务框架,只需要配置好job的数据扫描范围,触发条件及满足条件时要发送的消息模板和执行动作即可。
客服二维码

没找到合适的人才?

扫码添加客服极速匹配,或直接发布需求让更多人才主动报名

平台担保交易 · 1小时内不满意可退款

平台信誉与实力

基于 35,336 需求方信任

  • 支付宝企业信用分 优秀 评级
  • 市场份额约占全行业三分之一
  • 程序员兼职行业全能首选平台
查看平台资质详情
收藏