一致性 缓存 内存 模式

对于goland相对较新一些版本新建项目时没有go mod模式选项的坑

前言 对于一些小白在网上看很早的一些go视频,使用goland2020.3.x版本或者其之前版本创建新项目,里面会有GO Modules(vgo)这个选项,也就是gomod模式创建新项目,然而对于现在相对新点的goland版本,创建新项目是会发现没有GO Modules(vgo)选项,会很懵,本人以 ......
版本 模式 项目 goland mod

架构与思维:再聊缓存击穿,面试是一场博弈

1 介绍 在之前的一篇文章《一次缓存雪崩的灾难复盘》中,我们比较清晰的描述了缓存雪崩、穿透、击穿的各自特征和解决方案,想详细了解的可以移步。 最近在配合HR筛选候选人,作为大厂的业务方向负责人,招人主要也是我们自己团队在用,而缓存是必不可少的面试选项之一。下面我们就来聊一聊在特定业务场景下缓存击穿和 ......
缓存 架构 思维

Redis的数据被删除,占用内存咋还那么大?

通过 CONFIG SET maxmemory 100mb 或者在 redis.conf 配置文件设置 maxmemory 100mb Redis 内存占用限制。当达到内存最大值值,会触发内存淘汰策略删除数据。 除此之外,当 key 达到过期时间,Redis 会有以下两种删除过期数据的策略: 后台定 ......
内存 数据 Redis

解读JVM级别本地缓存Caffeine青出于蓝的要诀 —— 缘何会更强、如何去上手

继Guava Cache之后,我们再来聊一下各方面表现都更佳的Caffeine,看一下其具体使用方式、核心的优化改进点,窥探其青出于蓝的秘密所在。 ......
青出于蓝 要诀 缓存 Caffeine 级别

解读JVM级别本地缓存Caffeine青出于蓝的要诀2 —— 弄清楚Caffeine的同步、异步回源方式

作为一种对外提供黑盒缓存能力的专门组件,Caffeine基于穿透型缓存模式进行构建。本文就深度全面聊一聊关于Caffeine的多种不同的数据回源方式、以及在同步异步场景下的实现与使用。 ......
Caffeine 青出于蓝 要诀 缓存 级别

【RocketMQ】主从模式下的消费进度管理

在【RocketMQ】消息的拉取一文中可知,消费者在启动的时候,会创建消息拉取API对象PullAPIWrapper,调用pullKernelImpl方法向Broker发送拉取消息的请求,那么在主从模式下消费者是如何选择向哪个Broker发送拉取请求的? 进入pullKernelImpl方法中,可以 ......
主从 进度 RocketMQ 模式

也及夜间模式样式

“像白天不懂夜的黑,像永恒燃烧的太阳,不懂那月亮的盈缺。” —— 黄桂兰 0x00 大纲 0x01 前言 夜间模式(Dark Mode),也被称为黑暗模式或深色模式,是一种高对比度,或者反色模式的显示模式,这种模式现在越来越流行,因为和传统的白底黑字相比,这种黑底白字的模式通常被认为可以缓解眼疲劳, ......
样式 模式

Java工厂模式的最佳实践?

"Simplicity is prerequisite for reliability." - Edsger Dijkstra “简单是可靠的前提条件。” —— 艾兹格·迪杰斯特拉 0x00 大纲 0x01 前言 最近在重温设计模式(in Java)的相关知识,然后在工厂模式的实现上面进行了一些较深 ......
工厂 模式 Java

Java单例模式的最佳实践?

“读过书,……我便考你一考。茴香豆的茴字,怎样写的?”——鲁迅《孔乙己》 0x00 大纲 0x01 前言 最近在重温设计模式(in Java)的相关知识,然后在单例模式的实现上面进行了一些较深入的探究,有了一些以前不曾注意到的发现,遂将其整理成文,以作后用。 单例模式最初的定义出现于《设计模式》(艾 ......
模式 Java

【Java难点攻克】「NIO和内存映射性能提升系列」彻底透析NIO底层的内存映射机制原理与Direct Memory的关系

Java类库中的NIO包相对于IO包来说有一个新功能就是 【内存映射文件】,在业务层面的日常开发过程中并不是经常会使用,但是一旦在处理大文件时是比较理想的提高效率的手段,之前已经在基于API和开发实战角度介绍了相关的大文件读取以及NIO操作的实现,而本文主要想结合操作系统(OS)底层中相关方面的内容... ......
内存 难点 底层 NIO 原理

Kafka技术专题之「性能调优篇」消息队列服务端出现内存溢出OOM以及相关性能调优实战分析

本篇文章介绍Kafka处理大文件出现内存溢出 java.lang.OutOfMemoryError: Direct buffer memory,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。 ......
性能 实战分析 队列 实战 内存

【JVM故障问题排查心得】「内存诊断系列」Docker容器经常被kill掉,k8s中该节点的pod也被驱赶,怎么分析?

我有一个在主机中运行的Docker容器(也有在同一主机中运行的其他容器)。该Docker容器中的应用程序将会计算数据和流式处理,这可能会消耗大量内存。 该容器会不时退出。我怀疑这是由于内存不足,但不是很确定。我需要找到根本原因的方法。那么有什么方法可以知道这个集装箱的死亡发生了什么? ......
节点 容器 故障 内存 心得

作者推荐 | 【分布式技术专题】「架构设计方案」图解学习法总结集群模式下的各种软负载均衡策略实现及原理分析

通常来说,负载均衡分为硬件负载均衡及软件负载均衡。硬件负载均衡,顾名思义,在服务器节点之间安装专门的硬件进行负载均衡的工作,F5或者A10便为其中的佼佼者。软件负载均衡则是通过在服务器上安装的特定的负载均衡软件或是自带负载均衡模块完成对请求的分配派发。例如,平时我们使用的Nginx或者API-Gat... ......
分布式 集群 架构 原理 策略

【秒杀购物商城业务服务】「分布式架构服务」盘点中间件服务的高可用模式及集群技术的方案分析

- 基于MySQL数据库集群技术实现服务的高可用 - 基于Tomcat的集群负载机制实现Tomcat服务器的高可用 - 基于Nginx负载均衡机制实现负载均衡(介绍和配置) - 基于Redis缓存服务实现数据缓存控制相关介绍和技术点分析 - 对未来的分布式技术架构扩展和延伸介绍(包含云原生部分) ......

【深入浅出SpringCloud原理及实战】「SpringCloud-Alibaba系列」微服务模式搭建系统基础架构实战指南及版本规划踩坑分析

Spring Boot 应用程序在服务注册与发现方面提供和 Nacos 的无缝集成。 通过一些简单的注解,您可以快速来注册一个服务,并使用经过双十一考验的 Nacos 组件来作为大规模分布式系统的服务注册中心。 ......

Mqttnet内存与性能改进录

1 MQTTnet介绍 MQTTnet是一个高性能的 .NET MQTT库,它提供MQTT客户端和MQTT服务器的功能,支持到最新MQTT5协议版本,支持.Net Framework4.5.2版本或以上。 MQTTnet is a high performance .NET library for ......
内存 性能 Mqttnet

架构设计(三):引入缓存

架构设计(三):引入缓存 作者:Grey 原文地址: 博客园:架构设计(三):引入缓存 CSDN:架构设计(三):引入缓存 缓存是一个临时存储区域,如果请求的数据获取代价比较高或者数据的访问频率比较高,则会把响应结果存储在内存中,以便更快速地提供后续请求。 每次加载一个新的网页,都要执行一次或多次数 ......
缓存 架构

架构设计(一):从单服务器模式到负载均衡设计

架构设计(一):从单服务器模式到负载均衡设计 作者:Grey 原文地址: 博客园:架构设计(一):从单服务器模式到负载均衡设计 CSDN:架构设计(一):从单服务器模式到负载均衡设计 单服务器模型是最简单的一种架构,参考如下图 用户访问一个 URL,URL 会先到 DNS 服务器进行域名解析,然后返 ......
架构 模式 服务器

MongoDB - 数据模型的设计模式

在实际开发中,大多数性能问题都可以追溯到糟糕的模型设计。官方也提供分享过文档模型设计的进阶技巧,这里简单翻译记录一下。 ......
设计模式 模型 MongoDB 模式 数据

看完这篇,还不懂JAVA内存模型(JMM)算我输

欢迎关注专栏【JAVA并发】 前言 开篇一个例子,我看看都有谁会?如果不会的,或者不知道原理的,还是老老实实看完这篇文章吧。 @Slf4j(topic = "c.VolatileTest") public class VolatileTest { static boolean run = true; ......
模型 内存 JAVA JMM

一文搞懂蓝牙模块各种工作模式

​ 摘要:本文主要归纳总结蓝牙模块的不同工作模式,通过蓝牙模块不同的工作模式了解其扮演不同角色时工作的一个基本原理,为更深入的研究蓝牙模块底层的工作机制和技术方案进行铺垫。 1、主设备工作模式 主设备是能够搜索别人并主动建立连接的一方,从扫描状态转化而来的。其可以和一个或多个从设备进行连接通信,它会 ......
模块 模式

Dubbo架构设计与源码解析(三)责任链模式

作者:周可强 一、责任链模式简介 1、责任链模式定义 责任链(Chain of Responsibility)模式的定义:为了避免请求发送者与多个请求处理者耦合在一起,于是将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。 ......
架构 源码 模式 责任 Dubbo

深入理解 Python 的对象拷贝和内存布局

在本篇文章当中主要给大家介绍了 python 当中对象的拷贝和内存布局,以及对对象内存地址的验证,最后稍微介绍了一下 cpython 内部实现列表的结构体,帮助大家深入理解列表对象的内存布局。 ......
拷贝 布局 对象 内存 Python

Mybatis缓存机制

什么是缓存? 为什么使用缓存? 什么场景下使用缓存? 缓存(Cache)就是数据交换的缓冲区,一个临时存储数据的地方,当我们读取数据时会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话再从内存中找。 在实际开发中,我们会经常对数据库进行数据查询,而从数据库读取数据的效率是非常低下的,并且 ......
缓存 机制 Mybatis

(Java)设计模式:行为型

前言 此篇博文内容续接的是 UML建模语言、设计原则、创建型设计模式 的内容,有兴趣的可以点前面的链接去看一下 3.2、行为型 这类设计模式是专门用于:对象间的高效沟通和职责委派 * 3.2.1、chain of responsibility 责任链模式 定义:责任链模式又名职责链模式,指的是:对某 ......
设计模式 行为 模式 Java

(Java)设计模式:创建型

前言 这篇内容是从另一篇:UML建模、设计原则 中分离出来的,原本这个创建型设计模式是和其放在一起的 但是:把这篇创建型设计模式放在一起让我贼别扭,看起来贼不舒服,越看念头越不通达,导致老衲躺在床上脑海中冒出来时都睡不着了 因此:最后实在受不了了,还是将其抽离出来 3、设计模式 分类: 注:使用设计 ......
设计模式 模式 Java

重新认识下JVM级别的本地缓存框架Guava Cache——优秀从何而来

作为缓存系列专栏内容,秉持着不重复造轮子的理念,本篇文章中我们就开始深入剖析JAVA本地缓存的优秀轮子 —— 来自Google家族的Guava Cache。聊一聊其实现机制、看一看如何使用。 ......
缓存 框架 级别 Guava Cache

重新认识下JVM级别的本地缓存框架Guava Cache(3)——探寻实现细节与核心机制

本篇文章我们将进一步探讨下Guava Cache 实现层面的一些逻辑与设计策略,让我们可以对Guava Cache整体有个更加明朗的认识,促进实际使用中对其的理解。 ......
缓存 框架 细节 级别 机制

重新认识下JVM级别的本地缓存框架Guava Cache(2)——深入解读其容量限制与数据淘汰策略

对于缓存容器而言,容量限制与数据淘汰是两个基础且核心的关键点,也是实际使用的时候使用频率最高的特性。本篇在上一文基础上深入解读下Guava Cache中的容量限制与数据淘汰策略的实现与使用约束。 ......
缓存 框架 容量 级别 策略

【Java并发入门】02 Java内存模型:看Java如何解决可见性和有序性问题

如何解决其中的可见性和有序性导致的问题,这也就引出来了今天的主角——Java 内存模型。 一、什么是 Java 内存模型? 导致可见性的原因是缓存,导致有序性的原因是编译优化,那解决可见性、有序性最直接的办法就是禁用缓存和编译优化,但这样虽然解决了问题,但也导致带来的性能优化都没了。 因此,解决方案 ......
有序性 Java 模型 内存 问题