搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
智能运维:从0搭建大规模分布式AIOps系统
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787121346637
  • 作      者:
    彭冬[等]著
  • 出 版 社 :
    电子工业出版社
  • 出版日期:
    2018
收藏
编辑推荐

√ 直接来自新浪微博智能运维团队多年前瞻探索与生产实践,技术思路可落地,解决方案有说服力。

√ 面向运维热点方向,详细分析底层原理,全面梳理技术体系,完整呈现从方法创新到工具化实践。

√ 以微博监控为例,从运维平台大数据处理到架构设计原理,从运维工程师到自动化智能监控专家。

√ 有 AIOps 模型|算法,有异常检测|根因分析|时序预测等运维实践,完美结合工程架构与算法实践。


展开
作者简介

彭冬:微博广告基础架构团队负责人、技术专家,商业大数据平台及智能监控平台发起人,目前负责广告核心引擎基础架构、Hubble智能监控系统、商业基础数据平台(D+)等基础设施建设。关注计算广告、大数据、人工智能、高可用系统架构设计、区块链等方向。在加入微博之前,曾就职于百度负责大数据平台建设,曾担任趣点科技联合创始人兼CTO等职位。毕业于西北工业大学,曾在国内外知名期刊发表多篇学术论文,拥有9项发明专利。

 

朱伟@kimi:微博广告SRE团队技术负责人,高级运维工程师,2016年4月加入微博,目前主要负责微博广告智能监控报警平台和服务治理等项目的建设与研究。

 

刘俊:微博平台部监控技术负责人,负责微博平台、PC微博大规模监控系统的建设,主要关注实时大数据、运维自动化、智能化方向。2014年加入微博,之前曾在新浪、搜狐等公司从事运维监控方面的工作。

 

王莉:University of Georgia硕士研究生,主要研究用机器学习方法,识别植物被水淹没的季节性规律,研究成果已发表在SCI高影响因子期刊。2017年加入微博广告团队,致力于用数据分析和机器学习模型,优化广告业务策略,洞悉商业价值。

 

陆松林:微博广告数据仓库负责人,高级研发工程师,先后就职于搜狐、爱奇艺,主要研究数据仓库、数据治理相关技术。

 

车亚强:微博广告大数据开发工程师,曾在百度外卖负责实时流、微服务相关研发工作,目前主要研究方向为实时流、微服务架构设计。

展开
内容介绍

《智能运维:从0搭建大规模分布式AIOps系统》结合大企业的智能运维实践,全面完整地介绍智能运维的技术体系,让读者更加了解运维技术的现状和发展。同时,帮助运维工程师在一定程度上了解机器学习的常见算法模型,以及如何将它们应用到运维工作中。

《智能运维:从0搭建大规模分布式AIOps系统》共分4篇。第1篇运维发展史,重点阐述当前运维的发展现状及面临的技术挑战;第2篇智能运维基础设施,重点讲述大数据场景下的数据存储、大数据处理和分析的方法与经验,以及海量数据多维度多指标的处理分析技术;第3篇智能运维技术详解,重点关注在新时期大数据时代下智能化的运维技术,包括数据聚合与关联、数据异常点检测、故障诊断和分析、趋势预测算法;第4篇技术案例详解,为大家梳理了通过开源框架ELK快速构建智能监控系统的整体方案,还将分享微博平台和微博广告两个不同业务场景下智能监控系统的技术实践。

《智能运维:从0搭建大规模分布式AIOps系统》适合运维、开发、架构、DevOps工程师及广大互联网技术爱好者研读和借鉴。


展开
精彩书评

本书是对AIOps的深度细化和技术补充,相关实践可落地,很有说服力。

—— 萧田国  高效运维社区发起人 AIOps标准及白皮书发起人

 

AIOps是运维领域的极大热点,本书对底层技术进行详细分析,并结合微博场景提供大量实战案例,非常有参考价值。

—— 裴丹 清华大学计算机系长聘副教授 青年千人 美国AT&T研究院前主任研究员 智能运维算法专家

 

本书作者对智能运维技术体系进行全面梳理,完整呈现从思路到工具再到实践的全过程。

—— 王鹏云  多盟联合创始人  蓝色光标技术创新孵化中心总经理

 

本书从大数据技术讲到AI运维,详细介绍实施智能运维依赖的基础设施和架构技术,兼具参考性与实操性。

—— 梁定安  腾讯运维技术总监 专家工程师

 

本书可作为运维工程师提升运维水平的重要参考,也可作为通过运维+AI向自动化智能运维发展的依据。

—— 钟华  美团打车技术研发部负责人

 

本书介绍异常检测、根因分析、时序预测等智能运维实践经验,并梳理了其两大基石:大数据和机器学习。

—— 饶琛琳  日志易产品总监  前新浪微博系统架构师

 

从运维平台大数据处理到架构设计原理,再到AIOps相关模型和算法,将智能运维工程架构与算法实践完美结合。

—— 陈晓峰  火币集团副总裁

 

本书系统介绍大数据采集、存储、处理、计算及策略应用各环节,并以微博监控为案例展示了监控平台建设实践。

—— 陆沛  滴滴打车SRE团队负责人 技术专家

展开
精彩书摘

推荐序1:运维的时代化变迁

互联网刚兴起的时候,运维还只是一个简单的服务安装管理及监控工作,没人会想到人类在互联网上建立了如此庞大的业务生态。从衣食住行到教育金融,服务器的规模在急剧膨胀,从简单的人力可管控,逐渐进化到依赖自动化体系来管理,但是另一方面,仅依赖工具已经不能很好地解决运维场景的需求。

根据正式的定义,智能运维通常用AIOps(Algorithmic IT Operations)这个专有名词来表达,是指利用大数据分析、机器学习等人工智能技术来自动化管理运维事务。早期的大规模运维以服务管理及监控为目标,自动化运维工具可以满足绝大部分需求,大数据采集及分析主要应用在服务监控及分析方面。但随着服务规模的膨胀,通过人工来管理大规模服务已经力不从心,也很难达到服务可用性的要求。2017年,Gartner也发布了AIOps的市场定义,并预测到2019年,全球25%的企业将用AIOps系统替代传统运维管理系统。在2017年这个比例低于5%,而到2022年将超过40%。

微博作为国内典型的互联网服务之一,在智能运维的实践方面获得了很多经验。比如每年的春晚,有大量用户在微博上进行祝福与互动,微博的Feed项目、广告系统、搜索等服务的自动化扩缩容,通过数据标准化算法分析出QPS和慢速比,并根据实时压测反馈的数据生成水位线,结合两个指标和水位线的波动情况进行自动扩容和缩容。

在日常的运维工作中,智能运维也在多方面发挥重要作用,比如告警收敛,利用智能算法过滤,收敛大量无效、重复的告警信息,通过聚类算法将大量、多维度的告警聚合为少量事件,通过告警分类算法提高准确率和减少误报。另外,智能运维还被大量应用于故障定位及服务自动修复方面,基于服务运行的日志及告警数据,实现非人工干预的自动化处理,比如自动摘除、重启等操作。

AIOps已经成为运维领域的发展趋势,但是目前可供参考的书籍较少,且大多偏理论及小规模服务,而针对真正大规模线上实操的书籍非常匮乏。微博技术团队的彭冬、刘俊、朱伟等同事,长期从事微博运维数据相关技术研发,对于如何将AI理论和技术应用于大规模服务管理VI 智能运维:从 0 搭建大规模分布式 AIOps 系统

方面颇有心得。在本书中,系统地介绍了大数据运维基础理论知识,如数据采集、分布式消息队列、实时计算框架、时序数据库等,并结合大数据人工智能技术如TensorFlow机器学习框架、趋势预测算法等,介绍了微博平台、微博广告在AIOps上的具体实操。相信用心阅读的读者,可以从中深入了解到他们在这一领域的领悟。

目前AIOps在业界也刚刚开始,微博技术团队也乐于和广大开发人员分享微博在AIOps实践中的心得,欢迎大家关注@微博平台架构和@微博技术学院,了解后续相关的公开技术活动。

杨卫华(Tim Yang)

微博研发副总经理

 

推荐序2:运维的新视角

最近20年,互联网特别是移动互联网的普及让用户的获取突破了地理的限制,各个领域都出现了亿级乃至十亿级海量用户规模的高科技公司,如搜索领域的Google、百度,社交领域的Facebook、腾讯,出行领域的Uber、滴滴,电商领域的Amazon、阿里巴巴,以及中国最大的自媒体社交平台微博等。

服务海量用户需要超大规模的在线分布式系统和大数据处理系统。同时,在竞争日益激烈的市场环境下,高科技公司产品和技术的快速迭代能力也至关重要。

在国外,运维团队是infrastructure很重要的组成部分,比如Google的SRE(Site Reliability Engineer)团队,就是从运维的角度为整个公司产品可用性服务的。在国内,近几年创业氛围非常好,2014年出现了大量的O2O创业公司,2015年直播和短视频企业大量崛起,2016年共享单车等共享经济方向的创业公司非常红火,2017年区块链几乎占领了大部分创业板块。对于这些创业企业而言,产品的快速迭代、极致的用户体验都是至关重要的,而在这个过程中运维团队就非常重要。

对于微博这样的成熟型企业,运维体系的完备性和先进性是必不可少的。从运维平台化到智能化,能让产品迭代更加高效,同时保障系统的稳定。微博作为拥有全球超过4亿月活跃用户的平台,其自身具有非常显著的特点:媒体属性和社交特性。微博传承了新浪的媒体属性,在媒体和新闻传播上有着非常重要的价值,而社交特性让这种信息的传播产生爆炸式的效应,可以看到,热门事件和重要的新闻资讯几乎第一时间都是在微博上进行传播的。同时,社交属性也体现在明星和大V效应上,一些行业的意见领袖拥有百万甚至千万级别的粉丝量,每天在微博上进行转发、评论等互动的行为非常频繁。正由于微博的这些特点,微博广告作为寄生于微博平台上的商业产品,也继承了相同的属性,同样也拥有相当复杂的业务形态。正是在这种复杂的业务场景下,大规模的传播效应、海量的数据、极其复杂的社交关系、多变的热门事件对整个广告系统的稳定性是一个极大的考验。那么如何在保证产品技术快速迭代能力的同时,保证系统的高可靠性和高可用性呢?彭冬领导的微博广告平台运维团队给出的答案是AIOps。VIII 智能运维:从 0 搭建大规模分布式 AIOps 系统

通过Big Data、AI/ML等技术,AIOps能更快更好地收集和分析超大规模系统的运行状态,并能大幅提升运维系统的自动化和智能化水平,从而提升运维工作的整体效率。

彭冬领导的团队搭建了一套这样的AIOps系统,并取得了明显的效果。这套智能运维系统在微博广告平台产品技术快速迭代的同时,提升了系统的可靠性和可用性,有力地支撑了微博广告收入的快速增长,智能运维技术在微博复杂的场景下得到了很好的实践。

很高兴彭冬及其团队成员能抽出时间编写这本书,将他们在智能运维上的架构设计思路和实践经验分享给更多的互联网界朋友。这本书是他们多年积累的工作经验的总结,书中有大量案例和前瞻性研究,无论是工程架构还是模型算法,对读者都具有借鉴价值,也希望这本书能成为一座桥梁,促进更多的技术交流,从而让大家共同成长。

张志强

微博广告业务部总经理

 

推荐序3:大数据时代的运维

在互联网时代,尤其是社交网络、电子商务与移动通信把人类社会带入一个PB级别以上单位的结构与非结构信息的大数据时代。数据量的爆发性增长,使企业IT架构不断扩展,服务器、存储设备的数量越来越多,网络也变得更加复杂。而大数据的4V特征,数据量大(Volume)、类型繁多(Variety)、价值密度低(Value)、时效高(Velocity)也使得传统的技术架构和路线,已经难以高效地处理如此海量的数据。可以说,大数据时代对企业的数据驾驭能力提出了新的挑战。尤其是大数据平台往往支撑着公司的搜索、推荐、广告等核心业务,为了保障良好的用户体验和业务效果,运维工作显得十分艰巨。相比于传统的运维方式,大数据时代的运维面临着集群规模更大、业务组件更多、监控可视化与智能化更为复杂等诸多难题。

我们知道,在互联网初期,大部分应用程序跑在少量的服务器上,网络带宽很小,存储量也很小,这个时候的运维更多的是解决类似于组网、操作系统等机房建设问题,应用的上线部署可以由开发工程师来完成,运维的工作职责没有那么明显。随后互联网进入高速发展期,数据规模从GB到TB再到PB级别,在存储量上超过千倍增长,在计算规模上可能也远远超过千倍增长,传统的通过单节点来存储和计算超过PB级别的数据已经比较困难,分布式集群的方式已经成为标准的解决方案。分布式系统在存储上解决了大规模数据单机无法承载的问题,同时在计算上解决了单机CPU或者内存等资源无法完全满足的问题,但是同时也带来了很多运维难题,诸如统一上线部署、大规模机器管理、降级、容灾、数据同步等。从数据规模到机器规模的扩大,传统的运维方式和方法已经不能满足产品快速迭代的要求,智能运维在这样的场景下应运而生。

智能运维是建立在运维基础上,通过一定策略和算法来进行智能化诊断决策,以更快、更准确、更高效地完成运维工作的技术体系。要实现智能运维的目标,需要有平台支撑,这也是DevOps很火的原因,很多运维工程师都掌握了开发工具和平台的本领,因此建立了高效的自动化运维平台。所以说智能运维是运维发展的高级阶段,也是互联网时代发展到一定阶段的产物。

智能运维的基础是建立在大规模数据分析和计算之上,当数据量很小时,我们甚至可以人X 智能运维:从 0 搭建大规模分布式 AIOps 系统

工判断和决策,一旦数据达到一定规模,大数据涉及的所有技术就都会成为智能运维所依赖的技术。一方面,可以说智能运维是一种新型技术,因为它从另一个视角去看待运维,对传统运维进行了创新和升华;另一方面,也可以说智能运维是一种经典技术,它是一系列成熟技术的结合体,它融入了运维技术、大数据、传统机器学习技术、机器学习、深度学习等方方面面的技术。

那么在大数据时代应该如何做好运维?我觉得有三个方面。

一是基础设施平台化,大数据的4V特性,相比于传统的系统运维 ,数据的处理框架变得更为多样化和复杂化,这要求我们必须夯实基础设施才能事半功倍。比如多源异构海量数据的分布式存储、离线批处理、高性能索引、大规模流数据处理,以及可视化监控与报警平台等。

二是集群管理自动化,降低运维复杂度。自动化能够提升稳定性,固化的操作交给机器去做,可以降低人为操作失误,提高线上的稳定性;自动化还能极大地提高效率,将运维人员从日常烦琐的操作中解放出来,把更多的时间投入到运维平台迭代优化上,从而更好地为业务运营服务。

三是运维决策智能化,充分利用大数据分析技术提升预测、发现和自动检测的能力,预测分配资源,动态伸缩集群,实现智能预警,自动修复,最大化利用资源,减少开销。

本书作者是微博广告平台资深架构师,从0到1架构了微博广告大数据运维体系,历经纯人工操作、平台化、自动化、智能化多个发展阶段,可以说踩过许多坑,也总结出一套行之有效的方法论。微博广告五年来一直高速发展而系统始终保持高效稳定,这跟大数据运维体系的成功是分不开的。本书对于即将投入大数据运维行业的工程人员来说是一个非常好的参考,同时对于互联网企业的中高级从业人员也很有借鉴意义。

李东升

微博广告业务部总监


展开
目录

目录

第1篇 开门见山:运维发展史

第1章 运维现状 2
1.1 运维工程 2
1.1.1 认识运维 2
1.1.2 主要职责 4
1.1.3 运维技术 5
1.2 运维发展历程 6
1.2.1 人工阶段 6
1.2.2 工具和自动化阶段 7
1.2.3 平台化阶段 7
1.2.4 智能运维阶段 8
1.3 运维现状 9
1.3.1 故障频发 9
1.3.2 系统复杂性 10
1.3.3 大数据环境 12
1.4 本章小结 14
1.5 参考文献 14

第2章 智能运维 15
2.1 海量数据的存储、分析和处理 16
2.2 多维度、多数据源 18
2.3 信息过载 19
2.4 复杂业务模型下的故障定位 21
2.5 本章小结 22
2.6 参考文献 22

第2篇 站在巨人肩上:智能运维基础设施

第3章 开源数据采集技术 25
3.1 数据采集工具对比 25
3.2 轻量级采集工具Filebeat 26
3.2.1 Filebeat工作原理 26
3.2.2 Filebeat的安装与配置 28
3.2.3 启动和运行Filebeat 38
3.3 日志采集解析工具 38
3.3.1 Logstash工作原理 39
3.3.2 安装Logstash 40
3.3.3 配置Logstash 41
3.3.4 启动Logstash 49
3.4 本章小结 49
3.5 参考文献 50

第4章 分布式消息队列 51
4.1 开源消息队列对比与分析 51

4.1.1 概述 51
4.1.2 ZeroMQ 51
4.1.3 ActiveMQ 52
4.1.4 RocketMQ 52
4.1.5 Kafka 53
4.2 Kafka安装与使用 53
4.2.1 组件概念 53
4.2.2 基本特性 53
4.2.3 安装与使用 54
4.2.4 Java API使用 55
4.3 案例分析 57
4.3.1 日志采集 58
4.3.2 实时结算 58
4.3.3 实时计算 58
4.4 本章小结 58
4.5 参考文献 59

第5章 大数据存储技术 60
5.1 传统数据存储 60
5.1.1 传统应用的架构 60
5.1.2 传统存储的运行机制 61
5.1.3 传统存储带来的问题 62
5.2 基于HDFS的分布式存储 63
5.2.1 分布式存储的定义 63
5.2.2 HDFS的基本原理 64
5.2.3 HDFS架构解析 65
5.2.4 HDFS优势 66
5.2.5 HDFS不适合的场景 67
5.3 分层存储 68
5.3.1 数据仓库 68
5.3.2 数据仓库分层架构 70
5.3.3 分层存储的好处 73
5.4 案例分析 73
5.4.1 数据存储架构 73
5.4.2 数据仓库建模 74
5.4.3 常见的存储问题及解决方案 80
5.5 本章小结 80
5.6 参考文献 80

第6章 大规模数据离线计算分析 82
6.1 经典的离线计算 82
6.1.1 Linux神级工具sed和awk 82
6.1.2 Python数据处理Pandas基础 84
6.1.3 Python的优势和不足 88
6.2 分布式离线计算 89
6.2.1 MapReduce离线计算 89
6.2.2 离线计算的数据倾斜问题 97
6.2.3 分布式离线计算的技术栈 100
6.3 案例分析 101
6.3.1 离线计算管理 102
6.3.2 离线计算原子控制 103
6.3.3 离线计算的数据质量 103
6.4 本章小结 104
6.5 参考文献 105

第7章 实时计算框架 106
7.1 关于实时流计算 106
7.1.1 如何提高实时流计算的实时性 106
7.1.2 如何提高实时流计算结果的准确性 107
7.1.3 如何提高实时流计算结果的响应速度 107
7.2 Spark Streaming计算框架介绍 107
7.2.1 概述 107
7.2.2 基本概念 108
7.2.3 运行原理 108
7.2.4 编程模型 109
7.2.5 Spark Streaming的使用 110
7.2.6 优化运行时间 114
7.3 Flink计算框架 115
7.3.1 基本概念 116
7.3.2 Flink特点 116
7.3.3 运行原理 118
7.3.4 Java API的使用 121
7.4 案例分析 124
7.4.1 背景介绍 125
7.4.2 架构设计 126
7.4.3 效果分析 126
7.5 本章小结 126
7.6 参考文献 126

第8章 时序数据分析框架 127
8.1 时序数据库简介 127
8.1.1 什么是时序数据库 127
8.1.2 时序数据库的特点 128
8.1.3 时序数据库对比 130
8.2 时序数据库Graphite 131
8.2.1 Graphite简介 131
8.2.2 Graphite在微博广告监控系统中的应用 137
8.3 多维分析利器Druid 139
8.3.1 什么是Druid 139
8.3.2 Druid架构 140
8.3.3 Druid在微博广告监控平台中的应用 144
8.4 性能神器ClickHouse 147
8.4.1 什么是ClickHouse 147
8.4.2 ClickHouse的特性 148
8.4.3 ClickHouse的不足 149
8.4.4 安装配置ClickHouse 149
8.4.5 表引擎 153
8.4.6 函数支持 157
8.5 本章小结 160
8.6 参考文献 160

第9章 机器学习框架 161
9.1 简介 161
9.2 TensorFlow介绍 162
9.2.1 什么是TensorFlow 162
9.2.2 下载安装 162
9.2.3 “Hello TensorFlow”示例 166
9.3 TensorFlow进阶 166
9.3.1 基础理论 167
9.3.2 模型准备 169
9.3.3 训练数据 169
9.3.4 模型训练 171
9.3.5 生成seq2seq句子 174
9.3.6 运行演示 175
9.4 本章小结 178
9.5 参考文献 179

第3篇 运维新时代:智能运维技术详解

第10章 数据聚合与关联技术 182
10.1 数据聚合 182
10.1.1 聚合运算 183
10.1.2 多维度聚合 186
10.2 降低维度 188
10.2.1 将告警聚合成关联“事件” 189
10.2.2 减少误报:告警分类 190
10.3 数据关联 192
10.4 实时数据关联案例 193
10.4.1 设计方案 193
10.4.2 效果 195
10.5 本章小结 195
10.6 参考文献 195

第11章 数据异常点检测技术 196
11.1 概述 196
11.2 异常检测方法 198
11.2.1 基于统计模型的异常点检测 199
11.2.2 基于邻近度的异常点检测 202
11.2.3 基于密度的异常点检测 203
11.3 独立森林 204
11.4 本章小结 207
11.5 参考文献 207

第12章 故障诊断和分析策略 208
12.1 日志标准化 209
12.2 全链路追踪 210
12.3 SLA的统一 210
12.4 传统的故障定位方法 211
12.4.1 监控告警型 211
12.4.2 日志分析型 212
12.5 人工智能在故障定位领域的应用 213
12.5.1 基于关联规则的相关性分析 213
12.5.2 基于决策树的故障诊断 217
12.6 本章小结 222
12.7 参考文献 222

第13章 趋势预测算法 223
13.1 移动平均法 223
13.2 指数平滑法 224
13.3 ARIMA模型 226
13.3.1 简介 226
13.3.2 重要概念 226
13.3.3 参数解释 228
13.3.4 建模步骤 230
13.3.5 ARIMA模型案例 232
13.4 神经网络模型 236
13.4.1 卷积神经网络 236
13.4.2 循环神经网络 238
13.4.3 长短期记忆网络 239
13.4.4 应用说明 241
13.5 本章小结 241
13.6 参考文献 242

第4篇 智能运维架构实践:技术案例详解

第14章 快速构建日志监控系统 244
14.1 Elasticsearch分布式搜索引擎 244
14.1.1 基本概念 244
14.1.2 分布式文档存储与读取 248
14.1.3 分布式文档检索 250
14.1.4 分片管理 252
14.1.5 路由策略 254
14.1.6 映射 255
14.2 可视化工具Kibana 258
14.2.1 Management 260
14.2.2 Discover 260
14.2.3 Visualize 262
14.2.4 Dashboard 263
14.2.5 Timelion 263
14.2.6 Dev Tools 264
14.3 ELK搭建实践 264
14.3.1 Logstash安装配置 264
14.3.2 Elasticsearch集群安装配置 266
14.3.3 Kibana安装配置 272
14.4 本章小结 274
14.5 参考文献 274

第15章 微博广告智能监控系统 275
15.1 背景介绍 275
15.1.1 监控指标体系 275
15.1.2 功能设计原则 276
15.2 整体架构 277
15.3 核心功能分析 278
15.3.1 全景监控 278
15.3.2 趋势预测 281
15.3.3 动态阈值 285
15.3.4 服务治理 285
15.4 本章小结 288

第16章 微博平台通用监控系统 289
16.1 背景 290
16.2 整体架构 291
16.3 核心模块 292
16.3.1 数据采集(Logtailer) 292
16.3.2 数据路由(Statsd-proxy) 295
16.3.3 聚合运算(Statsd) 295
16.3.4 数据分发(C-Relay)和数据存储 295
16.3.5 告警模块 297
16.3.6 API设计 300
16.3.7 数据可视化 301
16.4 第三方应用 302
16.4.1 决策支持系统 302
16.4.2 运维自动化 303
16.4.3 成本分析和容量日报 303
16.4.4 机器学习 303
16.5 本章小节 303
附录A 中国大数据技术大会2017(BDTC 2017)CSDN专访实录 305


展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证