第2页

  • 2024.10.11 | cuithink | 74次围观

    令牌桶算法是漏桶算法的改进版,可以支持突发流量。不过与漏桶算法不同的是,令牌桶算法的漏桶中存放的是令牌而不是流量。那么令牌桶算法是怎么突发流量的呢?最开始,令牌桶是空的,我们以恒定速率往令牌桶里加入令牌,令牌桶被装满时,多余的令牌会被丢弃。当请求到来时,会先尝试从令牌桶获取令牌(相当于从令牌桶移除一个令牌),获取成功则请求被放行,获取失败则阻塞活拒绝请求。令牌桶算法的特点最多可以存发b个令牌。如果令牌到达时令牌桶已经满了,那么这个令牌会被丢弃每当一个请求过来时,就会尝试从桶里...
  • 2024.10.11 | cuithink | 36次围观
    漏桶算法
    上面所介绍的两种算法都不能非常平滑的过渡,下面就是漏桶算法登场了什么是漏桶算法?漏桶算法以一个常量限制了出口流量速率,因此漏桶算法可以平滑突发的流量。其中漏桶作为流量容器我们可以看做一个FIFO的队列,当入口流量速率大于出口流量速率时,因为流量容器是有限的,当超出流量容器大小时,超出的流量会被丢弃。下图比较形象的说明了漏桶算法的原理,其中水龙头是入口流量,漏桶是流量容器,匀速流出的水是出口流量。漏桶算法的特点漏桶具有固定容量,出口流量速率是固定常量(流出请求)入口流量可以以任...
  • 2024.10.11 | cuithink | 35次围观
    sentinel(二)
    4. sentinel和hystrix的区别两者的原则是一致的, 都是当一个资源出现问题时, 让其快速失败, 不要波及到其它服务,但是在限制的手段上, 确采取了完全不一样的方法:Hystrix 采用的是线程池隔离的方式, 优点是做到了资源之间的隔离, 缺点是增加了线程切换的成本。Sentinel 采用的是通过并发线程的数量和响应时间来对资源做限制。功能SentinelHystrix隔离策略信号量隔离线程池隔离(默认并且是官方推荐)/信号量隔离熔断策略慢调用比例、异常...
  • 2024.10.11 | cuithink | 32次围观
    sentinel(一)
    由于服务与服务之间的依赖性,故障会传播,会对整个微服务系统造成灾难性的严重后果,这就是服务故障的 “雪崩效应” 。雪崩发生的原因多种多样,有不合理的容量设计,或者是高并发下某一个方法响应变慢,亦或是某台机器的资源耗尽。我们无法完全杜绝雪崩源头的发生,只有做好足够的容错,保证在一个服务发生问题,不会影响到其它服务的正常运行。也就是"雪落而不雪崩"。1. 常见容错思路隔离、超时、限流、熔断、降级隔离它是指将系统按照一定的原则划分为若干个服务模块,各个...
  • 2024.10.11 | cuithink | 78次围观
    nacos config
    配置中心的思路是:首先把项目中各种配置全部都放到一个集中的地方进行统一管理,并提供一套标准的接口。 当各个服务需要获取配置的时候,就来配置中心的接口拉取自己的配置。 当配置中心中的各种参数有更新的时候,也能通知到各个服务实时的过来同步最新的信息,使之动态更新Nacos配置中心长轮询机制Nacos 1.4.x客户端会轮询向服务端发出一个长连接请求,这个长连接最多30s就会超时,服务端收到客户端的请求会先判断当前是否有配置更新,有则立即返回如果没有服务端会将这个请求拿住“hold...
  • 2024.10.11 | cuithink | 17次围观
    nacos discovery
    1.1. Nacos2.x通信机制是什么?GRPC与HTTP1.1比较,有哪些优势GRPC通信方式:gRPC:gRPC是一种远程过程调用(RPC)框架,基于HTTP/2协议,它支持双向流式通信,适用于多个请求和响应的交互。gRPC通常用于构建分布式系统中的服务之间的通信。HTTP:HTTP通常是基于请求-响应模型的,客户端发送请求,服务器回复响应。虽然HTTP/2引入了多路复用,但它的主要使用场景仍然是Web浏览器和服务器之间的通信数据序列化:gRPC:使用 Protocol...
  • 2024.10.11 | cuithink | 4次围观
    服务注册中心
    注册中心一般包含如下几个功能:服务发现:服务注册:保存服务提供者和服务调用者的信息服务订阅:服务调用者订阅服务提供者的信息,注册中心向订阅者推送提供者的信息服务配置:配置订阅:服务提供者和服务调用者订阅微服务相关的配置配置下发:主动将配置推送给服务提供者和服务调用者服务健康检测检测服务提供者的健康情况,如果发现异常,执行服务剔除...
  • 2024.10.11 | cuithink | 42次围观
    服务架构
    1. 架构演变单体应用->垂直应用架构->分布式架构->SOA架构->微服务架构单体应用优点: 项目架构简单,小型项目的话, 开发成本低 项目部署在一个节点上, 维护方便缺点:全部功能集成在一个工程中,对于大型项目来讲不易开发和维护 项目模块之间紧密耦合,单点容错率低 无法针对不同模块进行针对性优化和水平扩展垂直应用架构:就是将原来的一个应用拆成互不相干的几个应用,以提升效率。拆分完毕之后,一旦用户访问量变大,只需要增加电商系统的节点就可以了,而无需增...
  • 2024.10.11 | cuithink | 81次围观
    对象的内存分配
    对象的内存分配 一般情况下,新创建的对象都会被分配到Eden区,一些特殊的大对象才会被分配到Old区,这是内存担保机制GC的悲观策略: 所有对象的生命周期,98%都是朝生夕死相同年龄的所有对象的大小总和大于S区其中一个区域的一半,则分代年龄大于或等于这个年龄的对象都要进入老年代(图灵讲的是所有年龄的对象综合,年龄1+年龄2+年龄3+年龄4)Full GC=young GC+Old GC+MetaSpace GCJDK1.8 开始MetaSpace用的是直接内存,元空间的GC能...
  • 2024.10.11 | cuithink | 98次围观
    G1垃圾回收器介绍
    初始标记(initial mark,STW):暂停所有的其他线程,并记录下gc roots直接能引用的对象,速度很快 ;并发标记(Concurrent Marking):同CMS的并发标记最终标记(Remark,STW):同CMS的重新标记筛选回收(Cleanup,STW):筛选回收阶段首先对各个Region的回收价值和成本进行排序,根据用户所期望的GC停顿G1 设计指导思想是垃圾优先原则,同时还能照顾到停顿时间和吞吐量。G1设计的目的是避免完全回收,但是当并发收集不能够足够...