自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(168)
  • 资源 (2)
  • 收藏
  • 关注

原创 中间件 | RocketMq - [broker 配置]

【代码】中间件 | RocketMq - [broker 配置]

2025-01-09 16:53:05 406

原创 原理 | dubbo [与 springboot 整合时服务导出的触发]

原理 | dubbo [与 springboot 整合时服务导出的触发]

2024-12-17 17:46:18 1015

原创 架构 | 调优 - [zookeeper]

如果降低 snapshot 频率过低,不会占用太多磁盘,但从磁盘恢复节点的状态就会过长。如果增加 snapshot 频率过高,会占用大量磁盘,但从磁盘恢复节点速度回提高。zookeeper 的文件系统是一个内存数据库,日志系统同时是其持久化方式。配置不合理时,可能导致触发自动清理前日志文件就把磁盘打满了,引发故障。下面 4 个配置直接控制快照与事务日志的生成,日志会直接占用磁盘。如果自动清理频率过低,会增加触发清理前打满磁盘的风险。如果自动清理频率过高,可能导致无端占用系统资源。

2024-12-04 18:53:28 1035

原创 架构 | 基于 crontab 进程监控增强集群可用性

集群的高可用性可以直接简明的使用 SLA 来衡量,无所谓其他指标。正常来讲,高可用对应了一整套方案,包括预防:降低故障概率发现:快速发现故障、甚至定位问题恢复:快速恢复集群,这里只强调恢复集群可用性说白了就是降低发病频率,然后早发现早治疗预防降低故障概率有两个主要方向完善工作流程:包括制定研发红线、编码规范、测试规范、标准上线流程比如,将灰度发布、线上验证、全量发布作为标准上线流程,将可灰度、可回滚、可观测作为必备指标可以极大降低新迭代的业务发生问题的概率并控制影响范围完善异常场景处理。

2024-11-28 21:38:34 721

原创 微服务架构 | nacos - [配置上线规范]

nacos 配置中心上线规范

2024-11-15 11:55:06 894

原创 微服务架构 | nacos - [标准化接入: 各种类型引用]

标准化接入: 各种类型引用

2024-11-15 10:27:44 1058

原创 微服务架构 | nacos - [标准化接入: springcloud]

标准化接入: springcloud

2024-11-14 19:09:28 497

原创 微服务架构 | nacos - [标准化接入: springboot]

标准化接入: springboot

2024-11-14 18:10:22 746

原创 架构 | 数据归档

上述归档行为均有各自适合的场景,但存储条件允许的前提下,能不删减信息就不删减信息,能不改变数据结构就不改变数据结构。数据迁移的本质就是数据的复制,只有主动拉数和被动接受两个大方案,二者之间只是封装范围不同。归档数据范围的划分,按时间范围截断,通常原库中保留 2/3/6 个月数据,其余归档走。数据移走后,不能影响现有业务的使用,需要继续保留被更新的能力(不存在完全冷掉的数据)数据归档就是把一坨数据挪走,换一个地方存放,然后把原来的数据干掉。最后,结合各档位数据决定迁移的数据范围,按下表进行总结。

2024-07-04 18:44:23 1720

原创 微服务架构 | nacos - [自动刷新配置方式 & 失效排查]

阿里系依赖普遍对版本要求较高,高低版本不兼容情况相对叫较高。nacos server 中配置修改后,会主动推送。项目中,极力推荐尽量排除所有依赖冲突,可以使用。,关键方法如下,有必要时可在此方法处断点观察。主要受影响的是下面的包,可在上图中搜索。试图排查:干掉尽可能多的红色虚线。通常发生在配置文件中手动指定了。nacos 的配置中心主要。依赖冲突可能导致部分类报。

2024-06-13 11:55:59 865

原创 线上 | OpenSergo - [规范]

OpenSergo 是一个未完工的成体系的规范,Sentinel 天然完成了此规范的部分实现,并且 Sentinel 2.0 符合 OpenSergo 规范。OpenSergo 是一套服务治理规范,需要持有服务信息才能对应的进行治理,这些信息由服务方上报,即服务元数据服务元数据通过。流量特征: 流量路由的核心方法就是对所有流量进行归纳拆分,归纳拆分的依据就是流量特征 比较容易理解的流量特征比如。可以类比 sentinel 的 fallbackMethod,可以指定触发规则的行为,比如返回一个定制的结果。

2024-05-30 16:16:58 1014 2

原创 线上 | Arthas - [全书]

help。

2024-05-30 11:03:39 1090

原创 微服务架构 | 优雅停机 - [完整方案]

【代码】微服务架构 | 优雅停机 - [完整方案]

2024-04-03 14:46:12 225

原创 数据库 | Mysql - [binlog]

Mysql server 的日志文件自动开启。

2024-03-17 17:05:43 281

原创 基础 | 并发编程 - [线程状态]

【代码】基础 | 并发编程 - [线程状态]

2024-03-13 22:04:52 288

原创 中间件 | Kafka - [常见问题]

【代码】中间件 | Kafka - [消息丢失]

2024-03-13 19:04:24 426

原创 中间件 | RabbitMq - [AMQP 模型]

AMQP,即高级消息队列协议(Advanced Message Queuing Protocol),整体架构如下图。

2024-03-12 22:30:41 613

原创 中间件 | RPC - [Dubbo]

Dubbo 的服务导出机制,其实就是从服务启动到注册到注册中心的过程,在。spi 是 JDK 已经实现了的规范,Dubbo 独立实现了一套。当不配置时,若 provider 无可用节点会报。Dubbo 2.7.6 开始,支持 3 种注册方式。同接口有多个版本需要兼容,消费者只会调用同组提供者。与之相对的,Dubbo 的订阅方式也有 3 种。同接口多实现配置,消费者只会调用同组提供者。其目的在于在多实现接口中仅实例化需要的实现。有详细解释(放心看,中文的)Spring 启动后发送的。

2024-03-12 19:48:26 1167

原创 微服务架构 | 服务稳定性治理

常用工具常用限流算法

2024-03-11 21:30:19 236

原创 微服务架构 | 架构演进

完整项目拆分为多个服务,所有服务均集群部署。完整部署 n 份项目,前面加负载均衡。

2024-03-11 12:59:05 300

原创 基础 | JVM - [指令 & 性能监控]

JDK 的指令是指类似下面的指令。如下图,红框即进程号。常使用此指令排查死锁。jstack 进程号。

2024-03-10 14:08:17 352

原创 基础 | JVM - [JVM 调优]

但是,按传统线程估算方式,最大不过 2N,且线程过多后切换线程上下文的开销也很客观,因此如无特殊需要不去调整。GC 是为了收拾 JVM 干活过程中产生的垃圾,那么当然 JVM 可用的空间越小越需要频繁的收拾。:最小堆内存(初始值),需要和最大内存保持一致,否则可能刚启动 JVM 就频繁 Full GC 扩容,极端情况下堆可能不能扩展到最大值。,目前已经开辟为 region 的内存,使用多少比例后触发开辟新的 region。:使用多少比例后开始 CMS 收集,默认 2/3,需要在实际环境中根据现象调整。

2024-03-10 13:43:17 650

原创 中间件 | Redis - [全局 hash & 渐进 rehash]

INDEX§1 全局 hash 表§2 渐进式 rehash§1 全局 hash 表全局 hash 是 redis 管理所有 key 的方式就好像 mysql 中,所有数据库表、字段的信息依然存在表中redis 中所有 key 的信息都存在一个全局的 hash 中§2 渐进式 rehash传统 rehash 有什么问题传统 rehash 是买断式的,触发 rehash 后,需要在连续的时间内完成hash 的扩容所有现存 entry 的 rehash这种方式并不适用于 redisr

2024-03-08 21:04:14 516

原创 微服务架构 | nacos - [Distro 协议 & 注册中心]

Distro 协议具体实现。Distro 协议入口。

2024-03-08 14:21:08 516 2

原创 中间件 | Redis - [big-key & hot-key]

一般情况下,使用频率较低,使用方式正确的 big-key 是允许存在的,只会影响内存使用情况,导致不均匀。可以查看某个key是不是 big-key,主要是查看此 key value序列化之后的长度。可以找生成一个 big-key 分析摘要输出如下信息。

2024-03-07 21:23:16 439

原创 微服务架构 | 性能优化 - [核心思路] TBC...

Round Trip Time,往返时间,通常指数据在网络传输上消耗的时间。:并发操作导致的性能损耗,比如高并发下 cas 导致的性能浪费。:通常是指随机 IO 带来的性能损耗。

2024-03-07 18:56:03 253

原创 中间件 | Redis - [基本信息]

而 redis,本身也可以作为分布式事务数据的持久化容器,这是因为大部分分布式事务的处理过程中,最终分布式事务数据是要被物理删除的。分布式事务中,核心的技术难点其实是分布式事务这个事本身作为数据的持久化。最常见用法,需要注意分布式锁的redis需要单点。并发量较低、业务模型比较简单的分布式系统中可用。计数器、排行榜、统计、开关标记集。

2024-03-07 18:43:22 468

原创 微服务架构 | 实战常见数据

≥nodeCountTPS∗TP∗1.2​。

2024-03-07 18:02:57 441

原创 基础 | 安全 - [加密]

将消息经过摘要算法得到一个字符串,即数据指纹一般是 hash 算法得到一个固定长度的 hash 串,无论报文长度,此串长度固定更改任意一点报文后,得到的 hash 串的内容一般都会有很大的差别上述过程是不可逆的(但可以通过暴力映射,所谓的破解一部分)如果传输前后,数据指纹不一致,说明传输后得到的内容和期望的不同可能是数据在网络传输的过程中出现了错误可能是数据在网络传输的过程中被拦截并被伪造优点:简单,可以保证传输前后数据一致(但注意这里的传输只是保证了网络传输本身)缺点。

2024-03-07 17:36:05 1388

原创 基础 | 网络 - [网络模型]

OSI(Open System Interconnect),即开放系统互联模型,就是我们说的。TCP/IP,就是我们说的。,是对七层模型的封装简化。

2024-03-07 15:35:00 881

原创 微服务架构 | 多级缓存

通用设计思路如下图内容分发网络(CDN)可以理解为一些服务器的副本,这些副本服务器可以广泛的部署在服务器提供服务的区域内,并存有服务器中的一些数据。用户访问原始服务器时,其中的静态资源(比如banner图片、图标、js脚本、css文件、静态页面等)会由 CDN 分发到距离用户较近的副本服务器上并返回对应内容,加速访问效率原始请求经过 CDN 后,会自动按请求内容分发至距离合适的副本服务器或原始服务器OpenRestyOpenResty,附官网。

2024-03-05 19:09:15 895 1

原创 微服务架构 | 数据同步策略

同时写入需要同步的所有数据,比如同时写数据库和缓存,但需要保证所有写入必须同时成功或失败。常用于缓存,设置缓存数据的有效期,到期后按其淘汰策略删除,再次使用时重写加载。双删可以防止删缓存与写数据库之间发生读操作,导致读到脏数据。写入数据后,通过mq等异步方式通知需要同步的数据侧。常用于缓存,删除缓存,写数据库,等待,再删除缓存。通常在项目实践中多种数据同步按场景不同同时使用的。常见于跨服务数据同步,或binlog监听。

2024-03-05 18:58:18 416

原创 微服务架构 | Spring - [启动]

实际使用中,只推荐使用。

2024-03-04 23:53:44 310

原创 基础 | 并发编程 - [优雅的处理线程池异常]

问题的关键在于用线程池的行为代替线程池中任务的行为。

2024-01-07 15:27:27 384

原创 DDD | 入门 - [概念体系]

这里需要注意一个误区,领域是你公司进行整体的业务或其一部分,而不是你正在开发(或者既存)的项目中业务的一部分。这会导致很多开发人员认为自己目前项目中的一个模块就对应 DDD 中的一个领域,而事实上并不是,可能你的项目整体上只是你所在部门的一个领域,甚至你所在公司整体业务中划分出来的众多领域中的一个。而开发一个混沌的东西的前提是我们需要先能准确的描述它,在 DDD 的核心思路里,开发是一个以领域业务专家为核心,专家、需求提出人、研发人员一起协作的集体行为,因此这要求我们可以准确并且统一的描述目前混沌的部分。

2023-12-18 17:55:33 389

原创 微服务架构 | 超时管理

微服务架构 | 超时管理

2023-10-16 18:09:03 791

原创 一种看待 8 种基础数据结构的视角

那么数据之间的关联关系是怎么衍化的呢?我们可以这样看待数据结构:数据结构的本质是数据之间的关联关系。这是一件必然的事,否则不会出现刚刚提到的 8 中基础数据结构。,以这种关联关系为基础的数据结构,即数组,最初的数据结构。然后,我们可以这样认为:数据之间的关联关系是可以衍化的。最原始的关联关系只有一种,即。从数组开始,我们开始。

2023-08-22 14:34:53 187

原创 基础 | 日志 | 体系介绍

基础 | 日志 | 体系介绍

2023-07-20 18:03:30 677

原创 设计 | 未验证 | 限时独活worker

设计 | 未验证 | 限时独活worker

2023-02-19 20:15:20 161

原创 中间件 | Kafka - [指令]

中间件 | Kafka - [指令]

2022-11-06 17:49:02 753

spring 学习笔记

学习时自己整理的笔记,涉及spring的较多内容可以用来作为速查手册使用 建议使用EditPlus打开

2015-04-07

matlab 安装教程 2012a

详细的matlab2012a版安装教程,详细至每一步

2012-05-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除