首页
JVM
并发编程
设计模式
消息队列
数据库
项目场景
开发工具
分布式
微服务
spring
搜索
微服务
微服务
0
令牌桶算法
2024.10.11 |
cuithink
| 74次围观
令牌桶算法是漏桶算法的改进版,可以支持突发流量。不过与漏桶算法不同的是,令牌桶算法的漏桶中存放的是令牌而不是流量。那么令牌桶算法是怎么突发流量的呢?最开始,令牌桶是空的,我们以恒定速率往令牌桶里加入令牌,令牌桶被装满时,多余的令牌会被丢弃。当请求到来时,会先尝试从令牌桶获取令牌(相当于从令牌桶移除一个令牌),获取成功则请求被放行,获取失败则阻塞活拒绝请求。令牌桶算法的特点最多可以存发b个令牌。如果令牌到达时令牌桶已经满了,那么这个令牌会被丢弃每当一个请求过来时,就会尝试从桶里...
微服务
0
漏桶算法
2024.10.11 |
cuithink
| 36次围观
上面所介绍的两种算法都不能非常平滑的过渡,下面就是漏桶算法登场了什么是漏桶算法?漏桶算法以一个常量限制了出口流量速率,因此漏桶算法可以平滑突发的流量。其中漏桶作为流量容器我们可以看做一个FIFO的队列,当入口流量速率大于出口流量速率时,因为流量容器是有限的,当超出流量容器大小时,超出的流量会被丢弃。下图比较形象的说明了漏桶算法的原理,其中水龙头是入口流量,漏桶是流量容器,匀速流出的水是出口流量。漏桶算法的特点漏桶具有固定容量,出口流量速率是固定常量(流出请求)入口流量可以以任...
微服务
0
sentinel(二)
2024.10.11 |
cuithink
| 35次围观
4. sentinel和hystrix的区别两者的原则是一致的, 都是当一个资源出现问题时, 让其快速失败, 不要波及到其它服务,但是在限制的手段上, 确采取了完全不一样的方法:Hystrix 采用的是线程池隔离的方式, 优点是做到了资源之间的隔离, 缺点是增加了线程切换的成本。Sentinel 采用的是通过并发线程的数量和响应时间来对资源做限制。功能SentinelHystrix隔离策略信号量隔离线程池隔离(默认并且是官方推荐)/信号量隔离熔断策略慢调用比例、异常...
微服务
0
sentinel(一)
2024.10.11 |
cuithink
| 32次围观
由于服务与服务之间的依赖性,故障会传播,会对整个微服务系统造成灾难性的严重后果,这就是服务故障的 “雪崩效应” 。雪崩发生的原因多种多样,有不合理的容量设计,或者是高并发下某一个方法响应变慢,亦或是某台机器的资源耗尽。我们无法完全杜绝雪崩源头的发生,只有做好足够的容错,保证在一个服务发生问题,不会影响到其它服务的正常运行。也就是"雪落而不雪崩"。1. 常见容错思路隔离、超时、限流、熔断、降级隔离它是指将系统按照一定的原则划分为若干个服务模块,各个...
微服务
0
nacos config
2024.10.11 |
cuithink
| 78次围观
配置中心的思路是:首先把项目中各种配置全部都放到一个集中的地方进行统一管理,并提供一套标准的接口。 当各个服务需要获取配置的时候,就来配置中心的接口拉取自己的配置。 当配置中心中的各种参数有更新的时候,也能通知到各个服务实时的过来同步最新的信息,使之动态更新Nacos配置中心长轮询机制Nacos 1.4.x客户端会轮询向服务端发出一个长连接请求,这个长连接最多30s就会超时,服务端收到客户端的请求会先判断当前是否有配置更新,有则立即返回如果没有服务端会将这个请求拿住“hold...
微服务
0
nacos discovery
2024.10.11 |
cuithink
| 17次围观
1.1. Nacos2.x通信机制是什么?GRPC与HTTP1.1比较,有哪些优势GRPC通信方式:gRPC:gRPC是一种远程过程调用(RPC)框架,基于HTTP/2协议,它支持双向流式通信,适用于多个请求和响应的交互。gRPC通常用于构建分布式系统中的服务之间的通信。HTTP:HTTP通常是基于请求-响应模型的,客户端发送请求,服务器回复响应。虽然HTTP/2引入了多路复用,但它的主要使用场景仍然是Web浏览器和服务器之间的通信数据序列化:gRPC:使用 Protocol...
微服务
0
服务注册中心
2024.10.11 |
cuithink
| 4次围观
注册中心一般包含如下几个功能:服务发现:服务注册:保存服务提供者和服务调用者的信息服务订阅:服务调用者订阅服务提供者的信息,注册中心向订阅者推送提供者的信息服务配置:配置订阅:服务提供者和服务调用者订阅微服务相关的配置配置下发:主动将配置推送给服务提供者和服务调用者服务健康检测检测服务提供者的健康情况,如果发现异常,执行服务剔除...
微服务
0
服务架构
2024.10.11 |
cuithink
| 42次围观
1. 架构演变单体应用->垂直应用架构->分布式架构->SOA架构->微服务架构单体应用优点: 项目架构简单,小型项目的话, 开发成本低 项目部署在一个节点上, 维护方便缺点:全部功能集成在一个工程中,对于大型项目来讲不易开发和维护 项目模块之间紧密耦合,单点容错率低 无法针对不同模块进行针对性优化和水平扩展垂直应用架构:就是将原来的一个应用拆成互不相干的几个应用,以提升效率。拆分完毕之后,一旦用户访问量变大,只需要增加电商系统的节点就可以了,而无需增...
微服务
0
计数器固定窗口算法
2024.09.11 |
cuithink
| 66次围观
计数器固定窗口算法是最简单的限流算法,实现方式也比较简单。就是通过维护一个单位时间内的计数值,每当一个请求通过时,就将计数值加1,当计数值超过预先设定的阈值时,就拒绝单位时间内的其他请求。如果单位时间已经结束,则将计数器清零,开启下一轮的计数。但是这种实现会有一个问题,举个例子:假设我们设定1s内允许通过的请求阈值是100,如果有用户在时间窗口的最后几毫秒发送了99个请求,紧接着又在下一个时间窗口开始时发送了99个请求,那么这个用户其实在一秒显然超过了阈值但并不会被限流。其实...
微服务
0
微服务基本概念
2024.09.11 |
cuithink
| 66次围观
2. 微服务架构图3. 微服务常见概念3.1. 服务治理服务治理就是进行服务的自动化管理,其核心是服务的自动注册与发现。服务注册:服务实例将自身服务信息注册到注册中心。 服务发现:服务实例通过注册中心,获取到注册到其中的服务实例的信息,通过这些信息去请求它们提供的服务。 服务剔除:服务注册中心将出问题的服务自动剔除到可用列表之外,使其不会被调用到3.2. 服务调用在微服务架构中,通常存在多个服务之间的远程调用的需求。目前主流的远程调用技术有基于HTTP的RESTful接口以及...
1
热门文章
1
MVCC多版本并发控制(一)
2
redis 简图
3
适配器模式
4
线程的创建
5
mysql之Change Buffer
6
idea快捷键
7
建造者模式(Builder)
8
G1垃圾回收器介绍
9
分库分表相关的问题
随机文章
kafka基本使用
mysql事务(二)
策略模式
设计模式-基本概念
对象的生命周期
分布式幂等性如何设计
垃圾收集算法
Kafka基本概念
Spring由哪些模块组成
最近发表
spring循环依赖
SpringBoot启动流程
分布式事务-TCC&Saga模式
分布式事务-seata XA模式
分布式事务-seata AT模式
分布式事务
分布式幂等性如何设计
分布式ID生成有几种方案
分布式锁(二)
分布式锁
网站分类
未分类
JVM
并发编程
设计模式
消息队列
kafka
rabbitmq
数据库
redis
mysql
项目场景
开发工具
分布式
微服务
spring
文章归档
2024年10月 (57)
2024年9月 (14)
2024年8月 (6)
2024年7月 (4)