
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
单体应用的故障影响面很大,而分布式系统中由于故障的影响面可以被隔离,所以影响面较小,但是因为服务多,出故障的频率也很多。不过我们需要明白:出现故障不可怕,故障影响面过大才可怕;出现故障不可怕,故障恢复时间过长才可怕。所谓 “防火胜于救火”,所以我们更要考虑如何进行防火,这就要求我们在设计或者运维时都要为可能发生的故障考虑,即所谓 “Design for Failure”,面向失败设计,在设计时要考

外观模式通过对客户端提供一个统一的接口,用于访问子系统中的一群接口。使用外观模式有以下几点好处:更加易用、松散耦合、更好的划分访问层次。但是如果外观模式对子系统类做太多的限制则减少了可变性和灵活性,所以外观模式适用于为复杂子系统提供一个简单接口,提高系统的易用性场景 以及 引入外观模式将子系统与客户端进行解耦,提高子系统的独立性和可移植性。
一、3DES加密算法简析:3DES,也称为 3DESede 或 TripleDES,是三重数据加密算法,相当于是对每个数据库应用三次DES的对称加密算法。由于DES密码长度容易被暴力破解,所以3DES算法通过对DES算法进行改进,增加DES的密钥长度来避免类似的攻击,针对每个数据块进行三次DES加密;因此,3DES加密算法并非什么新的加密算法,是DES的一个更安全的变形,它以DES为...
相关博客:排序算法:冒泡排序、插入排序、选择排序、希尔排序排序算法:归并排序、快速排序排序算法:桶排序、计数排序、基数排序排序算法:堆排序十大排序算法小结这篇博客将主要介绍三种时间复杂度是O(n)的排序算法:桶排序、计数排序、计数排序。因为这些排序算法的时间复杂度都是线性的,所以也把这类排序算法称为线性排序。之所以能够做到线性的时间复杂度,主要原因是这几个算法是非基于...
Sentinel 规则默认是存储在内存中的,只要服务重启之后对应的规则也会消失,实际的生产中肯定是不允许这种操作,因此 Sentinel 官方推荐在生产架构中使用第三方数据源作为永久存储中心,比如 nacos、apollo、zookeeper。因为这几种数据源都是基于 push 模式,也就是由规则中心统一推送,Sentinel Client 只需通过注册监听器的方式时刻监听变化,并负责获取配置中心
随着系统的复杂度也越来越高,我们软件架构也进入了分布式阶段,一次请求可能横跨多个服务模块、项目,依赖的中间件也越来越多,其中任何一个节点出现异常,都可能导致业务出现波动或者异常。而传统的日志监控等方式无法很好满足调用链路跟踪,排查问题等需求,这就导致定位/诊断服务异常变得异常复杂。因此面对复杂的调用链路,我们需要一款具体如下功能全链路追踪工具,提高我们对业务的掌控度:①请求链路追踪,快速定位故障;

Sentinel 是一款面向分布式服务架构的轻量级流量控制组件,主要以流量为切入点,从流量控制、熔断降级、系统自适应保护等多个维度来保障服务的稳定性,核心思想是:根据对应资源配置的规则来为资源执行相应的流控/降级/系统保护策略,

基于MQ的分布式事务方案,本质上是对本地消息表的一个封装,整体流程与本地消息表一致,唯一不同的就是将本地消息表存在了MQ内部,而不是业务数据库,事务消息解决的是生产端的消息发送与本地事务执行的原子性问题,确保 MQ 生产端正确无误地将消息发送出来,没有多发,也不会漏发,至于发送后消费端有没有正常的消费消息,这种异常场景将由 MQ 消息消费失败重试机制来保证。

Spring是一个非常优秀的开源框架,项目源码中所使用的设计模式随处可见,这篇文章主要记录一下Spring中常见的设计模式:(1)工厂模式:Spring使用工厂模式,通过BeanFactory和ApplicationContext来创建对象(2)单例模式:Bean默认为单例模式(3)策略模式:例如Resource的实现类,针对不同的资源文件,实现了不同方式的资源获取策略(4)代理模式:Spring
相关博客:排序算法:冒泡排序、插入排序、选择排序、希尔排序排序算法:归并排序、快速排序排序算法:桶排序、计数排序、基数排序排序算法:堆排序十大排序算法小结一、归并排序:1、工作原理:归并排序的采用分治思想,如果要排序一个数组,我们先把数组从中间分成前后两个部分,然后对前后两个部分分别进行排序,再将排好序的两部分合并在一起,这样整个数组就都有序了。2、动图演...







