千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆

高可用性架构如何实现?

匿名提问者 2023-04-04 15:04:00

麻烦详细介绍高可用性架构如何实现

我要提问

推荐答案

  同学,您好!高可用性架构如何实现?高可用架构开发是大多数软件开发程序员需要满足的编程开发需求。下面我们将通过案例研究来简要了解如何实现高可用性架构。

高可用性架构如何实现

  1 简介

  消息中间件是指在分布式系统中完成消息发送和接收的基础软件。

  消息中间件也可以称为消息队列(MessageQueue/MQ)。 在互联网场景中,消息中间件常用于消息路由、订阅发布、异步处理等操作,以缓解系统压力。

  消息队列的引入主要是为了解决以下问题:

  解耦:比如订单系统,减少库存的工作可以通过消息队列交给库存系统处理,不需要等待实时响应。

  执行顺序:先进先出原则,业务事件按照进入消息队列的先后顺序进行处理。

  消息路由:将队列中的消息按照不同的规则发送给不同的业务服务。

  异步处理:将一些不需要实时响应结果的计算放到异步处理中,提高系统的吞吐量。

  削峰:减少高峰期的操作。比如整个操作流程包含12个步骤,最后11个步骤的关注度不高的数据可以放在消息队列中。

  既然是为解决大流量场景而设计的,那么其自身的稳定性和健壮性就显得格外重要。 我们来看看消息队列是如何保证可用性的。

  2.消息队列的基本组成

  在分析高可用特性之前,先回顾一下消息队列的基本组成。不管是什么类型的消息队列,基本上都包括以下几个组成部分:

  Broker:消息服务器,以服务的形式运行在服务器端,为各个业务系统提供核心的消息数据中转服务。

  Producer:消息生产者,业务的发起者,负责生产消息并传输给broker。

  Consumer:消息消费者,业务处理器,负责从broker获取消息,进行业务逻辑处理。

  Topic:Topic模块,发布/订阅模式下消息的统一集合场所,不同的生产者向topic发送消息,MQ服务器分发给不同的订阅者,实现消息广播

  队列:PTP模式下,特定的生产者向特定的队列发送消息,消费者订阅特定的队列接收指定的消息。

  消息:消息体是按照不同通信协议定义的固定格式编码的数据包,用于封装业务数据,实现消息传输。

  3、高可用架构保障

  了解了消息队列的构成之后,我们再来看看这种结构是如何保证高可用的。

  首先,高可用性是指系统出错的概率和无故障运行的时间。从消息队列的角度来说,至少要保证以下几点:

  消息丢失率低:消息可靠性也是衡量消息中间件好坏的关键因素,尤其是在金融支付领域,消息可靠性尤为重要。

  低故障率:消息中间件的可用性是指无故障运行的时间百分比,通常用几个9来衡量,比如99.99%就是一个很好的指标。

  多副本容错:一般需要多副本,强一致性。多副本可以保证在master节点异常宕机后,slave可以提升为新的master继续提供服务,保证可用性。

  针对高可用性架构如何实现这个问题,上面内容已经做了相关介绍。更多相关内容请持续关注千锋教育。

猜你喜欢LIKE

大数据零基础入门需要学习哪些知识点

2023-04-04

常见的前端埋点方法都有哪些类型

2023-04-04

高可用性架构如何实现?

2023-04-04

最新文章NEW

初学Python需要安装哪些软件?

2023-04-04

程序员的工作可以做一辈子吗

2023-04-04

C++程序员会被被市场淘汰吗?

2023-04-04