普通视图

发现新文章,点击刷新页面。
昨天以前首页

被动收入之: 微博红包

2024年11月11日 06:15

今年开始重新经营我的微博帐号 drlai

收到两笔微信红包,应该是来自于官方的支持,150元(成功提现到支付宝)。虽然这不能持久,也没多少,但毕竟实现了零的突破,意义重大。

weibo-red-money-hongbao-scaled 被动收入之: 微博红包 微博 Weibo 被动收入 资讯

被动收入之: 微博红包

如果流量上来,内容创作者可能会接受到比较多的赞赏,这也是一个比较简单的变现方法。这也能作为一种被动收入,不过如果不是头部网红,可能杯水车薪,但如果你有好几个类似这样的,也能积少成多!

weibo-appreciation-feature 被动收入之: 微博红包 微博 Weibo 被动收入 资讯

微博用户主页的赞赏功能

在用户中心,微博用户可以每天登陆手机微博APP打卡,获取点数和少量的红包钱(几分钱),积少成多!

weibo-dashboard-wallet-scaled 被动收入之: 微博红包 微博 Weibo 被动收入 资讯

微博用户中心每日打卡获取点数及红包

微博做些小任务可获得积分和几分钱。聊胜于无。

weibo-earn-by-answer-questions 被动收入之: 微博红包 微博 Weibo 被动收入 资讯

在微博用户中心每日任务有做题,回答单选题10题,答对了8题得到了积分还有5分钱。

微博的主要盈利模式

微博的主要盈利模式主要包括以下几个方面:

  • 广告收入:微博的大部分收入来源于广告,尤其是品牌广告和效果广告。广告形式包括信息流广告(类似于推文广告)、热门话题广告、开屏广告和视频广告。品牌和企业可以利用微博庞大的用户群和社交互动来提升曝光率、推广品牌和产品。
  • 会员服务:微博提供的VIP会员服务,用户可以支付订阅费用来享受更多的特权,比如个性化的主题、特有的表情包、私密权限设置等。这些会员服务主要面向个人用户,提升其社交体验。
  • 直播和打赏:微博提供直播平台,用户可以通过购买虚拟礼物来支持主播,微博会从这些打赏中抽取一定比例的分成。此外,微博与内容创作者分成,通过内容付费、知识付费等形式变现。
  • 增值服务:针对企业和大V(拥有大量粉丝的用户),微博还提供增值服务,如账号认证、粉丝数据分析、精准推送、推广和营销工具等。这些服务帮助企业提升营销效果,同时也增加了微博的收入来源。
  • 电商和导流:微博上有大量的电商导流业务,尤其是和明星、网红的合作推广。微博用户在浏览社交内容时,可以直接跳转到商品购买链接,微博通过这种方式赚取导流佣金。
  • 游戏联运:微博也会与一些游戏公司合作推出联合运营的游戏,微博负责推广和流量引入,用户充值或付费时,微博可以获得一部分的分成。

这些模式相结合,使得微博能够在广告市场、内容创作和电商等多个领域获利。

微博内容创作者的盈利模式

微博内容创作者的盈利模式主要通过以下几种途径实现:

  • 广告合作:这是内容创作者最主要的收入来源之一。品牌和公司会与微博上的KOL(关键意见领袖)和KOC(关键意见消费者)合作,进行广告植入或软文推广。创作者通过为品牌推广产品或服务来获取广告费,收入根据创作者的粉丝数、互动量和内容质量而有所不同。
  • 付费阅读:微博允许创作者将部分内容设置为付费阅读,粉丝或用户需要支付一定费用才能查看。这种方式适合内容独特、专业性强的创作者,比如行业专家或专业知识分享者,能够通过优质内容吸引用户付费。
  • 打赏:微博用户可以通过打赏功能支持自己喜欢的创作者,尤其是在直播或文章中。这种模式依靠粉丝的忠诚度和内容的吸引力,创作者通过粉丝的支持获取收入,微博会抽取一定比例的打赏分成。
  • 直播带货:微博创作者可以通过直播带货推广产品,用户可以在观看直播的过程中直接购买推荐商品。创作者可以从每笔交易中获得佣金,或直接与品牌签约获得推广费,直播带货已成为微博创作者的主要变现渠道之一。
  • 会员专属内容:一些创作者提供会员制内容,粉丝付费成为会员后可以享受独家内容、个性化互动和其他特权服务。这种方式提升了粉丝黏性,同时为创作者带来了稳定收入。
  • 联运游戏推广:微博上部分内容创作者也会和游戏公司合作,通过推广游戏赚取分成或佣金。特别是游戏类博主或电竞相关创作者,通过分享试玩、推荐下载或直播游戏吸引粉丝参与,从中获利。
  • 知识付费课程:一些专业内容创作者会推出知识付费课程,针对性地提供技能提升或行业知识的培训。这种模式多见于教育、职业技能或专业领域,用户购买课程后,创作者可以从中获取收益。
  • 电商导购和佣金:创作者在发布内容时附带商品链接,吸引粉丝下单购买并获取佣金。这种导购模式依托微博的流量和粉丝效应,成为不少美妆、时尚类博主的收入来源。

微博通过不断丰富创作者的变现途径,帮助内容创作者拓宽了收入渠道,同时提升了微博平台的用户活跃度和内容多样性。

被动收入

新浪微博/Weibo

本文一共 1652 个汉字, 你数一下对不对.
被动收入之: 微博红包. (AMP 移动加速版本)

扫描二维码,分享本文到微信朋友圈
75a5a60b9cac61e5c8c71a96e17f2d9c 被动收入之: 微博红包 微博 Weibo 被动收入 资讯
The post 被动收入之: 微博红包 first appeared on 小赖子的英国生活和资讯.

相关文章:

  1. 智能手机 HTC One M9 使用测评 虽然我对手机要求不高, 远远没有像追求VPS服务器一样, 但是怎么算来两年内换了四个手机, 先是三星 S4 用了一年多, 然后 Nokia Lumia 635 Windows Phone, 后来又是 BLU, 半年多前换了...
  2. 按揭贷款(房贷,车贷) 每月还贷计算器 去年给银行借了17万英镑 买了20万7500英镑的房子, 25年还清. 前2年是定率 Fix Rate 的合同 (年利率2.49%). 每个月大概是还 700多英镑. 有很多种还贷的计算方式, 定率/每月固定 是比较常用的. 简单来说就是 每个月交的钱是...
  3. 在英国给孩子换学校的经历: 孩子离开了村里的小学 由于搬了家, 孩子上学得提前半小时出门了, 因为早上堵, 也得开车半小时才能到. 之前在 Fen Drayton 村庄上小学, 早上8:45学校门开, 9点敲钟孩子排队依次进入教室, 我们由于在村里, 只需要提前5分钟出门和孩子一起走路就可以了. 现在一下子早上变得很匆忙, 得叫孩子起床, 做早饭,...
  4. SteemIt 高级定制微信文章列表 RSS/API/阅读器 v2.0 The Advanced Wechat Group Posts Feed/API/Reader v2.0 Abstract: I have added five parameters to the...
  5. 英国房子的EPC节能报告(Energe/Efficiency Performance Certificate) EPC (Energe/Efficiency Performance Certificate) 是英国房子的节能报告, 法律上规定, 每个房子都必须要有一个EPC报告, 报告的有效期为十年. 房东在把房子出租或者想卖房的时候, 这个EPC就必须有效, 在一些情况下 比如出租房子的时候, 这个EPC报告还必须符合一些最低标准, 比如房子必须满足 F档(类似及格线)...
  6. 同一台服务器上多个WORDPRESS站点的一些设置可以移出去 我自从把所有网站都挪到一处VPS服务器上 就发现很多事情省事很多 可以同时管理多个网站 包括 WORDPRESS博客. 比如我有四个WORDPRESS博客 然后我就把通用的一些资料给移出去 移到 HTTP或者HTTPS都不能直接访问的文件夹里这样就更安全许多. 文件 wp-conn.php 存储了 相同的数据库资料. 1 2...
  7. 公司请的专业摄影师 公司来了新的CEO管理之后,很多事情都不一样了, 特别是一些公司对外形象的事情就特别的在意, 比如公司网站用上SSL.现在公司还有空闲的位置,请速来(钱多人不傻). 一月份出差回LUTON,刚好公司请来摄影师给高层管理照像放网站上的,于是我也凑了凑热闹(但是却还不够资格被放在公司网站上),不过没关系,放这里也差不多. 人到中年, 沧桑感强了些. 更新更新: 同事用他NB的单反给谢菲尔得办公室的人也拍了一组这样的照片.看起来很不错, 很专业,灯光,道具应有尽有.我已经用在了LINKEDIN页面上,立马高大上. 本文一共 230 个汉字, 你数一下对不对. 公司请的专业摄影师. (AMP...
  8. 在英国带孩子去露营全攻略 之前就做了一些露营的准备工作, 因为大儿子Eric 很兴奋说是要去 Camping Holiday 估计是在 Papa Pig 里看到的. 英国有很多可以露营的地方, 最后面选了一个离家开车1个多小时. 看了评论还不错. 地址为: New Road,...

CPU 调频模式和中断设置

2023年11月11日 00:00

随着计算机技术的发展,CPU 性能和功能也在不断提升。为了更好地满足各种应用场景的需求,现代 CPU 提供多种调频模式和中断设置。本文将探讨 CPU 调频模式和中断设置的原理、应用场景及如何合理设置以实现性能和功耗的平衡。

话题背景

本不知道今天写点啥好,在聊天室和小伙伴们交流时,obaby 美女说准备换一个路由器,原因是 CPU 使用率比较高。之前有聊过建立内网服务器事项,obaby 就是通过 CDN 反代家中的服务器,当访问量比较大时,就会出现 CPU 使用率比较高的问题:

相比 obaby 的私人博客,杜老师自信去不图床的访问量更大些,就准备调试下家中核心路由的 CPU 性能,尽可能的提升路由效率。先说下杜老师家中核心路由配置,N6000 处理器 4G 的内存,运行 iKuai 免费版。调试时发现有五种模式,这几个模式有什么区别,又该如何选择,下面详细说明:

调频模式

针对上图中出现的名词解释如下:

名称作用解释
performance性能模式这个模式系统会按设定最大主频率满负荷运转,主频会一直保持在设定范围内最大值。
conservative平滑调整模式在此模式下系统会回设置较低的频率下降响应参数,主频在空闲时下降更快,更加节能,但 CPU 速度调整会相对慢。
powersave省电模式此模式下系统将保持在设定最小的频率低负荷运行。
ondemand快速调整模式这个模式一般是系统的默认模式,根据需要自动调节 CPU 的频率,此模式的特点是频率升高需条件触发,反应迅速,频率下降无需触发,不需要高频率时会自动渐渐下降。
schedutil调度模式更快的响应速度和更精准的调频,更加节能。

中断控制

什么是硬中断:外围硬件发给 CPU 或者内存的异步信号就称为硬中断;

什么是软中断:由软件系统本身发给操作系统内核的中断信号,称之为软中断。通常是由硬中断处理程序或进程调度程序对操作系统内核的中断,也就是我们常说的系统调用。

区别联系

  1. 硬中断是有外设硬件发出的,需要有中断控制器参与。过程是外设侦测到变化,后告知中断控制器,中断控制器通过 CPU 或内存的中断脚通知 CPU,然后硬件进行程序计数器及堆栈寄存器之现场保存工作,并根据中断向量调用硬中断处理程序进行中断处理;

  2. 软中断则通常是由硬中断处理程序或进程调度程序等软件程序发出的中断信号,无需中断控制器之参与,直接以一个 CPU 指令之形式指示 CPU 进行程序计数器及堆栈寄存器之现场保存工作,并调用相应软中断处理程序进行中断处理;

  3. 硬中断直接以硬件方式引发,处理速度较快。软中断以软件指令之方式适合于对响应速度要求不是特别严格的场景;

  4. 硬中断通过设置 CPU 屏蔽位可进行屏蔽,软中断则由于是指令之方式给出,不能屏蔽;

  5. 硬中断发生后,通常会在硬中断处理程序中调用一个软中断来进行后续工作处理;

  6. 硬中断和软中断均会引起上下文切换,进程切换的过程是差不多的。

中断效果

关闭软中断后效果:CPU 不使用系统调用,硬中断处理时,CPU 负载不均衡。

关闭硬中断后效果:关闭硬中断后硬件 CPU 会默认保留一个,关掉硬中断后,软中断全部开启负载让 CPU 起到了一个均衡作用,CPU 使用率比较平均。

注意事项

软中断和硬中断不可以同时关闭。即使界面显示全部关闭,也会保留一个默认的核心作为硬中断。

在某个 CPU 使用率较高的时候,可将这个 CPU 软中断关闭,这样使其 CPU 使用率降低,负荷负载到其它的 CPU 核心上。

几个有意思的分布式系统设计模式

2024年10月2日 08:46

分布式系统有它特有的设计模式,无论意识到还是没有意识到,我们都会接触很多,网上这方面的材料不少,比如 《Catalog of Patterns of Distributed Systems》,还有 《Cloud Design Patterns》等等。这里简单谈谈几个我接触过的,也觉得比较有意思的模式。

LSM Tree

对于这个话题,基本上第一个在我脑海里蹦出来的就是 LSM 树(Log Structured Merge Tree)。其实,LSM 树本来只是指一种数据结构,这种数据结构对于大吞吐量的写入做了性能上的优化(比如日志写入),同时对于根据 key 的读取也有不错的性能。换言之,对于读写性能的平衡,大幅优化了写入,而小幅牺牲了读取,现在它也不再被局限于数据结构本身,而是泛化为能够提供这样特性的一种机制。

整个写入过程分为两个部分,为了追求极致的写入速度,写入方式都被设计成追加的:

  1. C0:这一层其实就是内存中写入的 buffer,它的实现可以用 RBTree,或者是 SkipList,这种树状有序的结构,它的写入和范围查询都很快。在 Bigtable 的设计中,它被称为 Memtable。
  2. C1:这一层则主要待在磁盘上了,它可以由若干个文件组成,每一个文件都是有序的数据,这样拿着一个 key 去文件查询对应的数据,根据 indexed keys 可以用二分法来查找。在 Bigtable 的设计中,它就是 SSTable。

所以,为了追求写性能,数据写入会直接插入到 C0 中,一旦 C0 达到一定大小,就会建立一个新的 C0’ 来替代旧的,而原有的 C0 会被异步持久化成 C1 中的一个新文件(其实就是做 snapshot);C1 中的文件全都是有序的,它们会不断地被异步 merge,小文件不断被合并成大文件(下图来自维基百科)。极端情况下,同一个 key 可以有若干次更新,并且更新能同时存在于 C0 和 C1 所有的文件中。

对于根据 key 的查询,需要先去 C0 中找,如果找到了最好,没找到的话需要去 C1 中找,最坏的情况下需要找每个文件。如果数据存在于多个地方,数据采用的优先级是,C0> 新的 C1 文件> 旧的 C1 文件。

对于不存在 C0 中的数据查询,为了尽量避免去每一个 C1 的文件中查询,Bigtable 会使用 bloom filter 来做第一步的存在性判断(校验用的数据全量加载在内存中),根据结果,如果这一步判断通过,这意味着数据可能存在于目标文件;如果没通过,这意味着数据肯定不存在于目标文件。

Write-Ahead Log

顺着 LSM Tree 的话题,说到 WAL。WAL 适用于解决这样一个问题:一个系统对于写请求有较苛刻的延迟或者吞吐量的要求,同时又要严格保证 durability(数据不丢)。

因此直观上,WAL 包含三步:

  1. 首先要求 append 日志,日志是持久化的,并且可以根据一致性的要求持久化到不止一个存储中
  2. 接着就是把数据更新到内存的某个数据结构中(比如上面的 LSM Tree 在内存中的结构 C0),这时候同步的请求响应就可以发回客户端了
  3. C0 的数据会异步 merge 压缩到持久性存储 C1 中(LSM Tree 部分的操作)

基本上思路就是把能延迟的操作全延迟了,如果服务端挂掉了,根据持久性存储+日志就可以完全恢复到挂掉之前的状态,因此数据不会丢。

于此,有一系列相关的 pattern,比如:

  • Low-Water Mark,低水位线:指的是这条线以前的数据全部都以常规方式持久化了(C1),因此如果节点挂掉的话,只需要根据现有的文件+低水位线以上的日志就可以完全还原挂掉之前的状态,也就是说,理论上低水位线以前的日志可以删掉了;
  • High-Water Mark,高水位线:日志是持久化的,但是这个持久化需要在多个节点上发生,这条线就指向了最新一条已经成功持久化到 “大多数” 节点上的日志(这个大多数其实就是 Majority Quorum 模式)。
  • Hinted Handoff,提示性移交,它和 WAL 有一定类似性,因此经常被放在一起比较:如果一个节点挂掉了,那么更新会跑到另外一个(随机的)节点上面去,等到挂掉的节点恢复的时候,这些数据会被重新写入那个恢复的节点,执行 replay 从而恢复一致性。

Clock Bound Request Batch

Request Batch 太常见不过了,请求可以批量发送,减少 overhead,从而减少资源(网络带宽、序列化开销等等)的消耗。通常的 batch 是根据大小或者数量来划分批次的,但是修饰词 Clock Bound 指的是,这样的分批还要依据时间,就是说,系统可以等待一段时间,这一段时间内的请求都可能打包成一个 batch,但是这样的打包还要有时间限制,到了这个时间,无论当前的 batch 有多小,都必须要发送出去了。

Kafka 客户端就有这样的一个机制,message 可以被 group,但是:

  • batch.size 这个参数指定 batch 最大有多少;
  • linger.ms 这个参数指定了最多等多久。

还有一些流处理系统也采用这种方式,比如 Spark 的 micro batching。

Singular Update Queue

Singular Update Queue 非常有用,queue 本身就是用来处理异步的事件,可以有若干个 producer 产生消息到队列里面,有若干个 consumer 来处理它们。这种场景下这个 queue 为核心的机制扮演了至少这样几个角色:

  1. 缓冲,平滑请求的波峰;
  2. 流控,保护下游系统不被负载冲垮;
  3. 校验,能写入 queue 的数据一定是符合格式的,从 queue 读取的数据也一定是符合格式的;
  4. 解耦,对于 MxN 的调用关联关系,所有的 producer 只和 queue 打交道(写入),而所有的 consumer 也之和 queue 打交道(读取),这样,复杂度就变成了 M+N。

对于写请求,我们需要保证这些事件处理不会有并发的问题,通过采用 Singlar Update Queue,对特定的 topic,我们可以设计一个良好的 sharding 规则,加上对于每一个 sharding(在 Kafka 等系统里面我们叫做 partition),设置为只有一个 consumer 线程,这样的话就保证了不会有并发问题,因为只有一个线程来处理所有这个 sharding 的消息,这种方式可以简化系统,不需要引入第三方锁系统就可以处理同一个 sharding 之间存在并发冲突的消息。

我想起另外一个相关的话题,monolith(单体应用)还是 microservices(微服务),一直是一个争论。早些时候,在微服务概念刚提出的时候,它受到了追捧,但是现在出现了越来越多批评的声音。一个突出的微服务的问题就是各个微服务之间像蜘蛛网一样复杂调用依赖的问题。而这样的问题,其中一个解决办法就是引入这样的 queue 在中间解耦。

有些时候,queue 里面未必存放全部完成 update 所需的数据,而是只放很少的内容,比如只有一个 key,consumer 拿到这个 key 以后去别的 service 获取完成任务需要的信息,因此这个 queue 就起到一个通知的作用。这其实就是 Claim Check 模式了。

Asynchronous Request-Reply

Asynchronous Request-Reply 本身是一个简单而且常用的机制,就是请求发起以后,服务端响应说,请求任务正在处理中,并返回给 client 一个 token。后续 client 拿着这个 token 就可以来(可以是另外一个单独的用于状态查询和结果获取的服务)查询请求的处理状态(poll),同时,服务端也可能会通知(push)客户端情况。

不过,既然上面谈到了 Singular Update Queue,它们俩有时是有关联的。

在使用 Singular Update Queue 的时候,如果 consumer 处理一个消息需要花很长的时间,那么它就可能成为整个系统吞吐量的瓶颈。很多时候,这个 consumer 花很长时间来处理往往不是因为有复杂的 CPU 计算,而是等待,比如等待一个远程调用结束,等待一个文件写入结束等等。

对于这样的问题,有两种解决思路:

  1. 一种是划分出更多的 partition,这样就可以设置更多的 consumer 线程来处理,但是这种方法带来的代价是更高的 overhead。
  2. 第二种是把处理流程变成异步执行的,而把它变成异步的就意味着系统没法直接妥善处理异步处理结果(它可能成功,也可能失败),因此对于这样一个子问题,有两个进一步解决的思路:
    1. 触发处理流程之后,预约下一个 “回访”,也就是采用这里提到的 Asynchronous Request-Reply 这样的机制,但是这个回访需要在一定时间后发生,并且一定要发生,因此这需要一个高可用的定时任务的服务(需要支持重试策略和失败处理),或者是封装一个 delay queue,即里面的消息需要过一段时间才能被 poll 到,因此这个机制有可能会比较复杂。
    2. 还有一个思路则是让 consumer 来集成 Coroutine,这样一个 consumer 线程可以被分享同时处理若干个消息,这些消息都来自同一个 partition(有一些开源库就专干这个事儿),于是这样多个消息就可以被同一个线程以非阻塞的方式并行处理。这个方法的一个局限性是,这些消息在 Coroutine 框架内处理时,不能存在并发冲突的问题。

Rate Limiting & Throttling

最后比较一下 Rate Limiting 和 Throttling。我也是不久前才区分清楚,以前我基本是把它们混在一起使用的。它们都是用来限流的,并且有多重不同的方式,可以是基于 fixed window,sliding window 等等。

但是它们的区别,本质上是它们工作的角度不同。Rate Limiting 是从 client 的角度来管理资源的,比如说,规定某一个/每个用户对于资源的访问不能超过一定的限度,因为资源不能让一个客户端全占了,这样其他人才可以有访问资源的权利;而 Throttling 则是从 service 的角度来管理资源的,比如说,规定某个/每一个 API 的访问 throughput 上限是多少,一道超过这个限度,请求就会被拒掉,从而保护服务。

和这两个可以放在一起的,其实还有一个 Circuit Breaker,不过 Circuit Breaker 的功能和这两个有较大区别,不太容易弄混,因此就不赘述了。

文章未经特殊标明皆为本人原创,未经许可不得用于任何商业用途,转载请保持完整性并注明来源链接 《四火的唠叨》

❌
❌