没有合适的资源?快使用搜索试试~ 我知道了~
首页互联网架构基石:微服务、消息队列与定时任务
互联网架构基石:微服务、消息队列与定时任务
需积分: 0 0 下载量 64 浏览量
更新于2024-08-05
收藏 876KB PDF 举报
在"屡试不爽的架构三马车1"这篇文章中,作者探讨了在互联网架构实践中不可或缺的三大组件——微服务、消息队列和定时任务,如何共同构建一个稳健且可扩展的项目架构。首先,微服务被强调为互联网项目的一种理想架构风格,它强调早期的产品需求讨论和领域划分,使得每个服务都能专注于自身的业务逻辑,避免了All-In-One架构的混乱。这样做的好处包括: 1. 明确服务职责:通过细致的产品需求分析和领域设计,每个服务都有明确的职责,当面临新需求时,开发人员能迅速定位到需改动的代码区域,减少了冗余和错误。 2. 复用和扩展性:微服务架构使得大部分业务逻辑可以复用,新功能通常是现有逻辑的组合。在需求变化时,只需对个别服务进行修改,而非整个系统。 3. 性能优化:遇到性能瓶颈时,由于服务独立,可以针对问题服务进行扩容,简化了问题定位,提高了效率。 4. 消息队列:作为架构中的关键组件,消息队列负责服务间的异步通信,绿色和红色箭头代表消息的发布和订阅,确保了系统响应的灵活性和解耦。 5. 定时任务:虽然文章未直接提及,但通常定时任务用于处理周期性工作或者延迟处理,如数据处理、任务调度等,增强了系统的自动化和可靠性。 6. 架构稳定性:整个架构设计是稳定的,即使项目规模扩大,也不会导致大规模重构,使得长期维护变得更加容易。 7. 可视化层次:虚线框表示这些模块不包含太多业务逻辑,只负责调用其他服务,而黑色线的箭头展示了服务之间的依赖关系,清晰的架构图有助于理解和管理。 这三驾马车构成了一个高效、灵活且易于维护的互联网架构,是朱晔在实际项目中的宝贵实践经验。通过遵循这样的架构设计原则,开发者能够更好地应对互联网项目的快速迭代和变化。
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/86315843/bg3.jpg)
h. 资产服务 ProjectService:处理资产和标的相关
i. 账户账务服务 AccountService:处理用户的账户各个子账户和账务记录
j. 营销活动服务 ActivityService:处理各种活动、用户的积分体系
k. 会员体系服务 VipService:处理用户的会员成长体系
l. 银行存管服务 BankService:专门用于对接银行存管系统
m. 电子签章服务 DigSignService:专门用于对接三方数字签章系统
n. 消息推送服务 MessageService:专门用于对接三方短信通道和推送 SDK
2. 服务一定是立体的,不是在一个层次上的,如上图,我们的服务有三个层次:
a. 聚合业务服务:高层次的串起来整个流程的具有完整业务形态的业务服务。和
基础业务服务不同的是,这里是在完整描述一方面的业务,这个业务往往是由
各种基础业务拼装组合起来的。和不同外部合作方的不同合作形式,给用户提
供的产品的不同服务形态,都决定了聚合业务服务会有业务流程上的差异化,
如果把此类服务下放到基础业务服务中,那么基础业务服务会有各种 if-else
逻辑(根据产品类型、用户类型进行各种 if-else),随着业务的合作不合作,
需求变动,基础业务服务会腐化得很厉害,为了避免这个情况,我们把变动的
多的聚合业务逻辑放到独立的业务服务中。一般而言,聚合业务服务因为代表
了独立的业务流程,它们之间是不会进行相互调用的,但是它们一定会调用大
量的各类基础业务服务。在第一点里说的标有蓝色字体的 a~d 这些服务都是
此类服务。这个层次的服务的业务逻辑更多是在表达业务流程的复杂性和差异
性,不会涉及到具体怎么处理账户信息、账务信息、用户信息,不会涉及到怎
么处理具体的投资人和借款人的交易。比如对于预约这类业务形态,它关注的
是先要预约资产,然后再由系统进行自动投资,底层完全依赖于投资人交易服
务来做整个交易的过程。
b. 基础业务服务:某一个领域业务相关的服务。此类服务之间是允许相互调用
的,比如投资人交易服务和借款人交易服务免不了需要和用户服务、资产服
务、账户账务服务进行通讯做相关的用户信息查询、标的信息查询、记账等业
务操作。之所以投资人交易服务和借款人交易服务定位为基础业务服务是因
为,它们处理的是还是某一个具体方面的业务,并不是全流程,在这个抽象层
次上,业务不是那么容易变动的,对于复杂的各种业务形态(比如预约交易、
自动复投交易、等额本息交易)会在这些服务之上形成聚合业务服务。在第一
剩余12页未读,继续阅读
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![m](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://profile-avatar.csdnimg.cn/14e8eb97ad0346b69bdc06103fae9148_weixin_35744849.jpg!1)
石悦
- 粉丝: 17
- 资源: 285
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 解决Eclipse配置与导入Java工程常见问题
- 真空发生器:工作原理与抽吸性能分析
- 爱立信RBS6201开站流程详解
- 电脑开机声音解析:故障诊断指南
- JAVA实现贪吃蛇游戏
- 模糊神经网络实现与自学习能力探索
- PID型模糊神经网络控制器设计与学习算法
- 模糊神经网络在自适应PID控制器中的应用
- C++实现的学生成绩管理系统设计
- 802.1D STP 实现与优化:二层交换机中的生成树协议
- 解决Windows无法完成SD卡格式化的九种方法
- 软件测试方法:Beta与Alpha测试详解
- 软件测试周期详解:从需求分析到维护测试
- CMMI模型详解:软件企业能力提升的关键
- 移动Web开发框架选择:jQueryMobile、jQTouch、SenchaTouch对比
- Java程序设计试题与复习指南
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)