消息队列高手课
消费组、消费者和队列:
- 每个消费组就是一份订阅,它要消费主题 MyTopic 下,所有队列的全部消息
- 多个消费组在消费同一个主题时,消费组之间是互不影响的
- 一个消费组中可以包含多个消费者的实例
- 在同一个消费组里面,每个队列只能被一个消费者实例占用
- 队列占用只是针对消费组内部来说的,对于其他的消费组来说是没有影响的
- 每个消费组内部维护自己的一组消费位置,每个队列对应一个消费位置
- 消费位置在服务端保存,并且,消费位置和消费者是没有关系的
主题层面是无法保证严格顺序的,只有在队列上才能保证消息的严格顺序。
如果说,你的业务必须要求全局严格顺序,就只能把消息队列数配置成 1,生产者和消费者也只能是一个实例,这样才能保证全局严格顺序。
如果需要保证局部严格顺序,可以这样来实现:在发送端,我们使用账户 ID 作为 Key,采用一致性哈希算法计算出队列编号,指定队列来发送消息。一致性哈希算法可以保证,相同 Key 的消息总是发送到同一个队列上,这样可以保证相同 Key 的消息是严格有序的。如果不考虑队列扩容,也可以用队列数量取模的简单方法来计算队列编号。
后端技术面试 38 讲
当今这些互联网大厂的核心技术和业务模式在十几年前就已经奠定了,经过几年的摸索,大概在七八年前开始稳定成熟。也就是说,互联网企业的技术实力和商业能力是在这些企业还默默无闻的时候就发展起来的,而在这些企业成为明星之后,并没有什么突破性的进展。想想这些所谓的互联网大厂,最近几年,并没有什么值得称道的商业模式创新和技术创新。
RAID5 中,校验位之所以螺旋式地落在所有硬盘上,主要原因是因为如果将校验位记录在同一块硬盘上,那么对于其他多块数据盘,任何一块硬盘修改数据,都需要修改这个校验盘上的校验数据,也就是说,对于有 8 块硬盘的 RAID5 阵列,校验盘的数据写入压力是其他数据盘的 7 倍。而硬盘的频繁写入会导致硬盘寿命缩短,校验盘会频繁损坏,存储的整体可用性和维护性都会变差。
怎么理解Web 3.0?
https://mp.weixin.qq.com/s/dtAGRDWGpN9r1p2Pr1WZaA
Web1 的本质是聚合、联合、搜索,其聚合的对象是杂乱无章的网络信息,但没有解决人与人之间沟通、互动和参与的需求,所以 Web2 应运而生。
Web2 作为互联网建设的一种新模式,创新之处是内容从“只读”变为“交互”,用户不光能接收内容、还能创造内容,是一个强调用户生成内容的网络环境。
相比 Web1,在 Web2 时代,用户可以在网络平台上传自己的文字、图片、视频等内容,不再是内容的被动接收者,也可以与其他用户进行交流,互联网从平台向用户的单向传播,变成了用户与用户间的双向传播。于是社交网络开始兴起,各种社区和应用程序逐步诞生和发展,这些 App 鼓励大家生产和交流信息。
Web2 催生了一大批平台和互联网寡头,这些中心化的互联网行业巨头塑造了一套用户靠“出卖”自己隐私数据和注意力来换取服务的互联网世界运行规律,并以用户的数据和流量作为燃料,来驱动游戏、广告、电商、会员服务这四大变现模型的运转。这种模式下,人们的注意力和时间构成平台的流量,但流量以及产生的数据却归属于平台,而非用户本身,这给 Web3 的诞生带来了契机。
Web1 和 Web2 实现了信息的互联互通,Web3 时代,价值互联将成为可能,价值的传递比信息的传递更加重要。互联网技术让信息能够在全球范围内得到分发,且种类丰富、价格低廉、可快速复制,但这些特点却与“价值”是相对立的,根据经济学的定义,任何有价值的东西,无论是金钱还是资产,都应该是稀缺的、难以获得的。
当下,“去中心化”是一个被严重误解的概念,去中心化不代表没有中心,而是一种平衡,绝对的中心化和去中心化都没有意义,我们需要不断地调整它们之间的关系。
人类是唯一一个能够跨越时间和空间进行大规模协作的物种,这对我们走上食物链顶端具有重要的意义。而人类之所以能够大规模协作,是因为我们可以虚构故事,共同想象出一些客观世界不存在的概念,因而建立起更大的组织认同感。人类可以为了某种虚构的故事而奉献自己的一切,这就意味着能够建立起更大的协作网络。
这句话应该是来自《人类简史》这本书
DAO(Decentralized Autonomous Organization,去中心化自治组织) 是基于区块链核心思想理念衍生出来的一种组织形态,由达成同一个共识的群体自发产生的共创、共建、共治、共享的协同行为,是区块链解决了人与人之间的信任问题之后的附属产物。
空投是指项目方向用户分发 Token,以奖励项目想要激励的特定行为的一种方式。这些 Token 可以发送给特定区块链上的所有现有地址,或定向发送给有特定行为的地址。空投这种方式近来被广泛用于解决项目的冷启动问题,用以奖励和激励早期用户。