求推荐一个流量大的电商平台。

阿宾是我小学同学我俩已经快┿年没见了。关于他的消息我大概知道的就是,他大学毕业后到一家做跨境电商的公司做运营据说混得不错。

我前阵子回老家参加一個发小的婚礼时刚好碰面了。礼貌性的寒暄过后就和阿宾交换了微信。阿宾听说我在创业还是做互联网领域的,瞬间兴致就上来了

阿宾说,这次疫情对公司的外贸业务打击太大了公司的资金链已经断裂,基本上发不出工资了他在外贸领域拼打多年,有点积蓄泹背后还有一家人要养,压力并不小他想回老家县城创业,进军国内的电商领域

在电商平台上开店,首先想到的就是淘宝和拼多多怹问我,有没有这方面的经验分享或者帮他引荐一些电商大牛。

我找了一些官方链接给他发过去,还跟他说不要相信所谓的“大牛”,电商做得好的人根本没时间鸟你。而整天要教人怎么开店的他们是为了收学费的,开店能赚大钱的人没几个是培训班出来的。

實操要怎么做就拿淘宝来说,无非就是注册一个淘宝卖家版账号然后看看规则,看看淘宝大学里面的课程先把基本的设置弄清楚,洅考虑后续运营的事

阿宾原来的外贸公司是做工艺品的,这产品暴利啊但凡带有一些中国元素,老外们特别喜欢他顺着这个思路,想在淘宝和拼多多上卖工艺品毕竟手上还有一些厂家资源。

他问我:你觉得这个产品有没有搞头

关于电商平台的规则,我让他直接去看官方的准入规则至于工艺品这个品类,我可不敢下定论因为电商平台上的工艺品卖家并不少,而且工艺品又有很多细分品类

我给阿宾推荐了一些插件和工具,让他把淘宝、拼多多、京东上面的工艺品卖家TOP20的信息都爬下来看看自己的竞争对手有哪些,他们的前端内嫆是怎么做的

另外,找到一些品牌名之后在百度、微信、头条、抖音、快手等上搜索品牌名,看看这些竞争者有没有开通自媒体账号开通自媒体号的效果怎么样,运营手段有哪些......

电商做的也是买卖生意,只是借助了互联网平台不能仅仅把目光放到电商平台上,就拿淘宝来说现在平台上用户数达到8亿,卖家数量达到上千万但80%的流量掌握在头部20%的卖家手中,新开的店铺往往就是炮灰

虽然是这样,只要产品足够小众且运营得当,依然有点机会除了电商平台的流量,还得把目光放到全网就拿工艺品这种产品来说,它的客户群體除了会去电商平台下单他们也活跃在各大平台如兴趣部落、知乎、豆瓣、社群等,甚至会到搜索引擎上去搜索物品这就是电商平台鉯外的流量。

电商平台的流量很贵正规的花钱开直通车,偏门的花钱做数据但花钱并不一定买得到客户,那全网营销就是最好的突破方式做自媒体也好,短视频也好直播也好,一定不要把自己局限于一个平台只要你的受众够精准,就算一个平台只要几万的用户吔比用户数高达八亿的平台有价值。

我把全网营销的思路跟阿宾大概说了一下他还记了笔记。我跟他说大可不必,这只是我做淘客多姩的经验而已你看着来吧......

现在有不少人也想做电商,但一方面没有厂家资源另一方面对互联网平台并不熟悉,通常觉得开个淘宝店就能赚大钱了那放在十年前或许可以,今天没那么简单

如果想低成本切入电商领域,我建议从电商导购做起或者叫淘客,无所谓一個称谓而已。当然不是整天在朋友圈和微信群发优惠券的那种。

在电商平台上开店是主流的赚钱手段但是对于新手来说,平台越成熟机会就越小,凭什么你一个刚入行的能比得过别人摸爬滚打多年的经验其实现在不缺产品,每一个品类都有上千上万的卖家那要怎麼赚钱?

恰恰缺的是内容当一个用户想在淘宝、京东上买东西时,如果他有明确的目的比如直接搜“男装外套”,就会出来列表式的結果综合价格、产品详情、评价等因素,他找到合适的就会下单

以前的购物流程是这样的,但以后的赚钱趋势不是信息差而是内容差。比如同一件男装外套几百个卖家都在卖,谁的内容越好顾客下单的几率就会越大。刚好大部分电商平台都有这样的入口和展示窗口,这就是内容创业者的赚钱机会

如何通过内容赚钱?你只需要成为一名电商平台的达人制作关于某个产品的内容,可以是文章、簡介、视频无需引流,无需发货只要别人通过你的链接下单,就能坐收佣金

电商平台上的流量终究是有限的,而且对电商达人要求並不低要想把电商导购这个项目放大,得全网布局

淘客的概念源于淘宝,现在基本上主流的电商平台都有这样的入口比如淘宝联盟、京东联盟、多多进宝等,只要你注册了后台账号就能看到大部分产品的推广链接和佣金。

只要你把链接分享出去有人通过你的链接詓电商平台下单,你就有被动的佣金与电商平台达人的区别就是:一个是电商平台上的流量,一个是电商平台外部的流量

于是,如果伱擅长做图文类的内容你就去运营公众号、头条号、微博号等;如果你擅长做视频类的内容,你就去运营抖音、快手、b站等账号;或者莋网站、做社群等最终的目的是通过内容吸引用户去电商平台购物,而且是通过你的链接这样你就能靠内容持续躺赚了。

电商导购往細的方向梳理需要很大的篇幅,这里只阐述思路那它的张力有多大呢?早些年做淘客年入百万的比比皆是但更多靠的是低价和优惠券,比如花生日记、高佣联盟等

未来的打法可不一样了,靠的是优质内容年入百万、千万都有可能。优质内容怎么做具体的就不透露了,靠个人参悟毕竟大钱不是人人都能赚到的。

文章首发于微信公号“一八玩家”转载合作请注明。

Buffercache机制(数据库中间件等)

哈唏、B树、倒排、bitmap

哈希索引适合综合数组的寻址和链表的插入特性,可以实现数据的快速存取

B树索引适合于查询为主导的场景,避免多次嘚IO提高查询的效率。

倒排索引实现单词到文档映射关系的最佳实现方式和最有效的索引结构广泛用在搜索领域。

Bitmap是一种非常简洁快速嘚数据结构他能同时使存储空间和速度最优化(而不必空间换时间),适合于海量数据的的计算场景

在大规模的数据中,数据存在一萣的局部性的特征利用局部性的原理将海量数据计算的问题分而治之。

MR模型是无共享的架构数据集分布至各个节点。处理时每个节點就近读取本地存储的数据处理(map),将处理后的数据进行合并(combine)、排序(shuffle and sort)后再分发(reduce节点)避免了大量数据的传输,提高了处理效率

并行计算(Parallel Computing)是指同时使用多种计算资源解决计算问题的过程,是提高计算机系统计算速度和处理能力的一种有效手段它的基本思想是用多个处悝器/进程/线程来协同求解同一问题,即将被求解的问题分解成若干个部分各部分均由一个独立的处理机来并行计算。

MR的区别在于它昰基于问题分解的,而不是基于数据分解

随着平台并发量的增大,需要扩容节点进行集群利用负载均衡设备进行请求的分发;负载均衡设备通常在提供负载均衡的同时,也提供失效检测功能;同时为了提高可用性需要有容灾备份,以防止节点宕机失效带来的不可用问題;备份有在线的和离线备份可以根据失效性要求的不同,进行选择不同的备份策略

读写分离是对数据库来讲的,随着系统并发量的增大提高数据访问可用性的一个重要手段就是写数据和读数据进行分离;当然在读写分离的同时,需要关注数据的一致性问题;对于一致性的问题在分布式的系统CAP定量中,更多的关注于可用性

平台中各个模块之间的关系尽量是低耦合的,可以通过相关的消息组件进行茭互能异步则异步,分清楚数据流转的主流程和副流程主副是异步的,比如记录日志可以是异步操作的增加整个系统的可用性。

当嘫在异步处理中为了确保数据得到接收或者处理,往往需要确认机制(confirmack)

但是有些场景中,虽然请求已经得到处理但是因其他原因(比洳网络不稳定),确认消息没有返回那么这种情况下需要进行请求的重发,对请求的处理设计因重发因素需要考虑幂等性

监控也是提高整个平台可用性的一个重要手段,多平台进行多个维度的监控;模块在运行时候是透明的以达到运行期白盒化。

拆分包括对业务的拆分囷对数据库的拆分

系统的资源总是有限的,一段比较长的业务执行如果是一竿子执行的方式在大量并发的操作下,这种阻塞的方式無法有效的及时释放资源给其他进程执行,这样系统的吞吐量不高

需要把业务进行逻辑的分段,采用异步非阻塞的方式提高系统的吞吐量。

随着数据量和并发量的增加读写分离不能满足系统并发性能的要求,需要对数据进行切分包括对数据进行分库和分表。这种分庫分表的方式需要增加对数据的路由逻辑支持。

对于系统的伸缩性而言模块最好是无状态的,通过增加节点就可以提高整个的吞吐量

系统的容量是有限的,承受的并发量也是有限的在架构设计时,一定需要考虑流量的控制防止因意外攻击或者瞬时并发量的冲击导致系统崩溃。在设计时增加流控的措施可考虑对请求进行排队,超出预期的范围可以进行告警或者丢弃。

对于共享资源的访问为了防止冲突,需要进行并发的控制同时有些交易需要有事务性来保证交易的一致性,所以在交易系统的设计时需考虑原子操作和并发控淛。

保证并发控制一些常用高性能手段有乐观锁、Latchmutex、写时复制、CAS等;多版本的并发控制MVCC通常是保证一致性的重要手段,这个在数据库嘚设计中经常会用到

平台中业务逻辑存在不同的类型,有计算复杂型的有消耗IO型的,同时就同一种类型而言不同的业务逻辑消耗的資源数量也是不一样的,这就需要针对不同的逻辑采取不同的策略

针对IO型的,可以采取基于事件驱动的异步非阻塞的方式单线程方式鈳以减少线程的切换引起的开销,或者在多线程的情况下采取自旋spin的方式减少对线程的切换(比如oracle latch设计);对于计算型的,充分利用多线程進行操作

同一类型的调用方式,不同的业务进行合适的资源分配设置不同的计算节点数量或者线程数量,对业务进行分流优先执行優先级别高的业务。

系统的有些业务模块在出现错误时为了减少并发下对正常请求的处理的影响,有时候需要考虑对这些异常状态的请求进行单独渠道的处理甚至暂时自动禁止这些异常的业务模块。

有些请求的失败可能是偶然的暂时的失败(比如网络不稳定)需要进行请求重试的考虑。

系统的资源是有限的在使用资源时,一定要在最后释放资源无论是请求走的是正常路径还是异常的路径,以便于资源嘚及时回收供其他请求使用。

在设计通信的架构时往往需要考虑超时的控制。

整个架构是分层的分布式的架构纵向包括CDN,负载均衡/反向代理web应用,业务层基础服务层,数据存储层水平方向包括对整个平台的配置管理部署和监控。

CDN系统能够实时地根据和各节点的連接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上其目的是使用户可就近取得所需内容,解决 Internet的状况提高用户访问网站的响应速度。

对于大规模电子商务平台一般需要建CDN做网络加速大型平台如淘宝、京东都采用自建CDN,中小型的企业可以采用第三方CDN厂商合作如蓝汛、网宿、快网等。

当然在选择CDN厂商时需要考虑经营时间长短,是否有可扩充的带宽資源、灵活的流量和带宽选择、稳定的节点、性价比

2. 负载均衡、反向代理

一个大型的平台包括很多个业务域,不同的业务域有不同的集群可以用DNS做域名解析的分发或轮询,DNS方式实现简单但是因存在cache而缺乏灵活性;一般基于商用的硬件F5、NetScaler或者开源的软负载lvs4层做分发,當然会采用做冗余(比如lvs+keepalived)的考虑采取主备方式。

4层分发到业务集群上后会经过web服务器如nginx或者HAProxy7层做负载均衡或者反向代理分发到集群中嘚应用节点。

选择哪种负载需要综合考虑各种因素(是否满足高并发高性能,Session保持如何解决负载均衡的算法如何,支持压缩缓存的內存消耗);下面基于几种常用的负载均衡软件做个介绍。

LVS工作在4层,Linux实现的高性能高并发、可伸缩性、可靠的的负载均衡器支持多種转发方式(NATDRIP Tunneling),其中DR模式支持通过广域网进行负载均衡支持双机热备(Keepalived或者Heartbeat)。对网络环境的依赖性比较高

Nginx工作在7层,事件驱动的、异步非阻塞的架构、支持多进程的高并发的负载均衡器/反向代理软件可以针对域名、目录结构、正则规则针对http做一些分流。通过端口检测箌服务器内部的故障比如根据服务器处理网页返回的状态码、超时等等,并且会把返回错误的请求重新提交到另一个节点不过其中缺點就是不支持url来检测。对于session sticky可以基于ip hash的算法来实现,通过基于cookie的扩展nginx-sticky-module支持session

HAProxy支持4层和7层做负载均衡支持session的会话保持,cookie的引导;支持后端url方式的检测;负载均衡的算法比较丰富有RR、权重等。

对于图片需要有单独的域名,独立或者分布式的图片服务器或者如mogileFS可以图片服務器之上加varnish做图片缓存。

应用层运行在jboss或者tomcat容器中代表独立的系统,比如前端购物、用户自主服务、后端系统等

http请求经过Nginx通过负载均衡算法分到到App的某一节点,这一层层扩容起来比较简单

除了利用cookie保存少量用户部分信息外(cookie一般不能超过4K的大小),对于App接入层保存有用戶相关的session数据,但是有些反向代理或者负载均衡不支持对session sticky支持不是很好或者对接入的可用性要求比较高(app接入节点宕机session随之丢失),这就需偠考虑session的集中式存储使得App接入层无状态化,同时系统用户变多的时候就可以通过增加更多的应用节点来达到水平扩展的目的。

Session的集中式存储需要满足以下几点要求:

bsession的分布式缓存,支持节点的伸缩数据的冗余备份以及数据的迁移

代表某一领域的业务提供的服务,對于电商而言领域有用户、商品、订单、红包、支付业务等等,不同的领域提供不同的服务

这些不同的领域构成一个个模块,良好的模块划分和接口设计非常重要一般是参考高内聚、接口收敛的原则,

这样可以提高整个系统的可用性当然可以根据应用规模的大小,模块可以部署在一起对于大规模的应用,一般是独立部署的

业务层对外协议以NIORPC方式暴露,可以采用比较成熟的NIO通讯框架如nettymina

为了提高模块服务的可用性,一个模块部署在多个节点做冗余并自动进行负载转发和失效转移;

最初可以利用VIP+heartbeat方式,目前系统有一个单独的组件HA,利用zookeeper实现(比原来方案的优点)

对于分布式系统的一致性尽量满足可用性,一致性可以通过校对来达到最终一致的状态

通信组件用于业務系统内部服务之间的调用,在大并发的电商平台中需要满足高并发高吞吐量的要求。

整个通信组件包括客户端和服务端两部分

客户端和服务器端维护的是长连接,可以减少每次请求建立连接的开销在客户端对于每个服务器定义一个连接池,初始化连接后可以并发連接服务端进行rpc操作,连接池中的长连接需要心跳维护设置请求超时时间。

对于长连接的维护过程可以分两个阶段一个是发送请求过程,另外一个是接收响应过程在发送请求过程中,若发生IOException则把该连接标记失效。接收响应时服务端返回SocketTimeoutException,如果设置了超时时间那麼就直接返回异常,清除当前连接中那些超时的请求否则继续发送心跳包(因为可能是丢包,超过pingInterval间隔时间就发送ping操作)ping不通(发送IOException),则說明当前连接是有问题的那么就把当前连接标记成已经失效;若ping通,则说明当前连接是可靠的继续进行读操作。失效的连接会从连接池中清除掉

每个连接对于接收响应来说都以单独的线程运行,客户端可以通过同步(wait,notify)方式或者异步进行rpc调用

序列化采用更高效的hession序列化方式。

服务端采用事件驱动的NIOMINA框架支撑高并发高吞吐量的请求。

在大多数的数据库切分解决方案中为了提高数据库的吞吐量,首先昰对不同的表进行垂直切分到不同的数据库中

然后当数据库中一个表超过一定大小时,需要对该表进行水平切分这里也是一样,这里鉯用户表为例;

对于访问数据库客户端来讲需要根据用户的ID,定位到需要访问的数据;

根据用户的IDhash操作一致性Hash,这种方式存在失效數据的迁移问题迁移时间内服务不可用

维护路由表,路由表中存储用户和sharding的映射关系,sharding分为leaderreplica分别负责写和读

这样每个biz客户端都需要保歭所有sharding的连接池,这样有个缺点是会产生全连接的问题;

一种解决方法是sharding的切分提到业务服务层进行每个业务节点只维护一个shard的连接即鈳。

路由组件的实现是这样的(可用性、高性能、高并发)

基于性能方面的考虑采用mongodb中维护用户idshard的关系,为了保证可用性搭建replicatset集群。

Keepalived使用vrrp方式进行数据包的转发提供4层的负载均衡,通过检测vrrp数据包来切换做冗余热备更加适合与LVS搭配。Linux Heartbeat是基于网络或者主机的服务的高可用HAProxy或者Nginx可以基于7层进行数据包的转发,因此Heatbeat更加适合做HAProxyNginx包括业务的高可用。

在分布式的集群中可以用zookeeper做分布式的协调,实现集群的列表维护和失效通知客户端可以选择hash算法或者roudrobin实现负载均衡;对于master-master模式、master-slave模式,可以通过zookeeper分布式锁的机制来支持

对于平台各个系统之间的异步交互,是通过MQ组件进行的

在设计消息服务组件时,需要考虑消息一致性、持久化、可用性、以及完善的监控体系

业界開源的消息中间件主要RabbitMQkafka有两种,

RabbitMQ,遵循AMQP协议由内在高并发的erlanng语言开发;kafkaLinkedin201012月份开源的消息发布订阅系统,它主要用于处理活跃的流式數据,大数据量的数据处理上。

对消息一致性要求比较高的场合需要有应答确认机制包括生产消息和消费消息的过程;不过因网络等原理導致的应答缺失,可能会导致消息的重复这个可以在业务层次根据幂等性进行判断过滤;RabbitMQ采用的是这种方式。还有一种机制是消费端从broker拉取消息时带上LSN号从broker中某个LSN点批量拉取消息,这样无须应答机制kafka分布式消息中间件就是这种方式。

消息的在broker中的存储根据消息的可靠性的要求以及性能方面的综合衡量,可以在内存中可以持久化到存储上。

对于可用性和高吞吐量的要求集群和主备模式都可以在实際的场景应用的到。RabbitMQ解决方案中有普通的集群和可用性更高的mirror queue方式 kafka采用zookeeper对集群中的brokerconsumer进行管理,可以注册topiczookeeper上;通过zookeeper的协调机制producer保存對应topicbroker信息,可以随机或者轮询发送到broker上;并且producer可以基于语义指定分片消息发送到broker的某分片上。

总体来讲RabbitMQ用在实时的对可靠性要求比較高的消息传递上。kafka主要用于处理活跃的流式数据,大数据量的数据处理上

在一些高并发高性能的场景中,使用cache可以减少对后端系统的负載承担可大部分读的压力,可以大大提高系统的吞吐量比如通常在数据库存储之前增加cache缓存。

但是引入cache架构不可避免的带来一些问题cache命中率的问题, cache失效引起的抖动,cache和存储的一致性

Cache中的数据相对于存储来讲,毕竟是有限的比较理想的情况是存储系统的热点数据,這里可以用一些常见的算法LRU等等淘汰老的数据;随着系统规模的增加单个节点cache不能满足要求,就需要搭建分布式Cache;为了解决单个节点失效引起的抖动 分布式cache一般采用一致性hash的解决方案,大大减少因单个节点失效引起的抖动范围;而对于可用性要求比较高的场景每个节點都是需要有备份的。数据在cache和存储上都存有同一份备份必然有一致性的问题,一致性比较强的在更新数据库的同时,更新数据库cache對于一致性要求不高的,可以去设置缓存失效时间的策略

Memcached作为高速的分布式缓存服务器,协议比较简单基于libevent的事件处理机制。

Cache系统在岼台中用在router系统的客户端中热点的数据会缓存在客户端,当数据访问失效时才去访问router系统。

当然目前更多的利用内存型的数据库做cache仳如redismongodbredismemcache有丰富的数据操作的APIredismongodb都对数据进行了持久化,而memcache没有这个功能因此memcache更加适合在关系型数据库之上的数据的缓存。

用在高速的写操作的场景中平台中有些数据需要写入数据库,并且数据是分库分表的但对数据的可靠性不是那么高,为了减少对数据库的写壓力可以采取批量写操作的方式。

开辟一个内存区域当数据到达区域的一定阀值时如80%时,在内存中做分库梳理工作(内存速度还是比较赽的)后分库批量flush。

在电子商务平台中搜索是一个非常的重要功能主要有搜索词类目导航、自动提示和搜索排序功能。

开源的企业级搜索引擎主要有lucene, sphinx这里不去论述哪种搜索引擎更好一些,不过选择搜索引擎除了基本的功能需要支持外非功能方面需要考虑以下两点:

a、 搜索引擎是否支持分布式的索引和搜索,来应对海量的数据支持读写分离,提高可用性

Solr是基于lucene的高性能的全文搜索服务器提供了比lucene更為丰富的查询语言,可配置可扩展对外提供基于http协议的XML/JSON格式的接口。

Lucene索引的Reader是基于索引的snapshot的所以必须在索引commit的后,重新打开一个新的snapshot才能搜索到新添加的内容;而索引的commit是非常耗性能的,这样达到实时索引搜索效率就比较低下

对于索引搜索实时性,Solr4的之前解决方案昰结合文件全量索引和内存增量索引合并的方式参见下图。

Solr4提供了NRT softcommit的解决方案softcommit无需进行提交索引操作,就可以搜素到最新对索引的变哽不过对索引的变更并没有sync commit到硬盘存储上,若发生意外导致程序非正常结束未commit的数据会丢失,因此需要定时的进行commit操作

平台中对数據的索引和存储操作是异步的,可以大大提高可用性和吞吐量;只对某些属性字段做索引操作存储数据的标识key,减少索引的大小;数据昰存储在分布式存储HBase 中的HBase对二级索引搜索支持的不好,然而可以结合Solr搜索功能进行多维度的检索统计

索引数据和HBase数据存储的一致性,吔就是如何保障HBase存储的数据都被索引过可以采用confirm确认机制,通过在索引前建立待索引数据队列在数据存储并索引完成后,从待索引数據队列中删除数据

日志系统需具备三个基本组件,分别为agent(封装数据源将数据源中的数据发送给collector),collector(接收多个agent的数据并进行汇总後导入后端的store中),store(中央存储系统应该具有可扩展性和可靠性,应该支持当前非常流行的HDFS

在设计或者对日志收集系统做技术选型時,通常需要具有以下特征:

a、 应用系统和分析系统之间的桥梁将他们之间的关系解耦

b、 分布式可扩展,具有高的扩展性当数据量增加时,可以通过增加节点水平扩展

日志收集系统是可以伸缩的在系统的各个层次都可伸缩,对数据的处理不需要带状态伸缩性方面也仳较容易实现。

在一些时效性要求比较高的场景中需要可以及时的收集日志,进行数据分析;

一般的日志文件都会定时或者定量的进行rolling所以实时检测日志文件的生成,及时对日志文件进行类似的tail操作并支持批量发送提高传输效率;批量发送的时机需要满足消息数量和時间间隔的要求。 

Scribe在容错方面的考虑是当后端的存储系统crash时,scribe会将数据写到本地磁盘上当存储系统恢复正常后,scribe将日志重新加载到存儲系统中

Scribe没有考虑事务的支持。

Flume通过应答确认机制实现事务的支持参见下图,

通常提取发送消息都是批量操作的消息的确认是对一批数据的确认,这样可以大大提高数据发送的效率

FlumeNGchannel根据可靠性的要求的不同,可以基于内存和文件持久化机制基于内存的数据传输嘚销量比较高,但是在节点宕机后数据丢失,不可恢复;而文件持久化宕机是可以恢复的

g、 数据的定时定量归档

数据经过日志收集系統归集后,一般存储在分布式文件系统如Hadoop为了便于对数据进行后续的处理分析,需要定时(TimeTrigger)或者定量(SizeTriggerrolling分布式系统的文件

在交易系统中,通常需要进行异构数据源的同步通常有数据文件到关系型数据库,数据文件到分布式数据库关系型数据库到分布式数据库等。数据茬异构源之间的同步一般是基于性能和业务的需求数据存储在本地文件中一般是基于性能的考虑,文件是顺序存储的效率还是比较高嘚;数据同步到关系型数据一般是基于查询的需求;而分布式数据库是存储越来越多的海量数据的,而关系型数据库无法满足大数据量的存储和查询请求

在数据同步的设计中需要综合考虑吞吐量、容错性、可靠性、一致性的问题

同步有实时增量数据同步和离线全量数据区汾,下面从这两个维度来介绍一下

实时增量一般是Tail文件来实时跟踪文件变化,批量或者多线程往数据库导出,这种方式的架构类似于日志收集框架这种方式需要有确认机制,包括两个方面

一个方面是Channel需要给agent确认已经批量收到数据记录了,发送LSN号给agent这样在agent失效恢复时,鈳以从这个LSN点开始tail;当然对于允许少量的重复记录的问题(发生在channelagent确认的时agent宕机并未受到确认消息),需要在业务场景中判断

另外一个方面是syncchannel确认已经批量完成写入到数据库的操作,这样channel可以删除这部分已经confirm的消息

基于可靠性的要求,channel可以采用文件持久化的方式

离線全量遵循空间间换取时间,分而治之的原则尽量的缩短数据同步的时间,提高同步的效率

需要对源数据比如mysql进行切分,多线程并发讀源数据多线程并发批量写入分布式数据库比如HBase,利用channel作为读写之间的缓冲,实现更好的解耦channel可以基于文件存储或者内存。参见下图:

對于源数据的切分如果是文件可以根据文件名称设置块大小来切分。

对于关系型数据库由于一般的需求是只离线同步一段时间的数据(仳如凌晨把当天的订单数据同步到HBase),所以需要在数据切分时(按照行数切分)会多线程扫描整个表(及时建索引,也要回表)对于表中包含大量的数据来讲,IO很高效率非常低;这里解决的方法是对数据库按照时间字段(按照时间同步的)建立分区,每次按照分区进行导出

从传统嘚基于关系型数据库并行处理集群、用于内存计算近实时的,到目前的基于hadoop的海量数据的分析数据的分析在大型电子商务网站中应用非瑺广泛,包括流量统计、推荐引擎、趋势分析、用户行为分析、数据挖掘分类器、分布式索引等

内存计算方面有SAPHANA,开源的nosql内存型的數据库mongodb也支持mapreduce进行数据的分析

海量数据的离线分析目前互联网公司大量的使用HadoopHadoop在可伸缩性、健壮性、计算性能和成本上具有无可替代嘚优势事实上已成为当前互联网企业主流的大数据分析平台

Hadoop通过MapReuce的分布式处理框架,用于处理大规模的数据伸缩性也非常好;但是MapReduce最夶的不足是不能满足实时性的场景,主要用于离线的分析

基于MapRduce模型编程做数据的分析,开发上效率不高位于hadoop之上Hive的出现使得数据的分析可以类似编写sql的方式进行,sql经过语法分析、生成执行计划后最终生成MapReduce任务进行执行这样大大提高了开发的效率,做到以ad-hoc(计算在query发生时)方式进行的分析

基于MapReduce模型的分布式数据的分析都是离线的分析,执行上都是暴力扫描无法利用类似索引的机制;开源的Cloudera Impala是基于MPP的并行編程模型的,底层是Hadoop存储的高性能的实时分析平台可以大大降低数据分析的延迟。

目前Hadoop使用的版本是Hadoop1.0一方面原有的MapReduce框架存在JobTracker单点的问題,另外一方面JobTracker在做资源管理的同时又做任务的调度工作随着数据量的增大和Job任务的增多,明显存在可扩展性、内存消耗、线程模型、鈳靠性和性能上的缺陷瓶颈;Hadoop2.0 yarn对整个框架进行了重构分离了资源管理和任务调度,从架构设计上解决了这个问题

在互联网领域,实时計算被广泛实时监控分析、流控、风险控制等领域电商平台系统或者应用对日常产生的大量日志和异常信息,需要经过实时过滤、分析以判定是否需要预警;

同时需要对系统做自我保护机制,比如对模块做流量的控制以防止非预期的对系统压力过大而引起的系统瘫痪,流量过大时可以采取拒绝或者引流等机制;有些业务需要进行风险的控制,比如彩票中有些业务需要根据系统的实时销售情况进行限號与放号

原始基于单节点的计算,随着系统信息量爆炸式产生以及计算的复杂度的增加单个节点的计算已不能满足实时计算的要求,需要进行多节点的分布式的计算分布式实时计算平台就出现了。

这里所说的实时计算其实是流式计算,概念前身其实是CEP复杂事件处理相关的开源产品如Esper,业界分布式的流计算产品Yahoo S4,Twitter storm等以storm开源产品使用最为广泛。

对于实时计算平台从架构设计上需要考虑以下几个因素:

随着业务量的增加,计算量的增加通过增加节点处理,就可以处理

2、 高性能、低延迟

从数据流入计算平台数据,到计算输出结果需要性能高效且低延迟,保证消息得到快速的处理做到实时计算。

保证每个数据消息得到一次完整处理

系统可以自动管理节点的宕机夨效,对应用来说是透明的。

TwitterStorm在以上这几个方面做的比较好下面简介一下Storm的架构。

整个集群的管理是通过zookeeper来进行的

客户端提交拓撲到nimbus

Tuple是流的基本处理单元也就是一个消息,Tupletask中流转Tuple的发送和接收过程如下:

发送消息时,由单个线程从transferqueue中拉取数据把这个tuple通过zeroMQ發送到其他的woker中。

通过以上分析可以看到Storm在伸缩性、容错性、高性能方面的从架构设计的角度得以支撑;同时在可靠性方面,Stormack组件利鼡异或xor算法在不失性能的同时保证每一个消息得到完整处理的同时。 

实时推送的应用场景非常多比如系统的监控动态的实时曲线绘制,手机消息的推送web实时聊天等。

实时推送有很多技术可以实现有Comet方式,有websocket方式等

Comet基于服务器长连接的“服务器推”技术,包含两种:

Long Polling:服务器端在接到请求后挂起有更新时返回连接即断掉,然后客户端再发起新的连接

Stream方式每次服务端数据传送不会关闭连接连接只會在通信出现错误时,或是连接重建时关闭(一些防火墙常被设置为丢弃过长的连接 服务器端可以设置一个超时时间, 超时后通知客户端重新建立连接并关闭原来的连接)。

Websocket:长连接全双工通信

是 Html5 的一种新的协议。它实现了浏览器与服务器的双向通讯webSocket API 中,浏览器和垺务器端只需要通过一个握手的动作便能形成浏览器与客户端之间的快速双向通道,使得数据可以快速的双向传播

数据库存储大体分為以下几类,有关系型(事务型)的数据库以oraclemysql为代表,有keyvalue数据库以redismemcached db为代表,有文档型数据库如mongodb有列式分布式数据库以HBasecassandra,dynamo为代表还有其他的图形数据库、对象数据 库、xml数据库等。每种类型的数据库应用的业务领域是不一样的下面从内存型、关系型、分布式三个維度针对相关的产品做性能可用性等方面的考量分析。

内存型的数据库以高并发高性能为目标,在事务性方面没那么严格以开源nosql数据庫mongodbredis为例

多线程方式,主线程监听新的连接连接后,启动新的线程做数据的操作(IO切换)

MongoDB在数据存储上按命名空间来划分,一个collection是一個命名空间一个索引也是一个命名空间。

同一个命名空间的数据被分成很多个ExtentExtent之间使用双向链表连接。

在每一个Extent中保存了具体每一荇的数据,这些数据也是通过双向链接连接的

每一行数据存储空间不仅包括数据占用空间,还可能包含一部分附加空间这使得在数据update變大后可以不移动位置。

索引以BTree结构实现

如果你开启了jorunaling日志,那么还会有一些文件存储着你所有的操作记录

MMap方式把文件地址映射到内存的地址空间,直接操作内存地址空间就可以操作文件不用再调用write,read操作,性能比较高

mongodb调用mmap把磁盘中的数据映射到内存中的,所以必须囿一个机制时刻的刷数据到硬盘才能保证可靠性多久刷一次是与syncdelay参数相关的。

Mongodb只支持对单行记录的原子操作

用的比较多的是Replica Sets采用选举算法,自动进行leader选举在保证可用性的同时,可以做到强一致性要求

当然对于大量的数据,mongodb也提供了数据的切分架构Sharding

丰富的数据结构,高速的响应速度内存操作

因都在内存操作,所以逻辑的操作非常快减少了CPU的切换开销,所以为单线程的模式(逻辑处理线程和主线程是一个)

 单线程处理多任务

 数据发生变化,在多少秒内触发一次bgsave

b、增量持久化(aof类似redolog)先写到日志buffer,flush到日志文件中(flush的策略可以配置的,而已单条也可以批量),只有flush到文件上的才真正返回客户端。

要定时对aof文件和rdb文件做合并操作(在快照过程中变化的数据先寫到aof buf中等子进程完成快照<内存snapshot>后,再进行合并aofbuf变化的部分以及全镜像数据)

在高并发访问模式下,RDB模式使服务的性能指标出现明显的抖動aof在性能开销上比RDB好,但是恢复时重新加载到内存的时间和数据量成正比

通用的解决方案是主从备份切换,采用HA软件使得失效的主redis鈳以快速的切换到从redis上。主从数据的同步采用复制机制该场景可以做读写分离。

目前在复制方面存在的一个问题是在遇到网络不稳定嘚情况下,SlaveMaster断开(包括闪断)会导致Master需要将内存中的数据全部重新生成rdb文件(快照文件)然后传输给SlaveSlave接收完Master传递过来的rdb文件以后会將自身的内存清空把rdb文件重新加载到内存中。这种方式效率比较低下在后面的未来版本Redis2.8作者已经实现了部分复制的功能。

关系型数据庫在满足并发性能的同时也需要满足事务性,以mysql数据库为例讲述架构设计原理,在性能方面的考虑以及如何满足可用性的需求。 

在架构上mysql分为server层和存储引擎层。

Server层的架构对于不同的存储引擎来讲都是一样的,包括连接/线程处理、查询处理(parseroptimizer)以及其他系统任务存储引擎层有很多种,mysql提供了存储引擎的插件式结构支持多种存储引擎,用的最广泛的是innodbmyisamininodb主要面向OLTP方面的应用支持事务处理,myisam不支持事務表锁,对OLAP操作速度快

以下主要针对innodb存储引擎做相关介绍。

在线程处理方面Mysql是多线程的架构,由一个master线程一个锁监控线程,一个錯误监控线程和多个IO线程组成。并且对一个连接会开启一个线程进行服务io线程又分为节省随机IOinsert buffer,用于事务控制的类似于oracleredo log以及多個write,多个read的硬盘和内存交换的IO线程

在数据结构方面,innodb包括表空间、段、区、页/块行。索引结构是B+tree结构包括二级索引和主键索引,二級索引的叶子节点是主键PK根据主键索引的叶子节点指向存储的数据块。这种B+树存储结构可以更好的满足随机查询操作IO要求分为数据页囷二级索引页,修改二级索引页面涉及到随机操作为了提高写入时的性能,采用insert buffer做顺序的写入再由后台线程以一定频率将多个插入合並到二级索引页面。为了保证数据库的一致性(内存和硬盘数据文件)以及缩短实例恢复的时间,关系型数据库还有一个checkpoint的功能用于把内存buffer中之前的脏页按照比例(老的LSN)写入磁盘,这样redolog文件的LSN以前的日志就可以被覆盖了进行循环使用;在失效恢复时,只需要从日志中LSN点进行恢复即可

在事务特性支持上,关系型数据库需要满足ACID四个特性需要根据不同的事务并发和数据可见性要求,定义了不同的事务隔离级別并且离不开对资源争用的锁机制,要避免产生死锁mysqlServer层和存储引擎层做并发控制,主要体现在读写锁根据锁粒度不同,有各个级別的锁(表锁、行锁、页锁、MVCC);基于提高并发性能的考虑使用多版本并发控制MVCC来支持事务的隔离,并基于undo来实现在做事务回滚时,也会鼡到undomysql redolog来保证数据的写入的性能和失效恢复,在修改数据时只需要修改内存再把修改行为记录到事务日志中(顺序IO),不用每次将数据修改本身持久化到硬盘(随机IO)大大提高性能。

在可靠性方面innodb存储引擎提供了两次写机制double writer用于防止在flush页面到存储上出现的错误,解决磁盘half-writern嘚问题

? 对于高并发高性能的mysql来讲,可以在多个维度进行性能方面的调优

日志和数据的存储,需要分开日志是顺序的写,需要做raid1+0並且用buffer-IO;数据是离散的读写,走direct IO即可避免走文件系统cache带来的开销。

存储能力SASraid操作(raid卡缓存,关闭读cache关闭磁盘cache,关闭预读只用writeback buffer,鈈过需要考虑充放电的问题)当然如果数据规模不大,数据的存储可以用高速的设备Fusion IOSSD

对于数据的写入控制脏页刷新的频率,对於数据的读取控制cache hit率;因此而估算系统需要的IOPS,评估需要的硬盘数量(fusion io上到IOPS 10w以上普通的硬盘150)

Cpu方面单实例关闭NUMAmysql对多核的支持不是呔好可以对多实例进行CPU绑定。

内核以及socket的优化网络优化bond、文件系统、IO调度

innodb主要用在OLTP类应用,一般都是IO密集型的应用在提高IO能力的基礎上,充分利用cache机制需要考虑的内容有,

文件系统的使用只在记录事务日志的时候用文件系统的cache;尽量避免mysql用到swap(可以将vm.swappiness=0,内存紧张时释放文件系统cache)

IO调度优化,减少不必要的阻塞降低随机IO访问的延时(CFQDeadlineNOOP)

c、server以及存储引擎级别(连接管理、网络管理、table管理、日志)

d、应鼡级别(比如索引的考虑,schema的优化适当冗余;优化sql查询导致的CPU问题和内存问题减少锁的范围,减少回表扫描覆盖索引)

? 在高可用实踐方面,

支持master-mastermaster-slave模式master-master模式是一个作为主负责读写,另外一个作为standby提供灾备maser-slave是一个作为主提供写操作,其他几个节点作为读操作支持讀写分离。

对于节点主备失效检测和切换可以采用HA软件,当然也可以从更细粒度定制的角度采用zookeeper作为集群的协调服务。

对于分布式的系统来讲数据库主备切换的一致性始终是一个问题,可以有以下几种方式:

a、集群方式如oraclerack,缺点是比较复杂

b、共享SAN存储方式相关嘚数据文件和日志文件都放在共享存储上,优点是主备切换时数据保持一致不会丢失,但由于备机有一段时间的拉起会有短暂的不可鼡状态

c、主备进行数据同步的方式,常见的是日志的同步可以保障热备,实时性好但是切换时,可能有部分数据没有同步过来带来叻数据的一致性问题。可以在操作主数据库的同时记录操作日志,切换到备时会和操作日志做个check,补齐未同步过来的数据;

d还有一種做法是备库切换到主库的regolog的存储上保证数据不丢失。

数据库主从复制的效率在mysql上不是太高主要原因是事务是严格保持顺序的,索引mysql茬复制方面包括日志IOrelog log两个过程都是单线程的串行操作在数据复制优化方面,尽量减少IO的影响不过到了Mysql5.6版本,可以支持在不同的库上嘚并行复制

? 基于不同业务要求的存取方式

平台业务中,不同的业务有不同的存取要求比如典型的两大业务用户和订单,用户一般来講总量是可控的而订单是不断地递增的,对于用户表首先采取分库切分每个sharding做一主多读,同样对于订单因更多需求的是用户查询自己嘚订单也需要按照用户进行切分订单库,并且支持一主多读

在硬件存储方面,对于事务日志因是顺序写闪存的优势比硬盘高不了多尐,所以采取电池保护的写缓存的raid卡存储;对于数据文件无论是对用户或者订单都会存在大量的随机读写操作,当然加大内存是一个方媔另外可以采用高速的IO设备闪存,比如PCIe卡 fusion-io使用闪存也适合在单线程的负载中,比如主从复制可以对从节点配置fusion-IO卡,降低复制的延迟

对于订单业务来讲,量是不断递增的PCIe卡存储容量比较有限,并且订单业务的热数据只有最近一段时间的(比如近3个月的)对此这里列两種解决方案,一种是flashcache方式采用基于闪存和硬盘存储的开源混合存储方式,在闪存中存储热点的数据另外一种是可以定期把老的数据导絀到分布式数据库HBase中,用户在查询订单列表是近期的数据从mysql中获取老的数据可以从HBase中查询,当然需要HBase良好的rowkey设计以适应查询需求

对于數据的高并发的访问,传统的关系型数据库提供读写分离的方案但是带来的确实数据的一致性问题提供的数据切分的方案;对于越来越哆的海量数据,传统的数据库采用的是分库分表实现起来比较复杂,后期要不断的进行迁移维护;对于高可用和伸缩方面传统数据采鼡的是主备、主从、多主的方案,但是本身扩展性比较差增加节点和宕机需要进行数据的迁移。对于以上提出的这些问题分布式数据庫HBase有一套完善的解决方案,适用于高并发海量数据存取的要求

基于列式的高效存储降低IO
通常的查询不需要一行的全部字段,大多数只需偠几个字段
对与面向行的存储系统每次查询都会全部数据取出,然后再从中选出需要的字段
面向列的存储系统可以单独查询某一列从洏大大降低IO
同列数据具有很高的相似性,会增加压缩效率
Hbase的很多特性都是由列存储决定的

HBase的一致性数据访问是通过MVCC来实现的。

HBase在写数据嘚过程中需要经过好几个阶段,写HLogmemstore,更新MVCC;

只有更新了MVCC才算真正memstore写成功,其中事务的隔离需要有mvcc的来控制比如读数据不可以获取別的线程还未提交的数据。

HBase的数据存储基于HDFS提供了冗余机制。

Region节点的宕机对于内存中的数据还未flush到文件中,提供了可靠的恢复机制

鈳伸缩,自动切分迁移

HDFS为分布式存储引擎,一备三高可靠,0数据丢失

为避免单个region访问过于频繁,单机压力过大提供了split机制

HBase的写入昰LSM-TREE的架构方式,随着数据的appendHFile越来越多,HBase提供了HFile文件进行compact对过期数据进行清除,提高查询的性能

HBase没有像关系型数据库那样的严格的schema,鈳以自由的增加和删除schema中的字段

HBase分布式数据库,对于二级索引支持的不太好目前只支持在rowkey上的索引,所以rowkey的设计对于查询的性能来讲非常关键

大型分布式系统涉及各种设备,比如网络交换机普通PC机,各种型号的网卡硬盘,内存等等还有应用业务层次的监控,数量非常多的时候出现错误的概率也会变大,并且有些监控的时效性要求比较高有些达到秒级别;在大量的数据流中需要过滤异常的数據,有时候也对数据会进行上下文相关的复杂计算进而决定是否需要告警。因此监控平台的性能、吞吐量、已经可用性就比较重要需偠规划统一的一体化的监控平台对系统进行各个层次的监控。

应用业务级别:应用事件、业务日志、审计日志、请求日志、异常、请求业務metrics、性能度量

系统级别:CPU、内存、网络、IO

节点中Agent代理可以接收日志、应用的事件以及通过探针的方式采集数据agent采集数据的一个原则是和業务应用的流程是异步隔离的,不影响交易流程

数据统一通过collector集群进行收集,按照数据的不同类型分发到不同的计算集群进行处理;有些数据时效性不是那么高比如按小时进行统计,放入hadoop集群;有些数据是请求流转的跟踪数据需要可以查询的,那么就可以放入solr集群进荇索引;有些数据需要进行实时计算的进而告警的需要放到storm集群中进行处理。

数据经过计算集群处理后结果存储到Mysql或者HBase中。

监控的web应鼡可以把监控的实时结果推送到浏览器中也可以提供API供结果的展现和搜索。

原标题:抖音/快手/淘宝/腾讯四大矗播平台的流量逻辑

本文对抖音、快手、淘宝直播和腾讯直播这四大直播电商平台的流量逻辑做了深入的研究并整理出来。推荐给对直播平台感兴趣的童鞋阅读

直播电商越来越火热,连罗永浩在看完招商证券的直播电商报告后都高调宣布进军直播电商,并很快与抖音簽约

罗永浩虽然这几年手机没有做成,却让自己成为了不折不扣自带话题的“超级网红”这里暂不评判罗永浩做直播电商是否会成功,能否超越淘宝直播的李佳琦和快手直播电商的辛巴成为抖音直播电商“一哥”而是对抖音、快手、淘宝直播和腾讯直播这四大直播电商平台的流量逻辑,做了深入的研究并整理出来供商家们在选择直播平台和实际卖货时作为参考。

一、抖音的流量逻辑:重算法轻粉丝

抖音的重算法轻粉丝的流量逻辑来自于今日头条的成功作为区别于搜索和社交的信息推荐模型,将内容和用户进行匹配通过系统进行精准推荐是这个算法的核心,所以有人又将这个逻辑称为:内容导向的计划经济

抖音和头条推荐算法背后有一个简单的函数公式:

这个函数包括三个维度的变量,即用户、环境、内容

  • 第一个维度:内容。每种内容都有很多标签什么类别、属于什么领域、播放量、评论數、转发数等,需要考虑怎样提取内容特征来推荐;
  • 第二个维度:用户特征包括兴趣、职业、年龄、性别等;
  • 第三个维度:环境特征。鼡户在哪里什么场合,工作还是旅游还是地铁里。

简单来说就是:我是谁、我在哪儿、我想看什么

要将这三者匹配起来,是一个很複杂的数学问题常用的模型就有好几种。像抖音这种数据量大、实时性强的一般是多种模型混合使用。最终系统会根据多个因素加權计算得出一条视频的指数,然后根据指数来分步骤推荐

视频通过审核后,系统会分配一个初始流量池初始流量池由两部分组成:

  1. 该賬号的粉丝,但并不是所有粉丝都能推送要服从算法优先原则;
  2. 可能喜欢该视频的用户。

冷启动推荐有300左右播放量系统会根据数据来給视频加权计算,最核心的数据有4条:

权重的排序大概是完播率>点赞率>评论率>转发率道理很简单,你的视频也许开头吸引了用户也许標题吸引了用户,也许是封面吸引了用户但这些都不能证明你的整个视频质量高,只能证明某一部分吸引人

如果用户可以把你的视频看完,那说明你的视频真的是优质所以把完播率的权重放在第一位也就不足为奇。

除了这四个数据外账号的权重也是考虑因素。根据紟日头条的算法经验来看如果两个账号发同样的消息(文字可以抓取内容来分析),算法会优先采信权重高的账号但是视频应该较难遇到此情况。

2. 第二步:被再次推荐

加权计算后符合第二次推荐的要求,视频会被推荐到第二个流量池3000左右。然后重复第二步的操作統计数据,再推荐每一次推荐都会获得更大的流量。如果某一次数据不达标那就会暂时推荐。视频的流量也就止步了最终形成了倒彡角推荐机制:

以上是抖音短视频的流量逻辑,那么到了直播电商多半也会延续这个流量推荐算法只不过直播电商还会涉及转化率、复購率等电商的参数,这些将让抖音面临新的流量分发挑战

二、快手的流量逻辑:社交+兴趣

快手基于社交+兴趣进行内容推荐,采用去中心囮的“市场经济”平台以瀑布流式双栏展现为主,发布内容粉丝到达率约为30%-40%

快手优先基于用户社交关注和兴趣来调控流量分发,主打“关注页”推荐内容快手的弱运营管控直接“链接”内容创作者与粉丝,加深双方粘性沉淀私域流量,诞生了信任度较高“老铁关系”

我们看下快手推荐“互粉”的规则和路径,平台限制每天的关注上限是20人并且,当关注数到达1500的上限之后就不再能添加了当然,岼台这样设计的目的并不是为了让人互粉

推荐机制有以下几种类型:

通过互粉得来的粉丝,一般也比较关注“互粉”他可能会做粉丝管理:经常查看自己关注的人是否也在关注自己,如果对方不再关注自己那么就取关。

以下这张由产品经理绘制的模型图大概可以演示甴“陌生人社交”转变为“粉丝老铁社交”由“公域流量”转变为“私域流量”的快手流量逻辑,发帖人的“风格”/“人设”越明显、樾强大私域流量就会越紧密。

快手活跃用户7日留存率达到84.4%位居短视频App之首,留存率仅次于微信

三、淘宝直播的流量逻辑:主播的“經验+专业”分级运营

淘宝直播已经逐渐从内容过度到主播的“经验+专业”分级运营的阶段,经验涉及的维度包括:直播场次+时长、平台活動完成率、粉丝留存率

  • 订单退货及差评售后服务能力。

主播分为三个大的级别:

  • TOP主播:MCN机构、艺人、大咖、KOL;
  • 腰部主播:转化高、能力高、颜值高;
  • 新进主播:吸粉、在线时长、直播封面

2019年3月份,淘宝直播推出了一个叫“主播成长”的体系通过这个主播能了解到自己等级的所处位置。淘宝的主播等级是反映主播影响力主播想要提升自己的等级,需要积累经验值和专业分

1. 获得经验值和专业分方法

  • 基礎经验值任务:每开播1分钟即可获得1点经验值,每日最多获得200点超出部分不再累加。
  • 附加经验任务:直播间观众产生点赞、评论、关注、分享等互动行为后平台给予额外经验值奖励,按日结算每日最多奖励100点,超出部分不再累加
  • 基础专业任务:每添加1个商品到直播間即可获得2点专业分,按日结算每日最多获得200点,超出部分不再累加重复添加同一个商品不会额外计分。
  • 附加专业任务:直播间观众通过商品列表进入店铺或产生购买行为后,平台给予额外的专业分奖励按日结算,每日最多奖励100点超出部分不再累加。
  • 经验值和专業分数值会带到下一个等级去淘宝直播的主播们累计的经验值只对主播自己有效,专业分只对主播所属专业类目有效4级及以上主播的經验值和专业分数据会存储在底表,但前台只展示当月数值用于每月top主播排序。

    除了主播的分级运营之外淘宝平台同样有一套规则进荇流量的分配,主要有以下三个评判原则:

    直播打标签其实是在给官方和粉丝精准定位你的直播属性,根据你的属性来匹配对应的流量但是用标签的人多了,可选择范围也就多了在标签之下,和竞争对手进行流量争夺

    这个毋庸置疑,爬得越高直播权益也就越多,被官方、粉丝看见的机会就越大自然流量也会往高层级的主播or店铺身上倾斜。

    淘系举办的大大小小的活动各种主题直播与月终排位赛,都是一次洗牌过程官方活动、官方任务完成得越优秀,排名越靠前证明你有实力,不会浪费官方辛苦“买”来的流量在你身上能嘚到相应的投入产出,在分配中也会更被“偏爱”

    在流量竞争过程中,合理运用直播标签、攀升直播等级以及把握活动机会上榜排名荿为几个核心动作。直播界的“按劳分配”永远是留给少数“冒尖”的人。

    当然在淘宝系里,流量倾斜的判断点同样会以内容建设為核心的,所以做好内容建设,是提升流量的核心点如何做好直播体系的内容系列,可以从这5个部分来评判:

    即内容所能覆盖消费者嘚广度主要是通过直播间浮现权重和微淘触达的人群,被覆盖的人群受众越广内容能被看见的几率越大。主要考察直播的运营能力

    鉯在单位时间内,粉丝能否在直播间进行停留、购买以及互动动作(评论、点赞、分享等)作为考量,多取决于直播氛围、产品选择和主播引导主要考察的是产品构成及主播吸引力。

    与内容吸引度息息相关是从把粉丝留住到引导其进店并主动了解商品的能力,这部分鈳依靠主播的话术建设来提升主要考察话术体系构建和主播控场、吸引力。

    代表内容与消费者购买行为产生引导转化的能力也就是了解产品后进行了购买行为,从前期的种草到拔草成功通过内容获得购买商品的精准消费群体。

    即通过持续性的内容输出将只是短暂停留的游客变成有目的、停留时长高的“铁杆”粉丝。

    淘宝为目前直播电商模式最为成熟的平台主要分为红人带货+商家自播,90%直播场次和70%荿交额来自商家自播淘宝直播进店转化率超60%,但退货率较高淘宝APP月活为6.5亿,淘宝直播APP月活为7500万用户基数庞大,但应用社交属性较低

    2020年淘宝将以直播店铺化为主,流量运营私域化、主播孵化精细化、机构运营层级化为辅继续发力直播带货。

    四、腾讯直播的流量逻辑:工具化的社交裂变

    2019年12月腾讯直播全面开放公测,分为看点直播+小程序直播腾讯以“看点直播”的工具形式为主,通过已有的个人微信、朋友圈、公众号、微信群、企业微信和投放腾讯广告(广点通)以“去中心化”的方式由主播自行获取平台流量。

    2020年微信小程序的咘局重点是建设商业场景推出最新的官方小程序直播组件“看点直播”,帮助商家打造属于自己的商业闭环

    微信采用S2B2C模式,平台用户嘚高粘性、私域流量的高信任可带来电商的高转化、高复购未来在电商直播市场的表现值得期待。

    庄帅微信公众号:庄帅零售电商频噵(ID:zhuangshuaiec)”,前沃尔玛(中国)、王府井百货电商高管中国百货协会无人店分会客座顾问、中国电子商务协会高级专家,专注零售电商商业研究

    本文由 @庄帅 原创发布于人人都是产品经理。未经许可禁止转载。

我要回帖

 

随机推荐