青云博客 分享、记录

Seata是什么?它的工作原理是什么?

Seata是一款开源的分布式事务解决方案,它提供了一个简单、高性能和易于使用的分布式事务服务。Seata的工作原理是基于两阶段提交协议的演变,通过将业务数据和回滚日志记录在同一个本地事务中提交,释放本地锁和连接资源,然后通过异步提交的方式快速完成事务。在回滚阶段,Seata通过一阶段的回滚日志进行反

詹学伟 发布于 2024-04-23

Sentinel 与Hystrix的区别是什么

Hystrix和Sentinel都是微服务架构中实现熔断和限流的工具,它们有以下区别和特点: Hystrix是Netflix开源的熔断器实现,主要用于保护分布式系统中的服务调用。它的主要特点包括线程隔离、资源保护和降级处理。Hystrix通过将每个服务调用放入独立的线程池中来实现线程隔离,防止一个服

詹学伟 发布于 2024-04-23

如果 Sentinel 的异常处理规则不满足需求,应该怎么办?

如果 Sentinel 的默认异常处理机制无法满足您的需求,您可以选择自定义异常处理规则。 Sentinel 允许您通过自定义实现 BlockedExceptionHandler 接口,然后将自定义的异常处理器对象交给 Spring 容器进行管理。 您可以根据实际业务需求,定制化异常处理策略,例如全

詹学伟 发布于 2024-04-23

说说Seata的执行流程

Seata的整体执行流程设计为两阶段提交,其执行流程如下: 第一阶段: 所有RM(Resource Manager,资源管理者,业务代码中被远程调用的部分)执行自己的本地事务。在执行本地事务时,seata使用数据源代理,在执行SQL前,对SQL进行解析,生成前置镜像SQL和后置镜像SQL,同时向un

詹学伟 发布于 2024-04-23

什么情况下需要用到分布式事务?有哪些方案?

分布式事务是指在多个网络节点或服务之间进行数据一致性处理的情况。以下是一些可能需要使用分布式事务的场景: 微服务之间通过远程调用完成事务操作:当不同的微服务之间需要进行数据一致性保证时,就需要使用分布式事务。例如,一个电商微服务中的订单服务和库存服务需要通过远程调用进行事务操作,保证库存数量和订单信

詹学伟 发布于 2024-04-23

什么是Seata?谈谈你对Seata的理解

Seata是一款开源的分布式事务解决方案,它主要用于解决在分布式系统中全局事务的一致性问题。 在分布式系统中,由于一次业务操作需要跨多个数据源或进行远程调用,往往会产生分布式事务问题。例如,在一个电商微服务系统中,订单服务和库存服务需要协同工作,如果订单服务已经创建成功,但库存服务因为某些原因失败了

詹学伟 发布于 2024-04-23

什么是限流算法,网关如何实现限流

限流算法是指用于限制单位时间内服务的请求数量的算法,目的是防止服务被过高的请求压力所击垮。常见的限流算法包括计数器算法、滑动窗口算法、漏桶算法、令牌桶算法。 网关如何实现限流: 利用限流算法插件/模块:网关可以集成限流算法插件/模块,通过配置相关参数(如令牌桶大小、令牌生成速率等)来实现限流。例如,

詹学伟 发布于 2024-04-23

如何处理OAuth2的刷新令牌

当使用OAuth2时,如果访问令牌过期,客户端应用程序可以使用刷新令牌从授权服务器获取一个新的访问令牌。刷新令牌是一个特殊的令牌,它允许您在不重新输入凭据的情况下重新获得访问权限。刷新令牌应该在安全的环境中存储,并且不应该被暴露给未授权的用户或应用程序。 在使用刷新令牌时,应遵循以下最佳实践: 存储

詹学伟 发布于 2024-04-23

在微服务架构中,网关的作用是什么

在微服务架构中,网关(Gateway)具有以下作用: 统一入口:网关为所有的微服务提供一个唯一的入口点,从而简化了客户端与服务的交互,同时保障了后台服务的安全性。 鉴权校验

詹学伟 发布于 2024-04-23

使用OAuth2有什么优点和缺点

使用OAuth2有以下几个优点: 安全性:OAuth2协议允许客户端不接触用户密码,这提高了系统的安全性。服务器端也更容易集中保护用户信息,因为所有的认证和授权信息都集中在服务器端,而不是分散在各个客户端。 广泛使用:OAuth2是一个广泛应用的认证标准,已经被许多公司和组织采用,因此,使用OAut

詹学伟 发布于 2024-04-23