互联网系统架构师必知的高性能服务系统第三十三期
2017年10月30日--2017年11月06日 分享到:

影响业务系统性能的因素很多,计算机系统的各个层面都有涉及:从硬件、网络、操作系统、中间件、存储,直到自身代码质量。所有技术团队都曾为解决性能问题、提高性能峰值绞尽脑汁,从千头万绪到生不如死。
本期专家问答我们请来了《 高性能服务系统构建与实战 》一书作者 银文杰 来为大家解答相关问题。

本期问答内容
1、怎样进行第三方组件选型、技术选型?
2、如何进行线上系统问题的排查?
3、如何做好自己的职业规划?
4、哪些客观因素会影响系统性能?

作者简介:
银文杰
笔名“说好不能打脸”,博客地址blog.csdn.net/yinwenjie。资深IT屌丝一枚,最大爱好就是敲敲代码,写写博客,研究研究创业热点。CSDN博客作家,CSDN Java EE知识库特约编辑。曾参与电信行业、物流行业多个核心系统建设,对系统顶层设计、技术线路规划、业务系统性能调整有较丰富的经验;也曾有几年头脑发热拍案创业,兼职市场销售、电话客服、公司保安以及清洁大叔。

为了营造更好的问答氛围,我们不欢迎一切与主题无关的讨论、灌水。欢迎大家踊跃提问,银文杰老师会为大家解答问题,并在活动结束后抽取三位幸运用户赠送《 高性能服务系统构建与实战 》实体书一本

已结束
本期嘉宾 1509353209 870213 银文杰 笔名“说好不能打脸”,博客地址blog.csdn.net/yinwenjie。资深IT屌丝一枚,最大爱好就是敲敲代码,写写博客,研究研究创业热点。CSDN博客作家,CSDN Java EE知识库特约编辑。曾参与电信行业、物流行业多个核心系统建设,对系统顶层设计、技术线路规划、业务系统性能调整有较丰富的经验;也曾有几年头脑发热拍案创业,兼职市场销售、电话客服、公司保安以及清洁大叔。
2 kojava kojava 2017.11.01 10:09提问
请教关于系统架构如何合理设计问题

目前计划搭建一个能处理6000+TPS的数据采集和分析系统,平均秒入库数据量大概3000条据(单条数据4k),数据保留一周,主要业务是入库和集可数据报表查询,请问大牛我应该怎么搭建此业务系统。
1、需要采用什么技术、数据库、中间件。
2、保证业务可用,造价成本要求合理的情况下,需要什么物理资源、什么配置服务器,数量几台?

2 yinwenjie yinwenjie 2017.11.02 18:41回答

一般来说TPS能上1000+的,就应经算是中大型系统了。非一线互联网公司的业务系统平均一天的TPS能维持在100左右,就说明这家公司的业务开展得很不错了。单条数据4K?是系统运行日志信息吗?个人妄自猜测应该是类似舆情分析所需要的文本信息吧。

这里推荐两个方案吧:

一个是目前比较传统的,成功案例也比较多的 Python 爬虫+Flume+Kafka+Storm+HDFS方案,个人感觉这个方案应该适用你的需求。单条4K的数据如果采用某款支持事务操作的关系型数据库(例如MySQL),显然不现实。主要原因是重做日志(redo log)太大。
如果是舆情分析文本数据,通过strom完成初筛的数据可以直接放HDFS,这个I/O吨吞吐量绝对符合你的要求。而且可以为下一步数据分析做好数据准备。如果你非要选择一款数据库,那么可以选择HBase、Cassandra等,但是建议4K的数据进行拆分和关联后存入。

这个方案还有一个有点,就是各种资料Google和百度都很好查询,基本上需要踩的坑都可以找到现成的方案。本人专题文章中,也有对Flume有详细的介绍。

另外一个方案是ELK(ElasticSearch, Logstash, Kibana)
这套方案也是目前非常流行的数据采集、分析方案。这两套方案都应该符合你的业务要求,而且安装和运维工作上各有优劣。而且对于搜索引擎来说,建立文本内容的分词点刚好是它的强项。如果你的业务重点是数据分析/报表的实时性,那么可以考虑本方案。

yinwenjie
yinwenjie 回复kojava: 方案二的坑事有点多,因为据我所知,成熟运营了很久的系统目前还不多。不过如果这套方案你们已经用了一段时间了,建议还是用下去。如果这时又换商业软件,那么可能以前的坑还会再重新踩一遍。
6 天之前 回复
kojava
kojava 你猜的很对舆情分析系统,类似股市舆情分析。
6 天之前 回复
kojava
kojava 目前采第二套方案,期间遇到了不少坑但性能有保证,开源的技术可控性不高商业软件有可替代方案吗?
6 天之前 回复