ID:272718

RLei123 身份已认证

高级.net工程师

  • 公司信息:
  • 深圳因尚网络科技有限公司
  • 工作经验:
  • 8年
  • 兼职日薪:
  • 500元/8小时
  • 兼职时间:
  • 下班后
  • 周六
  • 周日
  • 可工作日远程
  • 所在区域:
  • 成都
  • 高新

技术能力

熟练掌握各种常用数据结构的优缺点及使用场景,数组、链表、哈希表等。
喜欢分析优化及封装代码,善于使用设计模式来优化业务功能(工作常用的如单例、建造者、策略、责任链、观察者等)。
熟练使用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的数据扫描范围,触发条件及满足条件时要发送的消息模板和执行动作即可。

案例展示

  • 通用后端表格服务

    通用后端表格服务

    一款通用的后端表格服务,采用Mongo作为配置源,配置元素有表格列、数据源及类型、排序条件、查询条件,数据源支持Mysql、Clickhouse、Mongo,查询条件支持文本、下拉框、时间范围等,前端通过code查询配置信息,后端根据配置及前端的筛选条件查询出数据,并返回给前端进

  • 通用消息通知服务

    通用消息通知服务

    一个专门服务于企业平台内的消息通知服务,通过订阅RabbitMq消息,计算出要发送的消息体、收件人以及发送渠道,完成发送并记录流水。目前支持邮件、短信、企业微信、webhook、极光推送等方式。 并基于该服务实现了一个定时发送通知的服务,只需要设置好job的扫描数据源、触发条件

查看案例列表(含更多 0 个案例)

信用行为

  • 接单
    0
  • 评价
    0
  • 收藏
    0
微信扫码,建群沟通

发布任务

企业点击发布任务,工程师会在任务下报名,招聘专员也会在1小时内与您联系,1小时内精准确定人才

微信接收人才推送

关注猿急送微信平台,接收实时人才推送

接收人才推送
联系需求方端客服
联系需求方端客服