开发者学堂课程【云原生中间件产品销售红宝书:消息队列 kafka 销售指南】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/629/detail/9887
消息队列 kafka 销售指南
内容介绍:
一、为什么要用消息队列 kafka ?
二、消息队列 Kafka --产品优势
三、主流竞品-- Kafka商业产品
四、消息队列 Kafka --与自建成本对比
五、消息队列 Kafka --大数据平台生态中的位置
六、消息队列 Kafka -流数据存储场景
七、消息队列 Kafka --流数据处理场景
八、消息队列 Kafka --日志分析平台案例
九、消息队列 Kafka --网站活动跟踪场景
十、消息队列 Kafka一指禅
一、为什么要用消息队列 kafka ?
1、大数据客户常见难题:
来自于大数据的场景,因为它是伴随着大数据的问题应运而生的一款产品,所以以前大数据客户会遇到几个问题比较难解决。
(1)网页用户行为如何追踪?
用户在网,上的各类动作(网页浏览,搜索和其他用户的行动),是在现代网络上的许多社会功能的一个关键因素,如何有效的跟踪和分析,尤其是海量的数据如何与大数据系统,进行实时的传输,是一个难题。
网上的数据,手机上的app,微信,客户在上面的所有的点击动作浏览数据,都会生成日志,日志传输在系统里是个难题。
(2)面对海量日志如何聚合?
各类系统日志数据,更多的除了用户日志系统日志,各类的系统各类传感器的日志,系统的本身的数据库,也要汇集,通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。对于像Hadoop一样的日志数据和离线分析系统,但又要求实时处理的限制,这又是一个难题。
(3)大量流数据如何高性能的到大数据系统?
在一些大数据相关的业务场景中,需要对大量并发数据进行处理和汇总,此时对集群的处理性能和扩展性都有很高的要求。如何满足这些需求?
2、消息队列 kafka 在哪里?
(1)定义Kafka是一个开源流处理平台,由Scala和Java编写,是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。
(2)简单理解消息队列kafka 是一个专门为大数据高
吞吐收集、传递数据的最佳使用工具。
大数据的客户基本工作分五大步,第一个是各种数据,大数据指的是数据库的标准数据,各种非标准的数据,日志,图片,视频,语音,日志,包括windows信息,都是各类各杂的信息,杂的数据,可以用数据从多维度分析,各种业务各种参数帮客户做决策,所以第一步进行数据的收集collect date,把本身海量的数据收集过来,第二步就是数据传达到数据的处理过程,数据的清洗处理过程,数据的存储,数据库oss各种数据都用的到,最后是数据的分发和处理,预测,决策,箭头就是kafka的功能所在,实际上不要看它是一点点,数据有可能每时每秒就高达几百兆甚至上千兆都有可能。这么多数据实际上没有一款高效的工具是难以帮它把数据从各个模块往下进行有效的扭转,所以需要 kafka。
(3)商用时间: 2018年10月底,以前是开源的产品,自建的
(4)路径:阿里云官网-产品-企业应用-消息队列MQ
(5)产品页面https://www.aliyun.com/product/kafka
3、产品区别
消息队列有四五款产品,功能各不相同,但是都是做分布式系统,外部各种系统之间交互的时候会用到MQ产品。
(1)但凡系统之间都需要通信,都能用上MQ消息队列,分布式系统、外部系统交互
(2)日常形态钉钉、微信、QQ、阿里邮箱、银行/支付宝消费信息、淘宝订单信.....
4、MQ的特点
(1)应用解耦
无论发送方的出现问题,只会影响队列中消息的数量,接收方不受影响。
(2)消息堆积(异步化)
发送方的消息会存储在队列中,即使接收方接收不到,消息不会丢失。
(3)削峰填谷
通过监控消息数量,可更有效的控制发送方和接收方的实例数,弹性伸缩。
逛单体的电商网站,浏览的化妆品加到购物车,购物车里面的东西如果有优惠就购买,没有优惠就放在那,或者清掉,第二步是更新积分,第三步是到库存里面,库存中心生成订单,如果是里面某一个点出问题容易导致下一个业务不可用,消息就是解决不可用,如果任何一点出问题所有的流程都无法进行,所以特别是大流量来的时候比如买小米的手机,只有1000台,十万人在抢和一百万人在抢的时候就会出现情况,整个系统没有一个人能买成功,消息队列的好处是它在里面做改造,在其中一个环节插入消息队列以后,它就可以把下一个所有的系统做分发,隔离开,实现第一个功能应用解耦,如果是十万个人,一百万人在抢,可以保证购物车加不了,但是积分可以用,物流订单可以发,积分发不了,其他两个不受影响,
第二个消息异步堆积能力,很多小米的客户来买小米的东西或者买淘宝的东西,如果十万个人抢一千个,基本上会有一种处理机制,消息可以存储,虽然上下只能处理1000个客户,一秒钟会把剩余的几万条存下,存在消息对列里面,有空的时候处理,副作用是带来消息的延迟十几秒钟,甚至于几分钟才能处理剩下来,排队等着,所以延迟叫做异步化,异步化的好处是保持业务可用,有时间把一点点东西处理掉,所以业务会有极大的好处能保证系统可用,但不至于几万人十几万人在抢一个东西把系统搞塌,只是会带来一个副作用是买的过程中发现有点慢,要等一段时间才能够显示能不能买,
第三个特点是削峰填谷,如果是大量的业务堆积,客户的量太大可能不止十万一百万三百万来买东西,高峰来的时候,实际上堆积的时间太长也不行,所以会根据上一个信息来的数量预测下游的需要相应的扩容以保证体验好,扩容动作包括预警的工作可以起到削峰填谷的作用,大促双11的时候用的最多。未来无论哪一款MQ都有这三个特点。
5、阿里MQ系列有哪几个产品?
产品 |
特性与典型场景 |
主要竞品 |
#消息AMQP (Rabbit MQ版) |
特性:可伸缩性(集群服务)、高稳定, 消息持久化存储。 典型客户:金融、银行 |
开源产品Rabbit MQ- 自建居多 |
消息队列 RocketMQ 电商产品 |
特性:高可用,高性能、低延时、消息 海量堆积。适用交易场景,通知场景 典型客户:金融、电商、直播、游戏 |
源自阿里巴巴开源产品Rocket MQ-自建 Amazon MQ ( ActiveMQ ) |
MQ for IOT ( MQTT ) |
特征:多终端接入,稳定不掉线,MQT T协议的场景 客户:物联网、APP类、车联网 |
腾讯/开源MQ for IoT 自建居多 |
消息队列Kafka |
特征:日志收集、数据流处理、大数据分析 典型客户:大数据客户, 100%必用 |
开源产品Kafka , Ckafka- 自建居多 |
消息服务MNS |
支持HTTP协议 |
Amazon SNS |
五个产品里面 kafka 的推进能力也很强,因为有大数据在里面,大数据本身就属于数据很大的情况,也属于很多流量来的情况,包括数据流也是,所以它也是一种堆积能力很强的产品,其他产品它也都是一样都是可以堆积的,只是大数据的客户专门kafka,有很多自建的客户,AMQP表示金融电商的客户,因为专门做交易用,所以它堆积能力也很厉害,但是它比较适合于电商领域的一些特性,主要是做物联网产品。
6、与其他MQ场景差别
RocketMQ /Kafka应用场景分析
通过图可以区分kafka和别人的区别,如果有很多个子系统之间传递消息的时候是用Rocket和Rabbit,如果有对外的传感器,车联网进行传递,用微消息mqtt,如果是底层的日志要收集,包括流数据要处理用kafka,底层日志,日常的数据流转。
二、消息队列Kafka --产品优势
全面融合 Kafka 生态
开箱即用,无缝迁移,全面解决Kafka 开源产品痛点,安全、可靠、免运维。
1、系统化运维
水平扩展,弹性扩缩,秒级系统健康巡检,完善监控告警体系,全链路消息轨迹,消息堆积查询。
2、高可靠&高可用
多副本数据存储、同步双写,数据可靠性99.99999999%,服务可用性99.99%,Always Writable。
3、安全体系
完备的账号体系,访问权限隔离,跨帐号与主子帐号授权。
4、高性能
百历级并发处理能力,彻底解决开源Kafka痛点:
(1)百万级Topic情况,始终保证高吞吐能力
(2)消息堆积情况下,始终保证高吞吐能力
(3)解决业界Long-Tail Latency (毛刺)现象
三、主流竞品-- Kafka商业产品
1、在商业化产品主要面对的对手一个是外面的客户一个是内部的客户,内部的客户主要是开源产品,外部的客户主要是亚马逊腾讯语言kafka,每个公司都有自己的kafka,但都是基于自己的云做的,跟三家竞争本质上是三家原厂家竞争,并不是生态竞争,还有单独的kafka套件,但它不是主要的竞争对手。
2、除三大云厂商的kafka产品外,主要优势是体现在
(1)阿里云集群部署,优化后性能和安全可用性极高;
(2)与阿里云大数据生态已完全兼容,配合使用性能最佳;
(3)操作和使用极其便利,方便运维。
3、目前阿里云客户,主流使用的kafka开源产品,在2018年11月前,阿里云没有商业产品可以支持,都是开源自建。
4、消息队列Kafka --产品体验优势
它会告诉消息,收发的消息,哪些日志收发过程是否成功,会告诉消息的告警是否发成功,消息回溯,消息的轨迹都会告诉,这样就能保证的消息投递成功,而且有迹可行。
(1)消息查询
(2)消息回溯&清除
(3)消息轨迹
(3)监控告警
四、消息队列Kafka --与自建成本对比
1、日常配置日常自建kafka所需
(1)Kafka 对内存和磁盘要求比较高,否则服务质量会很差;
(2)Kafka 最小规模2台Broker,推荐配置为3台;
(3)Kafka 依赖Zookeeper,考虑到Zookeeper可以共用,成本估算时算1台;
对手除了云厂商几个客户外,阿里云的主要内部的客户是重要转化的对象,所以kafka的自荐客户是最多的,在18年11月之前都是自建的,自建Kafka的特点,至少需要3台ECS,所以kafka的硬件配置本身比较高,如果正常搭,自己搭ECS,还要搭vpc本身花费很高。
2、建设成本对比根据以上信息,自建Kafka至少需要3台ECS ;
业务规模 |
|
消息队列Kafka |
消息总量100w/日,峰值TPS 100 |
ECS成本: 3台2c4g,每月700元; Kafka运维成本: 0.2人,每月2000元; |
消息使用成本: 60元/月 Kafka运维成本: 0元 |
消息总量1000w/日,峰值TPS 1000 |
ECS成本:3台2c8g,每月700元; Kafka运维成本: 0.5人,每月5000元; |
消息使用成本: 600元/月 Kafka运维成本: 0元 |
消息总量1亿/日,峰值TPS 10000 |
ECS成本:3台4c16g,每月1800元; Kafka运维成本: 1人,每月1万元; |
消息使用成本: 2700元/月 Kafka运维成本: 0元 |
在三种流量逐步上升的过程中,每一种自建的花费是每个月2000,5000,10000,如果是直接用产品,它的好处是每个月只要60,600,2700,所以左边和右边价格差异是极其巨大的,在成本上极具优势,性价比高。
3、综合优势
(1)更低的人力成本,免运维,用户可以更专注于业务开发;
(2)更低的使用成本,按需消费,与传统根据业务峰值来规划预算、并购买硬件相比,更便捷、更弹性;
(3)更好的兼容集成阿里云产品生态,更易于业务间做配合;
五、消息队列Kafka --大数据平台生态中的位置
生态跟几个产品相关,大数据有三个部位,五个步骤,综合讲有三个,第一个是收数据,海量的数据汇集,需要一个传递工具。第二个海量的数据做计算,做存储,涉及到很多大数据的产品,很多云计算spark storm,这些东西都是做计算的,所以大天然和产品是做兼容的,在官网有连接导流,所以它是大数据领域数据流转的最佳的通道和方案,如果看到这几个产品,客户在购买列单里面已经有了,请记得把kafka加进去。
六、消息队列Kafka -流数据存储场景
kafka 场景分两部分,技术场景和业务场景。
1、技术场景,用kafka收集系统流数据,并将其加载到云数据存储中。
Step1 :业务数据写入到Kafka
Step2 :消息数据流入到离线存储,关系型数据库等
Step3: BI处理,批量数据分析
2、业务场景,适合实时类数据监控、展示等场景。如业务大盘,销售大盘、系统运行大盘等。
数据流是数据的实时产生从来没有间断过,比如气象台是通过遥感卫星包括地面的传感器收集,每时每刻的数据,这么多数据它时时刻刻分分秒秒都在产生,后台气象服务器传数据就没有断过,所以属于流数据,像流水一样从来没有间断过,需要海量的数据处理,在业务上体现在很多业务的大盘,销售大盘,运行大盘能看到目前现有的运转情况,包括气象台的云层的监控,包括台风情况,从哪里来,到哪里去,会用到技术跟流数据相关的,如果是股票大盘,包括市场销售的情况,每时每刻都在发生,也属于流数据,包括系统每时每刻的运转,Cpu的负载每时每秒都不一样,内存包括数据库负载它都是每时每刻的流数据,大盘内的都需要。
七、消息队列Kafka --流数据处理场景
1、技术场景,通过Kafka提供性能出色且可扩展的解决方案来接收流数据。通过 Kafka +流计算引擎,构建实时应用程序。
Step1 :各类网站点击流、金融交易和应用程序日志等流数据,写入到Kafka进行缓冲。
Step2 :消息数据流入到实时计算引擎(如emr. storm. spark等),以及Function Compute等,进行实时业务分析、预测。
Step3 :用户分析、运营平台、Alert,Monitor 等进行分析.发起决策和指挥。
2、业务场景适合各类实时业务分析、预测、决策等场景,如实时路况+导航、台风路径预测、股票走势预测、球赛预测结果。
把消息存起来,做流数据的分析,比如台风,气象台收集过来会进行处理,会有一套算法,内置在大数据的产品里面,模型里面,把数据收过来以后,知道目前各个地方的数据,温度情况,温控情况,好预测台风可能会往哪个方向走,这样就可以做实时的决策和预测,帮助当地做应急的演练,防效遇灾,包括道路的实时导航,用导航的时候会有显示不同的路径,推荐,它收集的是路面的各种信息,包括地面的压感,包括地面的摄像头,包括各个车主的导航传过来的数据,都能体现出道路的是否通畅或者拥堵,把数据汇集起来,推给更多的数据的导航用户,告诉他哪条路更堵,哪条路更顺畅,帮他避开拥堵的位置,这就是实时决策,包括股票里面的走势,今天它是低多少点,走多少点,明天大概位置都会告诉,用到的技术全都是大数据,kafka是用来做数据的搬运工。
八、消息队列Kafka --日志分析平台案例
1、业务场景,大数据的部分数据中心,适合运用于:
(1)用户画像库:生活圈、社交关系、消费层次等标签画像库。
(2)客户服务:用户使用问题定位,故障排查等。
2、技术场景,用kafka收集网站系统等海量日志,并将其加载到云数据存储中,成为日志收集中心。
网站的登陆,收集,支付,包括浏览的日志都会收集起来做存储,所以它是用来做用户画像的标签,包括日志日常的调用,医院的系统知道先生是在什么时间做报销,什么时间做医院的挂号,某时某刻做行动的都收集起来,包括用户在微信里面,在网站上做的所有的行为它都能根据一套模型算出来性别,打标签的目的是识别出来以后做营销,在目前互联网的时代每一个人只要在网上留了记录,就知道是什么样子,住在什么地方,用来做日常的消费系统的营销推广。
九、消息队列Kafka --网站活动跟踪场景
1、技术场景,通过消息队列Kafka可收集活动网站上的日志,用于页面分析、用户打标和业务调整。登陆,使用使用会员系统进行收集
2、业务场景举例
(1)用户行为分析(用户喜好、停留、热点区域)
(2)改善页面布局,照片展示、用户打标
不仅仅用来做一些简单设计,它还可以帮页面做热力图的分布,比如右图会告诉它是电商网站,放鞋在首页上最显眼的位置,这双鞋想卖爆品,但是点击的人并不多,下面四款产品反而点的人更多,根据图它就可以做页面的调整。
3、客户案例-电商行业
(1)客户行业传统零售行业,有自己的电商和外贸平台,年销售额近300亿。
(2)业务痛点客户属于传统零售行业,有自己的物理机房,目前引导电商平台迁移到公有云来。之前客户用的开源的kafka ,据反馈很不稳定,出现过消息丢失等情况,每次有问题都是第三方去排查解决,时间成本和金钱成本大大提高。
(3)之前使用的产品自建开源kafka
(4)销售方法把阿里云的kafka和开源的kafka进行 了对比,客户对于阿里云kafka提供托管服务和高稳定性很认可,这样能够减少他们运维和使用成本,更能专注于.上层应用和业务发展。
(5)使用效果 : 电商平台使用效果很好,现已全部kafka已切换商业版。
(6)销售启示:聆听客户业务痛点和关注点,及时抓住并给到合理的解决方案以及对比方案,强化客户寻求变通和解决问题的决心,引导客户采购使用。电商只是客户it建设中的一个小模块,借此机会也方便去深挖客户其他应用建设情况。
电扇场景分析页面,分析客户,它的数据一旦大了以后就容易出现消息丢失的问题消息,基数越大丢的消息越多,所以自建开源就是消息容易丢,而且还不知道丢到哪里,因为它没有监控系统,产品很好的能解决这个问题,消息不能丢,知道消息是否发成功,帮客户很好的解决问题。
4、挖宝案例
(1)客户行业: 互联网行业
(2)产品: Kafka
(3)业务痛点:业务增长快,自己搭建的不稳定,并且速度很慢,消息慢
(4)之前使用的产品:自建开源的Kafka
(5)销售方法:针对客户业务痛点以及业务场景,客户会先在自己个人的账号进行测试。客户测试时在云上的体验与自己搭建的效果形成明显的对比,不管是对业务还是管理都有显著的提升,客户便会有极大的购买意愿。
(6)使用效果:消息快,容易部署上线
(7)销售启示:结合客户场景,了解客户的业务,根据客户提出的问题合某种云资源解决客户问题。
现在很多互联网客户自己的技术都很先进进行分析,会知道自己的业务增长的情况,自己的数据来源,但是自己搭kafka,基于开源产品做了很多调优,效果也比较明显,客户很容易被打动。
十、消息队列Kafka一指禅
1、产品概述
消息队列Kafka是个分布式的、高吞吐量、高可扩展性的消息队列服务。阿里云提供全托管服务,用户无需部署运维,更专业、更可靠、更安全。
2、产品优势
(1)开箱即用
100%兼容开源版本,业务代码无需任何改造即可快速上云。
(2)全托管
提供全托管服务,用户只需要关注与业务开发,无需部署运全托管维,更专业,更弹性,更可靠。
(3)高可用
优化开源Kafka的痛点,由专业团队保障服务可用,消息堆积能力更强,支持数万级Topic。
(4)数据更安全
支持SASL用户身份认证与SSL通道加密传输机制,确保数据不被窃取或篡改,保证用户数据的安全。
3、目标场景与客户价值
(1)日志分析
使用Kafka将业务系统生成的日志发送到离线仓库存储或者Storm/ Spark等实时在线分析引擎。
(2)流计算处理
股市走向分析、气象数据预测、网站用户行为分析等领域,常适合Kafka,可根据业务需求对数据进行计算并反馈结果。
(3)多路转发
有些场景需要将一份数据复制到多个系统,可利用Kafka做据中转枢纽,同份数据可导入多个系统。
4、客户案例
(1)兑吧:互联网运营平台的大数据计算通道
(2)广爱:游戏行业,数据处理和存储服务
(3)小鹏汽车、大众汽车:互联网汽车行业大数据相关
(4)逻辑息维、正见传媒:广告、传媒相关的业务涉及到大数据
(5)拉卡拉,空天区块链:互联网金融业务使用大数据
5、8月购买优惠
Kafka (包年包月) 1年期规格: 9.5折
(首购、新购客户均可享受)
6、客户在哪里?
(1)高潜类客户:
大数据客户
中大型互联网客户
金融客户
快消品客户
游戏类客户在乎自己的市场占有率和市场销售的情况,实时看大盘
广告传媒公司看自己销售的广告,点击率
(2)保有产品:
具体哪一类客户想识别哪个点
Maxcompute
Hbase
E-mapreduce
DataV
Quick BI
DataWorks
kafka 目前在产品里面是增长最快的,客户最好推的,比较好讲的。