day01 Redis的数据类型及基本使用
介绍 Redis(全称:Remote Dictionary Server,即远程字典服务器)是一种开源的、高性能的非关系型(NoSQL)内存数据存储系统,也被称为数据结构服务器。Redis 支持多种数据结构,包括字符串(String)、哈希表(Hash)、列表(List)、集合(Set)、有序集合(Sorted Set)等,可以用于缓存、消息队列、实时...

Noby
  • Distributed
  • Distributed
大约 8 分钟
day03 Redis持久化、主从复制及哨兵模式、事务、缓存问题
redis 的持久化 RDB(redis database)快照:将当前数据状态进行保存,快照形式,存储数据结果,存储格式简单,关注点在数据; 执行的时机; 持久化执行时机为使用持久化指令,或者关闭 redis 之前 (正常关闭 redis,意外关机、宕机不可以); 数据的恢复执行时机为启动 redis 时; 通过指令命令 redis 执行; 两种指令...

Noby
  • Distributed
  • Distributed
大约 14 分钟
day04 RabbitMQ消息队列基本使用
介绍 RabbitMQ 是一个开源的、高度可靠的、基于 AMQP(Advanced Message Queuing Protocol,高级消息队列协议)协议实现的消息中间件。它可以用于构建高效、可靠的分布式应用程序,支持消息的路由、持久化、发布与订阅、事务等功能。; RabbitMQ 采用分布式架构,消息的生产者(producer)通过将消息发送到 R...

Noby
  • Distributed
  • Distributed
大约 5 分钟
day05 RabbitMQ消息的可靠性、延迟消息、消息堆积
消息的可靠性 image.png 其中的每一步都可能导致消息丢失,常见的丢失原因包括: 生产者确认机制:解决消息发送时丢失,包括未发送到交换机和未发送到队列两种情况; 生产者发送的消息未送达 exchange,到达 publisher-confirm 回调函数(配置在具体的消息发送中); 消息到达 exchange 后未到达 queue, 到达 pub...

Noby
  • Distributed
  • Distributed
大约 3 分钟
day06 微服务常用组件
image.png springCloud; 1. Eureka:Eureka 是 Netflix 开发的一套基于 REST 的服务注册和服务发现组件,主要用于实现微服务架构中的服务管理和服务治理。不需要启动应用程序 2. Ribbon:Ribbon 是 Netflix 开发的一个底层的负载均衡组件,可以实现客户端的负载均衡和容错。 3. OpenFe...

Noby
  • Distributed
  • Distributed
大约 2 分钟
day07 Nacos服务注册与发现
介绍 Nacos 是阿里巴巴开源的一款面向云原生应用的服务发现、配置管理和动态 DNS 服务。它包括两个核心模块:Service Discovery 和 Config Service。它使用分级存储模型:Namespace>Group>Service>Clustrer>Instance 配置 解压即可 启动端口配置位于 config 目录下的 appl...

Noby
  • Distributed
  • Distributed
大约 1 分钟
day08 Seata分布式事务
Seata 介绍 在单体应用中,可以使用传统的本地事务机制来管理事务,这种方式比较简单和直观。但是,在微服务架构下,由于每个服务都是独立的进程,它们通常使用不同的存储介质、部署在不同的物理机器。这样随着业务逻辑的增加,以及服务数量的增加,由原本的本地事务转变为分布式事务,通常会出现一些难以预料的问题,比如:并发事务执行导致数据不一致、网络异常导致数据丢...

Noby
  • Distributed
  • Distributed
大约 6 分钟
day09 Sentinel服务保护
微服务雪崩的解决方案 雪崩的原因主要是微服务 A 访问微服务 B 时,如果微服务 B 出现宕机,访问 B 的 A 的线程会一直处于阻塞状态得不到资源的释放。当 A 的资源被耗尽时,微服务 A 也会宕机。 解决微服务的雪崩问题主要分类两种思路,一种是服务器故障前的预防,一种是服务器故障时的补救。 预防措施主要是对请求的限流处理,通过提前测试微服务的最高 ...

Noby
  • Distributed
  • Distributed
大约 2 分钟