
分布式学习笔记
文章平均质量分 94
记录一些自己关于分布式相关的学习笔记
学、渣
这个作者很懒,什么都没留下…
展开
-
Zookeeper入门介绍
Zookeeper是什么官方文档上这么解释zookeeper,它是一个分布式服务框架,是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。简单来说,zookeeper=文件系统+监听通知机制。1.文件系统Zookeeper维护一个类似文件系统的数据结构:每个子目录项如 NameService 都被称作为 ...转载 2021-10-20 14:40:42 · 309 阅读 · 0 评论 -
SpringCloud之Resilience4J
平时在项目上因为QPS较小,所以接口都没有考虑过限流及熔断处理,现在公司要求接口必须做熔断和限流处理,而且公司选择的框架是Resilience4j。以前自己了解的做熔断限流处理的框架有Hystrix和Sentinel,Resilience4j倒是第一次听说,因此特地学习学习。简介随着微服务的流行,熔断作为其中一项很重要的技术也广为人知。当微服务的运行质量低于某个临界值时,启动熔断机制,暂停微服务调用一段时间,以保障后端的微服务不会因为持续过负荷而宕机。...原创 2021-08-02 21:11:14 · 3438 阅读 · 0 评论 -
三种分布式锁实现方式
为什么要使用分布式锁在之前的单体架构中 , 面对线程安全的问题可能使用 Java 提供的 ReentrantLcok 或 Synchronized 即可。但是随着业务不断发展,这时单机满足不了,于是采用分布式部署的方式。虽然一定程度解决了性能的瓶颈 , 但是也带来了许多分布式相关的问题。就分布式锁而言,看如下图: 单体应用部署结构: 分布式部署架构: 如上如所示,可以看出为什么需要分布式锁:在电商业务采用分...原创 2021-07-27 17:27:58 · 3379 阅读 · 2 评论 -
分布式事务
概述随着互联网的快速发展,软件系统由原来的单体应用转变为分布式应用。分布式系统会把一个应用系统拆分为可独立部署的多个服务,因此需要服务与服务之间远程协作才能完成事务操作,这种分布式系统环境下由不同的服务之间通过网络远程协作完成事务称之为分布式事务,例如用户注册送积分事务、创建订单减库存事务,银行转账事务等都是分布式事务。什么是分布式事务大多数场景下,我们的应用都只需要操作单一的数据库,这种情况下的事务称之为本地事务(Local Transaction)。本地事...原创 2021-07-26 17:26:03 · 151 阅读 · 0 评论 -
分布式系统CAP定理
我们在平时的项目开发过程中经常会听到分布式、集群这两个概念,那么到底什么是分布式,什么是集群呢?分布式系统定义分布式系统是一个硬件或软件组件分布在不通的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统。通俗的理解,分布式系统就是一个业务拆分成多个子业务,分布在不同的服务器节点,共同构成的系统为分布式系统。这些服务器节点在空间部署上是可以随意分布的,可能在不同的机柜中,不同的机房中,或者不同的城市中。类比在家办公,一个小...原创 2021-07-26 14:28:36 · 295 阅读 · 0 评论 -
SpringCloud
Spring CloudSpring Cloud是一个服务治理平台(微服务框架),提供了一些服务框架。包含:服务注册与发现、配置中心、消息中心、负载均衡、数据监控等。Spring Cloud对微服务基础框架Netflix的多个开源组件进行了封装,同时又实现了和云端平台及Spring Boot框架的集成。常用组件:Spring Cloud Netflix Eureka:服务注册中心。Spring Cloud Netflix Ribbon:客户端负载均衡。Spring Cloud N原创 2021-07-16 12:20:58 · 173 阅读 · 0 评论 -
SpringCloud服务熔断与降级
什么是雪崩效应在微服务架构中通常会有多个服务层调用,基础服务的故障可能会导致级联故障,进而造成整个系统不可用的情况,这种现象被称为服务雪崩效应。服务雪崩效应是一种因“服务提供者”的不可用导致“服务消费者”的不可用,并将不可用逐渐放大的过程。如果下图所示:A作为服务提供者,B为A的服务消费者,C和D是B的服务消费者。A不可用引起了B的不可用,并将不可用像滚雪球一样放大到C和D时,雪崩效应就形成了。什么是Hystrix Hystrix是一个用于处理分布式系统的延迟和...原创 2021-07-19 22:17:07 · 4175 阅读 · 0 评论 -
SpringCloud路由网关
为什么要使用微服务网关不同的微服务一般会有不同的网络地址(IP和port不一样),而外部客户端(例如手机APP)可能需要调用多个服务的接口才能完成一个业务需求。例如一个电影购票的手机APP,可能会调用多个微服务的接口,才能完成一次购票的业务流程。如果让客户端直接与各个微服务通信,会有以下的问题: 1. 客户端会多次请求不同的微服务,增加了客户端的复杂性。 2. 存在跨域请求,在一定场景下处理相对复杂。 3. 认证...原创 2021-07-20 14:16:53 · 1126 阅读 · 0 评论