微服务架构实践之邮件通知系统改造

栏目: 后端 · 发布时间: 8年前

内容简介:微服务架构实践之邮件通知系统改造

拆分背景

随着平台业务增长,功能耦合度越来越高,部署周期变长,代码样式混乱、新人入手复杂、独立功能影响系统的稳定性等等,等等,等等问题。

以邮件发送为案例对服务进行拆分,独立服务,独立部署,独立进程,做到及时上线而不影响平台正常运营。

以此为例,望大家对于经手的功能模块,有一个良好的规划,不要碍于项目进度而给自己或者别人制造麻烦。

拆分原因

  • 邮件通知分散于各个系统,配置变更容易遗漏

  • 代码分散,功能修复麻烦,相应的增加部署难度

  • 多人经手,代码风格不同,不易于维护

  • 发送模版不规范,导致发送风格迥异

  • 线上生产环境出现问题,在不影响正常运行的情况下,不易于修复

  • 功能集成在项目,增加了调试的难度

  • 影响平台稳定性

拆分优势

  • 基于Maven管理项目,好处多多,自行百度

  • SpringMvc+Dubbo实现服务治理,对外开放接口,也可以自定义实现HTTP请求

  • 基于Thymeleaf模版,实现邮件动态内容,良好的封装,便于开发

  • 初次采用Log4j2 ,睁大眼睛是二,没错,对比log4j和logbak性能大幅度提升

  • 独立服务,独立部署,独立进程,更加灵活易部署,易扩展

  • 使用LinkedBlockingQueue安全队列做任务队列(咱不考虑)

  • 额外增加 Redis 是为了在大量邮件发送请求下缓解邮件发送服务器压力(咱不考虑)

技术实现

Maven、SpringMvc、Dubbo、Redis、Thymeleaf、Log4j2

##技术问题

如何快速入门Maven 如何轻松搭建一个Maven项目框架 对于在Maven库中不存在的Jar该如何处理 如何搭建SpringMvc基础配置 关于Log4j2的正确使用 模版Thymeleaf如何生成静态文件 任务队列LinkedBlockingQueue实现

##架构图例

###关于Maven 微服务架构实践之邮件通知系统改造

##关于流程 微服务架构实践之邮件通知系统改造


以上所述就是小编给大家介绍的《微服务架构实践之邮件通知系统改造》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

C和C++代码精粹

C和C++代码精粹

阿林森 / 董慧颖 / 人民邮电出版社 / 2003-4-1 / 59.00

《C和C++代码精粹》基于作者备受好评的C/C++ User Journal杂志上的每月专栏,通过大量完全符合ISO标准C++的程序集合,说明了C++真正强大的威力,是C和C++职业程序员的实践指南。可以帮助有一定经验的C和C++程序员深入学习这两种密切相关的语言,对书中代码的参悟和应用,可以帮助他们从根本上提高使用程序的效率。一起来看看 《C和C++代码精粹》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具