分布式微服务
文章平均质量分 81
一江溪水
这个作者很懒,什么都没留下…
展开
-
全链路追踪 jaeger
Jaeger是Uber开发并开源的一款分布式追踪系统,兼容分布式跟踪信息传递分布式事务监控问题分析服务依赖性分析性能优化。原创 2023-01-24 00:25:34 · 2060 阅读 · 0 评论 -
全链路追踪之OpenTracing
现在的大多数互联网服务,基本都是用复杂,大规模分布式集群来实现,微服务化,这些服务模块分布在不同的机器,不同的数据中心,由不同团队,语言开发而成。原创 2023-01-08 16:59:08 · 1077 阅读 · 0 评论 -
OAuth2.0的四种授权方式
OAuth简单理解就是一种授权机制,它是在客户端和资源所有者之间的授权层,用来分离两种不同的角色。在资源所有者同意并向客户端颁发令牌后,客户端携带令牌可以访问资源所有者的资源。原创 2022-12-11 15:31:26 · 2549 阅读 · 0 评论 -
Spring Boot是如何实现自动装配的
什么是自动装配?自动装配就是通过注解或者一些简单的配置就能在 Spring Boot 的帮助下实现某块功能。Spring Boot 定义了一套接口规范,这套规范规定:SpringBoot 在启动时会扫描外部引用 jar 包中的META-INF/spring.factories文件,将文件中配置的类型信息加载到 Spring 容器,并执行类中定义的各种操作。对于外部 jar 来说,只需要按照 Spring Boot 定义的标准,就能将自己的功能装置进 Spring Boot。在Spring Boot原创 2021-11-21 17:56:22 · 3947 阅读 · 1 评论 -
一致性哈希算法
什么是一致性哈希算法一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简 单哈希算法带来的问题,使得分布式哈希(DHT)可以在P2P环境中真正得到应用。一致性hash算法提出了在动态变化的Cache环境中,判定哈希算法好坏的四个定义:平衡性(Balance)单调性(Monotonicity)分散性(Spread)负载(Load)实现机制一致哈希是原创 2021-11-20 17:30:39 · 932 阅读 · 0 评论 -
Spring AOP是怎么实现的
概述Spring的AOP实现是通过动态代理实现的。如果我们为Spring的一个bean配置了AOP切面,那么Spring在创建这个bean的时候,实际上创建的是这个bean的一个代理对象,我们后续对bean中方法的调用,实际上调用的是代理类重写的代理方法。而Spring的AOP使用了两种动态代理,分别是JDK的动态代理;CGLib的动态代理。JDK动态代理Spring默认使用JDK的动态代理实现AOP,类如果实现了接口,Spring就会使用这种方式实现动态代理。JDK实现动态代理需要两个组件原创 2021-11-17 23:33:36 · 5149 阅读 · 1 评论 -
分布式事务之两阶段提交
两阶段提交协议两阶段提交协议把分布式事务分为两个阶段,一个是准备阶段,另一个是提交阶段;准备阶段和提交阶段都是由事务管理器发起的;我们可以将事务管理器称为协调者,将资源管理器称为参与者。流程准备阶段:协调者向参与者发起指令,参与者评估自己的状态,如果参与者评估指令可以完成,则会写redo或者undo日志(Write-Ahead Log的一种),然后锁定资源,执行操作,但是并不提交。提交阶段:如果每个参与者明确返回准备成功,也就是预留资源和执行操作成功,则协调者向参与者发起提交指令,参原创 2021-10-31 17:21:05 · 3510 阅读 · 0 评论 -
基于RedLock的分布式锁
概述在单个主节点的架构上实现分布式锁,是无法保证高可用的,在生产环境上,我们的Redis都是以集群部署的;那么如果Redis实现分布式锁的是一个主从集群,可能会发生什么情况呢?如果进程A在主节点上加锁成功,然后这个主节点宕机了,则从节点将会晋升为主节点。若此时进程B在新的主节点上加锁成功,之后原主节点重启,成为了从节点,系统中将同时出现两把锁,这是违背锁的唯一性原则的。RedLock实现如果要保证分布式锁的高可用,则需要采用多个节点的实现方案。Redis的官方给出的建议是采用RedLoc原创 2021-10-12 16:50:23 · 307 阅读 · 0 评论 -
限流算法有哪些?
在开发高并发系统时,有三把利器用来保护系统:缓存降级限流那么何为限流呢?顾名思义,限流就是限制流量,那又有那些限流算法呢?计数器算法计数器限流算法,是指在指定的时间周期内累加访问次数,达到设定的需值时,触发限流策略。下一个时间周期进行访问时,访问次数清零。此算法无论在单机还是分布式环境下实现都非常简单,使用redis的incr原子自增性,再结合key的过期时间,即可轻松实现。设置一个计数器计数器,每当一个请求过来的时候,计数器就加1,如果计数器的值大于100并且该请求与第一个 请求的原创 2021-10-02 19:17:13 · 185 阅读 · 0 评论