超详细 Nginx 极简教程详解

什么是Nginx? Nginx (engine x) 是一款轻量级的Web 服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器。 什么是反向代理? 反向代理(Reverse Proxy)方式是指以代理服务器来接受int...

Hmily:高性能异步分布式事务TCC框架详解

Hmily框架特性 无缝集成Spring,Spring boot start。 无缝集成Dubbo,SpringCloud,Motan等rpc框架。 多种事务日志的存储方式(redis,mongdb,mysql等)...

Java 编程中关于异常处理的 10 个最佳实践详解

       异常处理是Java 开发中的一个重要部分。它是关乎每个应用的一个非功能性需求,是为了处理任何错误状况,比如资源不可访问,非法输入,空输入等等。Java提供了几个异常处理特性,以try,c...

微服务架构下处理分布式事务,你必须知道的事儿详解

根据微服务架构的鼻祖 Martin Fowler 的忠告,微服务架构中应当尽量避免分布式事务。然而,在某些领域,分布式事务如同宿命中的对手无法避免。 在工程领域,分布式事务的讨论主要聚焦于强一致性和最终一致性的解决方案。 典型方案包括:...

服务高可用:幂等性设计详解

什么是幂等性? 一般在服务调用时,读服务如果调用失败了,会自动按配置次数转移到别的服务上去请求。而写服务就不能重复请求,如果因为超时或者网络故障等原因被调用服务并没有返回成功的响应,服务调用方就认为是失败了,但很有可能的是已经成功了,如果...

微服务架构及分布式事务解决方案详解

分布式事务 分布式事务场景如何设计系统架构及解决数据一致性问题,个人理解最终方案把握以下原则就可以了,那就是:大事务=小事务(原子事务)+异步(消息通知),解决分布式事务的最好办法其实就是不考虑分布式事务,将一个大的业务进行...

nginx负载均衡的策略详解

1、轮询(默认) 应用程序轮流来响应请求 2、最少连接(least-conn)    请求被分配到活动连接最少的服务器上 3、ip-hash    通过一个hash函数决定哪个服务...

布隆过滤器的方式解决缓存穿透问题详解

1、原理 布隆过滤器的巨大用处就是,能够迅速判断一个元素是否在一个集合中。因此他有如下三个使用场景: 网页爬虫对URL的去重,避免爬取相同的URL地址 反垃圾邮件,从数十亿个垃圾邮件列表中判断某邮箱是否垃圾邮箱(同理,垃...

Spring Cloud Eureka自我保护机制(服务无法剔除)详解

说明 自我保护背景 首先对Eureka注册中心需要了解的是Eureka各个节点都是平等的,没有ZK中角色的概念, 即使N-1个节点挂掉也不会影响其他节点的正常运行。 默认情况下,如果Eureka Server在一定时间内(默认90秒)...

缓存穿透,缓存击穿,缓存雪崩解决方案分析详解

前言 设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。 缓存穿透 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存...