本文作者:豆面

互联网三驾马车指的是哪三个领域?

豆面 2025-01-29 22:58:34 50
互联网三驾马车指的是哪三个领域?摘要: 1、微服务概念及特点:微服务是一种架构风格,将业务按照领域进行分割成多个小型的服务,每个服务都有明确的领域边界和职责,拥有自己独立的技术栈和部署方式,优势:通过事先完善的产品需求讨...

1、微服务

互联网三驾马车指的是哪三个领域?

概念及特点:微服务是一种架构风格,将业务按照领域进行分割成多个小型的服务,每个服务都有明确的领域边界和职责,拥有自己独立的技术栈和部署方式。

优势:通过事先完善的产品需求讨论和领域划分,使每个服务能精心设计自己领域内的表结构,让技术架构和产品架构匹配,清晰的服务划分和职责定位,便于在迭代中针对不同模块进行开发和修改,减少代码复制粘贴的问题,当性能出现瓶颈时,可以针对性地对某些服务增加机器扩容,且能更精准地定位到有问题的服务,如果业务有较大变动需要下线,底层的公共服务不会受影响,只需调整相关业务的聚合业务服务和基础服务即可。

原则:要合理把控服务的粒度划分,一般先按领域划分,再根据项目进展进行更细粒度的拆分,服务应是立体的,分为聚合业务服务、基础业务服务和公共基础服务等不同层次。

2、消息队列

概念及作用:消息队列是一种用于异步通信的技术,可在服务之间传递消息,实现数据的解耦和异步处理。

优势:对于像订单流程这样的核心流程,可先同步落库完成关键步骤,后续与用户相关的库存等业务处理可通过消息队列异步流转,避免用户等待,在流量洪峰时,如促销活动期间,消息队列可作为缓冲,让后端服务以自己的节奏处理数据,防止被流量击垮,随着项目复杂度增加,各种内部和外部事件可通过消息队列进行解耦,使模块之间松耦合,各司其职,对于有多个接收者的动态消息,消息队列可方便地进行消息群发和解耦。

3、定时任务

概念及作用:定时任务用于处理一些需要定时执行或定期处理的业务,不需要实时处理。

互联网三驾马车指的是哪三个领域?

优势:当跨服务调用或消息通知出现不可达的情况时,可通过定时任务进行补偿,有些业务是基于任务表驱动的,任务表可作为数据处理的核心体系,具有负载均衡、幂等处理和补偿到底的特点,还有一些业务如通知用户红包即将过期、和银行进行日终对账、给用户出账单等,可通过定时任务在固定时间进行处理。

相关问题

1、问:微服务架构中如何保证服务之间的数据一致性?

答:在微服务架构中,保证服务之间的数据一致性是一个复杂的问题,通常可以采用以下方法:

使用分布式事务:通过引入分布式事务管理器,确保跨服务的数据库操作要么全部成功,要么全部失败。

事件驱动架构:基于事件来实现服务之间的解耦和数据同步,当一个服务的数据发生变化时,发布相应的事件,其他服务通过订阅这些事件来获取数据变化并进行相应的处理。

数据复制:将数据从源存储空间复制到目标存储空间,以确保数据在不同服务之间的一致性。

最终一致性:在某些情况下,可以采用最终一致性的策略,即允许数据在一段时间内处于不一致的状态,但最终会达到一致。

2、问:消息队列在高并发场景下如何保证消息的可靠性?

互联网三驾马车指的是哪三个领域?

答:在高并发场景下,消息队列可以通过以下方式保证消息的可靠性:

持久化存储:将消息存储在可靠的存储设备上,以防止系统故障导致消息丢失。

确认机制:消费者在成功处理消息后向消息队列发送确认信息,消息队列在收到确认后才认为消息已被成功处理。

重试机制:当消息处理失败时,消息队列会自动将消息重新放入队列中,以便再次处理。

监控和管理:通过监控消息队列的性能指标和运行状态,及时发现和解决潜在的问题。

文章版权及转载声明

作者:豆面本文地址:https://www.jerry.net.cn/hlw/24022.html发布于 2025-01-29 22:58:34
文章转载或复制请以超链接形式并注明出处杰瑞科技发展有限公司

阅读
分享