加载中
微服务-分布式锁(三)-Zookeeper方案

1 Apache-Curator 如上借助于临时顺序节点,可以避免同时多个节点的并发竞争锁,缓解了服务端压力。这种实现方式所有加锁请求都进行排队加锁,是公平锁的具体实现。Apache-Curator中提供的常...

微服务-分布式锁(二)-Redis方案

1 LUA+SETNX+EXPIRE 先用setnx来抢锁,如果抢到之后,再用expire给锁设置一个过期时间,防止锁忘记了释放。 setnx(key, value) setnx 的含义就是 SET if Not Exists,该方法是原子的。如果 ...

2021/07/25 09:35
176
微服务-分布式锁(一)-MySQL方案

1 基于唯一索引(insert)实现 记录锁的乐观锁方案。基于数据库的实现方式的核心思想是:在数据库中创建一个表,表中包含方法名等字段,并在方法名字段上创建唯一索引,想要执行某个方法,就使...

微服务 —— 断路器设计

熔断机制是应对雪崩效应的一种微服务链路保护机制。当链路的某个微服务出错不可用或者响应时间太长时,会进行服务的降级,进而熔断该节点微服务的调用,快速返回错误的响应信息。当检测到该节...

2021/07/24 08:09
36
微服务架构—JAVA打包黑科技

1 背景 每个JAVA项目开发完成后都会考虑部署至各个环境(DEV、TEST、PRO等)中,选择一种好的打包方式,将会在使用中无形的减少不少工作量,同时也会带来很多方便之处。反之,没有选择好打包...

Micro Service Architecture — Timeout

1 Overview 常见的微服务架构: 做好超时时间的限定,用于判定超时后资源能够及时被释放,用于处理其它的请求,从而提升的性能。 前端:Ajax、Node 代理层:DNS、LB(SLB、F5、Keepalived+LV...

微服务架构—链路追踪(MDC篇)

MDC 为每个线程建立一个独立的存储空间,开发人员可以根据需要把信息存入其中。MDC 使用Map机制来存储信息,信息以key/value对的形式存储在Map中,类似于ThreadLocal的作用(MDC底层就是Thr...

微服务架构—链路追踪(Nginx篇)

在大部分的微服务架构中,Nginx基本是常用的接入层设施,所以我们希望请求ID从Nginx层进行校验填充,并且打印在Nginx的请求日志中。

微服务架构—幂等机制

微服务架构中,幂等是一致性方面的一个重要概念。幂等(Idempotent)是一个数学领域与计算机学的概念,常见于抽象代数中。而在编程中,一个幂等操作的特点是指其任意多次执行所产生的影响均与...

2018/04/06 11:24
7.3K
微服务架构—高级设计篇

微服务架构(Microservice Architecture)是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。你可以将其看作是在架构层次而非获取服务的。...

微服务架构—服务降级

什么是服务降级?当服务器压力剧增的情况下,根据实际业务情况及流量,对一些服务和页面有策略的不处理或换种简单的方式处理,从而释放服务器资源以保证核心交易的能正常运行。

微服务架构—优雅停机方案

微服务架构中的应用优雅停机主要是指应用实例有计划而平滑(即不产生需要处理的事故)的退出。

微服务架构—Snowflake分布式ID(黑科技)

基于Twitter的Snowflake算法(俗称雪花算法)实现64位自增ID算法,性能高达:QPS>400w/s。

枚举在业务系统中的最佳使用方式

最佳使用方式(如下代码): DB中存储的是int类型的1或2 Mapper 层从DB中映射出来实体就是Grade.LEVEL_1或LEVEL_2(开发者无须再转换一次、或不需要使用新模型进行接收映射该字段) 最终响应...

2018/01/12 15:52
264
文件隐藏至图片中

如何将文件隐藏在图片中? 1.将1.jpg和2.rar复制至同一目录下 2.在该目录下新建 copy.bat 文件,并写入: copy 1.jpg/b+2.rar=3.jpg 3.双击 copy.bat ,会自动生成 3.jpg 文件,默认打开即为...

2021/01/01 12:14
76
使用Log4j2打印Mybatis SQL语句以及结果集

配置log4j2.xml 实现用Log4j2来打印Mybatis的SQL很简单,先配置一个name为consolePrint的附加器,指定输出格式 然后在loggers下配置一个logger,name指向项目持久层接口的package,也就是和Mybat...

详细深入分析 Java ClassLoader 工作机制

什么是 ClassLoader ? 大家都知道,当我们写好一个 Java 程序之后,不是管是 C/S 还是 B/S 应用,都是由若干个 .class 文件组织而成的一个完整的 Java 应用程序,当程序在运行时,即会调用该...

2017/11/19 14:07
193
IDEA中GIT远程版本回退

工作中遇到git远程仓库需要回退到历史版本的问题,根据网上的搜索结果结合自己的实践,整理了如下步骤: 1. 在“Show History”中找到当前版本(取名:newVersion)和想要回退到的版本(old...

2017/11/03 09:53
2W

没有更多内容

加载失败,请刷新页面

返回顶部
顶部