获得徽章 0
- #青训营 x 字节后端训练营# sync.Map 内部有一个读写锁 mu,同时有两个只读结构 read、dirty。read 是原子值,dirty 是一个 map。当我们需要修改 sync.Map 时,会将 read 中的数据转移到 dirty 中,然后在 dirty 中进行修改。当需要读取时,会优先读取 read 中的数据,如果 read 中不存在,则从 dirty 中读取。展开评论点赞
- #青训营 x 字节后端训练营# context 包提供了一个用于跟踪请求的上下文(context)。在 Go 语言中,每个请求都是在独立的 goroutine 中处理的,这就使得我们可以很容易地对每个请求进行并发控制。但是,当我们需要跨越多个 goroutine 时,就需要一种跟踪上下文的机制,这就是 context 包的用武之地。展开评论点赞
- #每天一个知识点# MapReduce 是一种编程模型,用于大规模数据集(大于 1TB)的并行运算。MapReduce 由 Google 公司提出,用于解决大规模数据集的并行运算问题。MapReduce 有两个基本操作,即 Map 和 Reduce。Map 操作由用户自定义,Reduce 操作由系统自动生成。MapReduce 通过将大规模数据集分割成若干个小数据集,然后在小数据集上进行 Map 操作,最后将 Map 操作的结果进行 Reduce 操作,从而得到最终结果。展开评论点赞
- #每天一个知识点# RocketMQ采用了一种基于权重的负载均衡算法(Weighted Round-Robin Scheduling)来实现Producer和Consumer之间的负载均衡。每个Producer或Consumer会根据自己的性能和负载情况,向NameServer报告自己的权重值。NameServer会根据权重值,为每个Topic分配一个Message Queue列表,并按照权重值的比例,将列表分配给各个Producer或Consumer。Producer或Consumer会根据分配到的列表,轮询地向不同的Broker发送或拉取消息。展开评论点赞
- #青训营 x 字节后端训练营# RocketMQ采用了主从复制(Master-Slave Replication)的方式来实现Broker的高可用。每个Broker可以配置一个或多个Slave,与Master同步消息。Master和Slave之间采用异步复制的方式,即Master在收到消息后立即返回给Producer,然后将消息发送给Slave。这样可以提高性能,但也存在一定的数据丢失风险。为了降低风险,RocketMQ提供了两种消息级别:可靠同步双写(RELIABLE_SYNC_DUAL_WRITE)和可靠异步双写(RELIABLE_ASYNC_DUAL_WRITE)。可靠同步双写是指Master在收到消息后,等待Slave确认接收后再返回给Producer。可靠异步双写是指Master在收到消息后,立即返回给Producer,然后等待Slave确认接收后再删除内存中的消息。展开评论点赞
- #每天一个知识点# Nginx的原理是基于事件驱动和异步非阻塞的模型,它由一个主进程和多个工作进程组成。主进程负责管理工作进程,如启动、停止、重载配置等。工作进程负责处理客户端的请求,如接收、处理、转发、响应等。赞过评论1
- #青训营 x 字节后端训练营# 微服务是一种软件架构风格,它将一个大型的复杂的应用程序分解为多个小型的简单的服务,每个服务都有自己的业务逻辑、数据存储和通信机制,可以独立地开发、部署和扩展。微服务之间通过轻量级的协议(如HTTP、REST、gRPC等)进行协作和协调,实现应用程序的整体功能。评论点赞
- #青训营 x 字节后端训练营# Nginx的原理是基于事件驱动和异步非阻塞的模型,它由一个主进程和多个工作进程组成。主进程负责管理工作进程,如启动、停止、重载配置等。工作进程负责处理客户端的请求,如接收、处理、转发、响应等。评论点赞
- #青训营 x 字节后端训练营# RocketMQ采用了主从复制(Master-Slave Replication)的方式来实现Broker的高可用。每个Broker可以配置一个或多个Slave,与Master同步消息。Master和Slave之间采用异步复制的方式,即Master在收到消息后立即返回给Producer,然后将消息发送给Slave。这样可以提高性能,但也存在一定的数据丢失风险。为了降低风险,RocketMQ提供了两种消息级别:可靠同步双写(RELIABLE_SYNC_DUAL_WRITE)和可靠异步双写(RELIABLE_ASYNC_DUAL_WRITE)。可靠同步双写是指Master在收到消息后,等待Slave确认接收后再返回给Producer。可靠异步双写是指Master在收到消息后,立即返回给Producer,然后等待Slave确认接收后再删除内存中的消息。展开评论点赞
- #青训营 x 字节后端训练营# RocketMQ 是阿里巴巴开源的消息中间件,它是纯 Java 开发,具有高吞吐量、高可用性、适合大规模分布式系统应用的特点。评论点赞