当前位置: 首页 > news >正文

淘宝客网站模板免费下载网站建设德语

淘宝客网站模板免费下载,网站建设德语,国内p2p网站建设,邵阳属于哪个省哪个市【RabbitMQ面试精讲 Day 12】镜像队列与Quorum队列对比 开篇:面试价值与核心要点 在RabbitMQ集群环境中,如何保证消息的高可用性是最常被问及的面试问题之一。今天我们将深入探讨RabbitMQ提供的两种高可用队列实现方案:经典镜像队列(Mirror…

【RabbitMQ面试精讲 Day 12】镜像队列与Quorum队列对比

开篇:面试价值与核心要点

在RabbitMQ集群环境中,如何保证消息的高可用性是最常被问及的面试问题之一。今天我们将深入探讨RabbitMQ提供的两种高可用队列实现方案:经典镜像队列(Mirrored Queue)和新型Quorum队列。理解它们的差异和适用场景,不仅能帮助你在面试中应对"如何设计可靠消息系统"这类问题,更能指导实际生产环境的技术选型。

概念解析

镜像队列(Mirrored Queue)

镜像队列是RabbitMQ早期版本提供的高可用解决方案,通过将队列内容复制到集群中的多个节点来实现冗余。其核心特点是:

  • 主备模型:一个主节点(Master)处理所有请求,多个镜像节点(Mirror)同步数据
  • 同步复制:所有写操作需要同步到大多数节点才返回成功
  • 自动故障转移:主节点故障时,会自动选举新的主节点

Quorum队列

Quorum队列是RabbitMQ 3.8.0引入的新队列类型,基于Raft一致性算法实现:

  • 分布式共识:采用Raft协议确保数据一致性
  • 多数派确认:写入需要得到多数节点确认
  • 线性一致性:保证强一致性语义

技术原理剖析

镜像队列实现机制

  1. 主从同步:主节点接收所有请求,通过GM(Guaranteed Multicast)协议同步到镜像节点
  2. 同步策略
    ha-sync-mode=automatic(自动同步)
    ha-sync-mode=manual(手动同步)
    
  3. 故障检测:集群使用心跳机制检测节点故障

Quorum队列实现机制

  1. Raft协议:将队列视为Raft状态机,所有操作通过日志复制
  2. Leader选举:自动选举Leader处理客户端请求
  3. 成员变更:支持运行时调整队列副本数量

技术对比

特性镜像队列Quorum队列
一致性模型最终一致性强一致性
故障转移时间秒级毫秒级
性能影响同步复制影响吞吐量多数派确认有延迟
数据安全性可能丢失未同步数据不会丢失已确认数据
配置复杂度需要设置镜像策略声明时指定队列类型
资源消耗每个镜像完整存储队列仅存储分片数据
适用版本所有版本RabbitMQ 3.8.0+

代码实现示例

镜像队列配置

// 创建镜像队列策略
Map<String, Object> args = new HashMap<>();
args.put("ha-mode", "exactly");  // 精确指定副本数
args.put("ha-params", 2);        // 1个主节点+1个镜像
args.put("ha-sync-mode", "automatic"); // 自动同步channel.queueDeclare("mirrored.queue", true, false, false, args);// 生产消息
channel.basicPublish("", "mirrored.queue", MessageProperties.PERSISTENT_TEXT_PLAIN,"Mirrored message".getBytes());

Quorum队列声明

Map<String, Object> args = new HashMap<>();
args.put("x-queue-type", "quorum"); // 指定队列类型channel.queueDeclare("quorum.queue", true, false, false, args);// 消费消息(需显式确认)
DeliverCallback callback = (consumerTag, delivery) -> {System.out.println("Received: " + new String(delivery.getBody()));channel.basicAck(delivery.getEnvelope().getDeliveryTag(), false);
};
channel.basicConsume("quorum.queue", false, callback, consumerTag -> {});

面试题解析

1. 如何选择镜像队列和Quorum队列?

考察点:对两种队列特性的深入理解
参考答案

  • 选择镜像队列的场景:
    • 需要兼容老版本RabbitMQ
    • 队列消息量大但允许短暂不一致
    • 优先考虑吞吐量的场景
  • 选择Quorum队列的场景:
    • 要求强一致性和数据安全
    • 能够接受稍低的吞吐量
    • 运行在RabbitMQ 3.8.0及以上版本

2. 镜像队列的ha-sync-mode参数有什么作用?

考察点:镜像队列同步机制
参考答案
ha-sync-mode控制新镜像节点加入时的同步行为:

  • automatic:自动同步所有现有消息,可能阻塞队列操作
  • manual:需要手动触发同步,命令为rabbitmqctl sync_queue
  • 生产环境建议使用automatic,但需监控同步进度

3. Quorum队列如何保证数据安全?

考察点:Raft协议的理解
参考答案
Quorum队列通过以下机制保证安全:

  1. 写入需要多数节点持久化日志
  2. 只有已提交的日志条目才会应用到状态机
  3. Leader选举限制:只有包含所有已提交日志的节点可成为Leader
  4. 任期机制防止过期Leader提交数据

实践案例

金融交易系统队列选型

某支付系统需要处理交易消息,要求:

  • 零消息丢失
  • 故障自动恢复时间<1秒
  • 每日千万级消息量

解决方案

// 使用Quorum队列满足强一致性要求
Map<String, Object> args = new HashMap<>();
args.put("x-queue-type", "quorum");
args.put("x-quorum-initial-group-size", 3); // 初始副本数channel.queueDeclare("payment.tx.queue", true, false, false, args);// 生产者配置
channel.confirmSelect(); // 启用发布确认
channel.addConfirmListener((sequenceNumber, multiple) -> {// 消息已持久化到多数节点
}, (sequenceNumber, multiple) -> {// 消息持久化失败
});

面试答题模板

当被问到"RabbitMQ如何保证队列高可用"时,建议采用以下结构回答:

  1. 概念层面
    “RabbitMQ提供两种高可用队列实现:镜像队列和Quorum队列,它们…”

  2. 技术对比
    “二者的主要区别在于…(参考上文对比表)”

  3. 选型建议
    “根据业务场景,如果…则选择…因为…”

  4. 实践经验
    “我们在XX系统中使用了…遇到了…问题,最终通过…解决”

  5. 延伸思考
    “未来可能会考虑…因为…”

常见误区与规避方法

  1. 错误配置

    // 错误:同时指定ha-mode和x-queue-type
    args.put("ha-mode", "all");
    args.put("x-queue-type", "quorum"); // 冲突配置
    

    正确做法:两种机制独立使用,不可混用

  2. 性能误判

    • 镜像队列大量消息积压时同步延迟高
    • Quorum队列小消息高频场景吞吐量下降
  3. 监控缺失

    # 必须监控的指标
    rabbitmqctl list_queues name messages_ready messages_unacknowledged
    rabbitmqctl eval 'rabbit_quorum_queue:status().'
    

进阶学习资源

  1. RabbitMQ Quorum Queues Deep Dive
  2. Mirrored Queue vs Quorum Queue Benchmark
  3. Raft协议论文

总结与预告

核心知识点回顾

  • 镜像队列:主从架构,适合最终一致性场景
  • Quorum队列:Raft实现,提供强一致性保证
  • 选型关键:一致性要求、版本兼容性、性能需求

面试官喜欢的回答要点

  1. 清晰区分两种队列的适用场景
  2. 能结合实际案例说明选择依据
  3. 了解底层协议(Raft/GM)的基本原理
  4. 关注故障转移和数据安全细节

下期预告:Day 13将讲解《HAProxy与负载均衡配置》,深入分析如何为RabbitMQ集群配置高效的负载均衡策略。

文章标签

RabbitMQ,消息队列,高可用,分布式系统,面试准备,后端开发,集群管理

文章简述

本文是"RabbitMQ面试精讲"系列第12天,深入对比了镜像队列与Quorum队列的技术原理和实现差异。文章从一致性模型、故障转移机制、性能影响等多维度进行技术对比,提供Java代码示例展示两种队列的声明和使用方法,解析3个高频面试题的答题要点,并分享金融交易系统的实践案例。通过阅读本文,读者将掌握RabbitMQ高可用队列的选型策略,能够在面试中系统性地回答相关问题,同时指导生产环境的技术决策。

http://www.dtcms.com/a/571903.html

相关文章:

  • 搜索引擎网站优化推广如何制作微信打卡小程序
  • 中国著名的做网站渗透大连建行网点
  • 个人商城网站备案中壹建设工程有限公司官方网站
  • 自然景观网站模板字体版权登记网站
  • 建站流程网站上线服务器维护中是什么意思
  • 萝岗区网站建设推广孟村建设局网站
  • 婚庆网站哪个网站好承德市信息查询平台
  • 分析网站网站订阅号怎么做微网站
  • 网站常用的一种js幻灯片网店网络推广策划方案
  • 最牛的SEO教程网站网站建设北京
  • 泰安哪里做网站wordpress <title> 有空格</a> </li> <li> <a href="/a/571891.html">教师做课题可以参考什么网站网站优惠券怎么做的</a> </li> <li> <a href="/a/571889.html">如何创建网站下载把网站从空间删除</a> </li> <li> <a href="/a/571888.html">建湖网站建设价格打赏网站开发</a> </li> <li> <a href="/a/571887.html">烟台网站建设设计公司做网站只用php不用html</a> </li> <li> <a href="/a/571886.html">微信网站 顶部导航菜单什么是sem营销</a> </li> <li> <a href="/a/571885.html">自己做服务器网站建设厅官方网站企业库</a> </li> <li> <a href="/a/571884.html">旅游网站建设设计免费网站收录入口</a> </li> <li> <a href="/a/571882.html">网站北京备案快吗温州做外贸网站设计</a> </li> <li> <a href="/a/571881.html">公司网站谁负责做wordpress更换主机</a> </li> <li> <a href="/a/571880.html">wordpress 登录框上海seo公司</a> </li> <li> <a href="/a/571879.html">discuz门户网站模板最好网页游戏网站</a> </li> <li> <a href="/a/571878.html">北京建设主管部门官方网站网站专属定制高端网站建设</a> </li> <li> <a href="/a/571877.html">网站建设实训实训心得联合智慧旅游建设旅游门户网站</a> </li> <li> <a href="/a/571876.html">网站建设合同的风险责任网页视频提取软件app</a> </li> <li> <a href="/a/571875.html">上海电子门户网站建设数据如何建设网站视频教程</a> </li> <li> <a href="/a/571874.html">旅游网站建设建议dw网站制作的源代码</a> </li> <li> <a href="/a/571873.html">网站功能模块有哪些wordpress主题图片路径</a> </li> <li> <a href="/a/571871.html">免费建论坛网站官方网站下载手电筒</a> </li> <li> <a href="/a/571870.html">wordpress主题排行南昌网站seo外包</a> </li> </div> </article> </main> </div> </div> <aside id="secondary" class="widget-area sidebar"> <div class="widget widget_posts_thumbnail" style="margin-top:6px;"> <h2 class="widget-title">最新文章</h2> <ul> <li class="clear"> <a href="/a/572114.html" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/阿里云网站建设初衷网络舆情监测存在的问题" alt=" 阿里云网站建设初衷网络舆情监测存在的问题" /> </div> </a> <div class="entry-wrap"> <a href="/a/572114.html" rel="bookmark"> 阿里云网站建设初衷网络舆情监测存在的问题</a> <div class="entry-meta">2025/11/6 1:55:06</div></div> </li> <li class="clear"> <a href="/a/572113.html" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/网站建设客户管理系统网站优化内容有哪些" alt=" 网站建设客户管理系统网站优化内容有哪些" /> </div> </a> <div class="entry-wrap"> <a href="/a/572113.html" rel="bookmark"> 网站建设客户管理系统网站优化内容有哪些</a> <div class="entry-meta">2025/11/6 1:54:31</div></div> </li> <li class="clear"> <a href="/a/572112.html" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/网站推广模式门户论坛模板" alt=" 网站推广模式门户论坛模板" /> </div> </a> <div class="entry-wrap"> <a href="/a/572112.html" rel="bookmark"> 网站推广模式门户论坛模板</a> <div class="entry-meta">2025/11/6 1:53:56</div></div> </li> <li class="clear"> <a href="/a/572110.html" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/网站建设如何快速增加用户网站建设服务清单" alt=" 网站建设如何快速增加用户网站建设服务清单" /> </div> </a> <div class="entry-wrap"> <a href="/a/572110.html" rel="bookmark"> 网站建设如何快速增加用户网站建设服务清单</a> <div class="entry-meta">2025/11/6 1:52:51</div></div> </li> <li class="clear"> <a href="/a/572108.html" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/手机网站总是自动跳转六安网络科技股份有限公司" alt=" 手机网站总是自动跳转六安网络科技股份有限公司" /> </div> </a> <div class="entry-wrap"> <a href="/a/572108.html" rel="bookmark"> 手机网站总是自动跳转六安网络科技股份有限公司</a> <div class="entry-meta">2025/11/6 1:51:44</div></div> </li> <li class="clear"> <a href="/a/572106.html" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/怎么网站搜索排名优化可画canvas官网" alt=" 怎么网站搜索排名优化可画canvas官网" /> </div> </a> <div class="entry-wrap"> <a href="/a/572106.html" rel="bookmark"> 怎么网站搜索排名优化可画canvas官网</a> <div class="entry-meta">2025/11/6 1:50:37</div></div> </li> <hr/> <li class="clear"> <a href="/a/555960.html" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/郑州建设网站的公司文化建设设计网站" alt=" 郑州建设网站的公司文化建设设计网站" /> </div> </a> <div class="entry-wrap"> <a href="/a/555960.html" rel="bookmark"> 郑州建设网站的公司文化建设设计网站</a> <div class="entry-meta">2025/11/2 0:00:52</div></div> </li> <li class="clear"> <a href="/a/555962.html" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/舟山企业网站建设公司长春做网站哪家好" alt=" 舟山企业网站建设公司长春做网站哪家好" /> </div> </a> <div class="entry-wrap"> <a href="/a/555962.html" rel="bookmark"> 舟山企业网站建设公司长春做网站哪家好</a> <div class="entry-meta">2025/11/2 0:01:57</div></div> </li> <li class="clear"> <a href="/a/555963.html" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/营销型科技网站建设利用社交网站做淘宝客" alt=" 营销型科技网站建设利用社交网站做淘宝客" /> </div> </a> <div class="entry-wrap"> <a href="/a/555963.html" rel="bookmark"> 营销型科技网站建设利用社交网站做淘宝客</a> <div class="entry-meta">2025/11/2 0:02:29</div></div> </li> <li class="clear"> <a href="/a/555964.html" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/中国网站优化哪家好商标注册申请流程图" alt=" 中国网站优化哪家好商标注册申请流程图" /> </div> </a> <div class="entry-wrap"> <a href="/a/555964.html" rel="bookmark"> 中国网站优化哪家好商标注册申请流程图</a> <div class="entry-meta">2025/11/2 0:03:03</div></div> </li> <li class="clear"> <a href="/a/555965.html" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/怎么用wordpress做搜索网站wordpress酒店模板" alt=" 怎么用wordpress做搜索网站wordpress酒店模板" /> </div> </a> <div class="entry-wrap"> <a href="/a/555965.html" rel="bookmark"> 怎么用wordpress做搜索网站wordpress酒店模板</a> <div class="entry-meta">2025/11/2 0:03:35</div></div> </li> <li class="clear"> <a href="/a/555966.html" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/网站建设除了中企动力公司网站开发模板" alt=" 网站建设除了中企动力公司网站开发模板" /> </div> </a> <div class="entry-wrap"> <a href="/a/555966.html" rel="bookmark"> 网站建设除了中企动力公司网站开发模板</a> <div class="entry-meta">2025/11/2 0:04:05</div></div> </li> <hr/> <li class="clear"> <a href="/a/571912.html" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/建设银行官网首页网站公告北京门户企业网站建设" alt=" 建设银行官网首页网站公告北京门户企业网站建设" /> </div> </a> <div class="entry-wrap"> <a href="/a/571912.html" rel="bookmark"> 建设银行官网首页网站公告北京门户企业网站建设</a> <div class="entry-meta">2025/11/6 0:00:25</div></div> </li> <li class="clear"> <a href="/a/571913.html" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/网站怎么算抄袭产品营销网站建设" alt=" 网站怎么算抄袭产品营销网站建设" /> </div> </a> <div class="entry-wrap"> <a href="/a/571913.html" rel="bookmark"> 网站怎么算抄袭产品营销网站建设</a> <div class="entry-meta">2025/11/6 0:00:57</div></div> </li> <li class="clear"> <a href="/a/571914.html" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/iis内网站设置允许脚本执行网站ftp地址是什么" alt=" iis内网站设置允许脚本执行网站ftp地址是什么" /> </div> </a> <div class="entry-wrap"> <a href="/a/571914.html" rel="bookmark"> iis内网站设置允许脚本执行网站ftp地址是什么</a> <div class="entry-meta">2025/11/6 0:01:29</div></div> </li> <li class="clear"> <a href="/a/571915.html" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/信阳工程建设一体化平台网站客户网站回访" alt=" 信阳工程建设一体化平台网站客户网站回访" /> </div> </a> <div class="entry-wrap"> <a href="/a/571915.html" rel="bookmark"> 信阳工程建设一体化平台网站客户网站回访</a> <div class="entry-meta">2025/11/6 0:02:03</div></div> </li> <li class="clear"> <a href="/a/571916.html" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/中小企业网上申报系统湛江网站关键词优化" alt=" 中小企业网上申报系统湛江网站关键词优化" /> </div> </a> <div class="entry-wrap"> <a href="/a/571916.html" rel="bookmark"> 中小企业网上申报系统湛江网站关键词优化</a> <div class="entry-meta">2025/11/6 0:02:34</div></div> </li> <li class="clear"> <a href="/a/571917.html" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/漳州做网站建设无锡微信网站开发" alt=" 漳州做网站建设无锡微信网站开发" /> </div> </a> <div class="entry-wrap"> <a href="/a/571917.html" rel="bookmark"> 漳州做网站建设无锡微信网站开发</a> <div class="entry-meta">2025/11/6 0:03:05</div></div> </li> <hr/> <li class="clear"> <a href="/a/551815.html" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/公司后台的网站代理维护更新wordpress标题代码的更改" alt=" 公司后台的网站代理维护更新wordpress标题代码的更改" /> </div> </a> <div class="entry-wrap"> <a href="/a/551815.html" rel="bookmark"> 公司后台的网站代理维护更新wordpress标题代码的更改</a> <div class="entry-meta">2025/11/1 0:00:28</div></div> </li> <li class="clear"> <a href="/a/551817.html" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/古风ppt模板免费下载安徽网站推广优化" alt=" 古风ppt模板免费下载安徽网站推广优化" /> </div> </a> <div class="entry-wrap"> <a href="/a/551817.html" rel="bookmark"> 古风ppt模板免费下载安徽网站推广优化</a> <div class="entry-meta">2025/11/1 0:01:31</div></div> </li> <li class="clear"> <a href="/a/551818.html" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/网站中英文域名flash网站源文件下载" alt=" 网站中英文域名flash网站源文件下载" /> </div> </a> <div class="entry-wrap"> <a href="/a/551818.html" rel="bookmark"> 网站中英文域名flash网站源文件下载</a> <div class="entry-meta">2025/11/1 0:02:02</div></div> </li> <li class="clear"> <a href="/a/551819.html" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/网站建设 亿安网络筑云电商网站建设公司" alt=" 网站建设 亿安网络筑云电商网站建设公司" /> </div> </a> <div class="entry-wrap"> <a href="/a/551819.html" rel="bookmark"> 网站建设 亿安网络筑云电商网站建设公司</a> <div class="entry-meta">2025/11/1 0:02:40</div></div> </li> <li class="clear"> <a href="/a/551820.html" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/河池市住房和城乡建设厅网站北京市工程建设交易信息网站" alt=" 河池市住房和城乡建设厅网站北京市工程建设交易信息网站" /> </div> </a> <div class="entry-wrap"> <a href="/a/551820.html" rel="bookmark"> 河池市住房和城乡建设厅网站北京市工程建设交易信息网站</a> <div class="entry-meta">2025/11/1 0:03:12</div></div> </li> <li class="clear"> <a href="/a/551821.html" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/e4a做网站app如何提升网站的排名" alt=" e4a做网站app如何提升网站的排名" /> </div> </a> <div class="entry-wrap"> <a href="/a/551821.html" rel="bookmark"> e4a做网站app如何提升网站的排名</a> <div class="entry-meta">2025/11/1 0:03:43</div></div> </li> </ul> </div> <div class="leftdiv2"> </div> </aside> </div> <footer id="colophon" class="site-footer"> <div class="clear"></div> <div id="site-bottom" class="clear"> <div class="container"> <div class="menu-m_footer-container"> <ul id="footer-menu" class="footer-nav"> <li> <strong> <a href="/">dtcms介绍</a></strong> </li> <li> <strong> <a href="/">商务合作</a></strong> </li> <li> <strong> <a href="/">免责声明</a></strong> </li> </ul> </div> <div class="site-info"> <p>CopyRight © <a href="/">dtcms</a>版权所有 </p> </div> </div> </div> </footer> </div> <div id="back-top"> <a href="#top" title="返回顶部"> <svg width="38" height="38" viewbox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"> <rect width="48" height="48" fill="white" fill-opacity="0.01" /> <path d="M24 44C35.0457 44 44 35.0457 44 24C44 12.9543 35.0457 4 24 4C12.9543 4 4 12.9543 4 24C4 35.0457 12.9543 44 24 44Z" fill="#3d4de6" stroke="#3d4de6" stroke-width="4" stroke-linejoin="round" /> <path d="M24 33.5V15.5" stroke="#FFF" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" /> <path d="M33 24.5L24 15.5L15 24.5" stroke="#FFF" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" /></svg> </a> </div> <script src='/templates/nzzt/js/common.js'></script> <script> $(function(){ $('.source_url').text('原文地址:'); }); </script> </body> </html>