自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 穿仓概念介绍

摘要: “穿仓”指金融杠杆交易中,账户亏损超过本金导致倒欠资金的现象。例如,1000 USDT本金使用10倍杠杆操作,若市场剧烈波动且无法及时平仓,亏损可能超过本金,形成穿仓。此时交易所需垫付差额,投资者需承担额外债务。穿仓通常由极端行情、流动性不足或系统延迟导致,是高风险杠杆交易的主要后果之一。

2026-06-02 01:59:39 216

原创 做市商概念

做市商是为市场提供流动性的机构或个人,通过同时挂出买卖报价成为随时可交易的对手方。其核心盈利模式是赚取买卖价差(如99,900买入/100,100卖出),而非预测市场方向。主要作用包括:确保市场随时可成交、缩小买卖价差、提升交易深度并降低滑点,以及促进价格连续性。与普通交易者不同,做市商通过维持双向报价获取稳定价差收益,而非依赖资产价格涨跌。这种机制显著提升了市场流动性和运行效率。

2026-06-02 01:58:03 223

原创 常用排序算法

本文总结了常见排序算法的核心思想与性能特点。冒泡排序通过相邻元素比较交换实现排序;选择排序每次选择最小值放到前面;插入排序类似整理扑克牌。快速排序采用分治策略,工程应用广泛;归并排序通过二分合并实现稳定排序;堆排序利用完全二叉树特性。性能对比显示:快速排序平均最快(O(n log n)),归并排序最稳定,堆排序最省空间(O(1))。小数据适合插入排序,链表适合归并排序。表格对比了各算法的时间复杂度、空间复杂度及稳定性。

2026-05-28 13:34:30 21

原创 爆仓价格系数推导

摘要 本文分析了加密货币合约交易中多仓和空仓的爆仓机制。对于多仓,爆仓条件为权益等于维持保证金,计算公式为E + (P - Open)Q = PQ(keep+fee)。空仓的爆仓条件类似,但公式为E + (Open - P)Q = PQ(keep+fee)。所有主流交易所(Binance、Bybit、OKX、BitMEX)的核心爆仓系统原理相同,区别仅在于是否加入资金费率、手续费缓冲、阶梯强平或自动减仓机制。

2026-05-22 23:29:04 34

原创 Spring

摘要: Spring框架的核心技术包括AOP(面向切面编程)、IOC(控制反转)和事务管理。AOP通过切面、连接点、切点等概念实现横切关注点的分离,使用动态代理(JDK/CGLIB)增强方法。IOC通过容器管理对象生命周期和依赖注入,降低耦合度。Spring事务管理支持ACID特性,提供声明式和编程式两种方式。此外,Spring广泛应用多种设计模式(如单例、工厂、代理等)实现解耦和扩展性。Bean生命周期包含实例化、依赖注入、初始化等阶段,提供多个扩展点。依赖注入推荐使用@Autowired(按类型)而非@

2026-05-19 19:37:52 933

原创 资金费率概念

资金费率是永续合约市场的核心调节机制,通过多空双方定期支付费用来锚定合约价格与现货价格。当市场看涨时(正费率),多头支付空头;看跌时(负费率),空头支付多头。费率高低直接影响持仓成本,长期持仓可能面临持续费用支出。同时,资金费率也反映市场情绪,极端值可能预示反转信号。此外,它创造了套利机会,如现货做多同时合约做空可获取费率收益。本质上,资金费率是多空之间的平衡机制,确保永续合约价格贴近现货,交易所仅作为结算中介不收取该费用。

2026-05-17 01:52:31 56

原创 仓位和订单

文章摘要:订单是交易请求(如买入BTC或卖出ETH),包含交易对、买卖方向、类型、价格和数量等字段,其生命周期包括创建、撮合和成交/撤单。仓位是订单成交后持有的资产数量,现货仓位即账户余额,合约仓位则包含方向、数量、开仓价和杠杆等信息。现货交易无借贷和爆仓机制,而合约交易需管理保证金,分为逐仓(独立保证金)和全仓(共用保证金)两种模式。订单属于撮合系统,仓位则归账户/风控系统管理。

2026-05-17 01:48:13 341

原创 CFD 差价合约

摘要: CFD(差价合约)是一种金融衍生品,交易者仅买卖资产价格波动的差价,不持有实物资产。其特点包括杠杆交易、多空双向操作和无到期日,与数字货币永续合约高度相似。CFD通常采用做市商模式(B-Book),平台作为对手方,无需真实撮合;少数采用STP/ECN模式,接近交易所机制。相比之下,币圈永续合约多为用户间撮合(CLOB),需复杂撮合引擎。CFD系统更侧重风控、保证金和强平管理,而大型CFD平台可能整合流动性聚合与智能路由功能。两者在架构设计上存在共通性,但核心差异在于交易对手方和撮合机制。

2026-05-16 20:12:32 552

原创 ADL 概念

摘要:ADL(自动减仓)是合约交易所的最后风控机制,用于处理极端行情下的流动性危机。当用户爆仓后市场无法承接时,ADL会强制平仓盈利最多的对手方仓位来对冲坏账。其运作流程为:强平引擎尝试市场平仓→保险基金垫付→ADL介入。ADL按盈利率×杠杆倍数排序减仓,技术要求极高,需实时处理全市场仓位数据。这套机制与强平系统、保险基金共同构成交易所核心风控链路,防止系统性穿仓风险,保障平台稳定运行。(149字)

2026-05-16 20:11:48 42

原创 pnl 概念

PnL(盈亏)是交易系统的核心概念,表示当前盈利或亏损金额。在合约交易中尤为重要,涉及杠杆、浮盈浮亏、强平和保证金。PnL分为未实现盈亏(浮盈浮亏)和已实现盈亏(实际到账利润)。它不仅显示数字,还直接影响账户权益、保证金率和强平风险。交易所通过实时监控PnL来评估用户和系统风险,包括自动减仓(ADL)风险。PnL是衡量交易表现和风险管理的关键指标。

2026-05-16 19:47:47 19

原创 MTM 结算

摘要:MTM(盯市结算)是合约系统的核心机制,通过最新市场价格重新计算仓位盈亏并更新账户权益。它实时反映浮动盈亏,决定用户权益、保证金率和爆仓风险,是风控的基础。与已实现盈亏不同,MTM仅记录未平仓位的浮动盈亏。交易所常采用增量MTM方式,仅结算有变动的用户数据。MTM对合约系统至关重要,缺失将导致无法准确计算盈亏、评估风险和触发强平,使整个系统失效。(149字)

2026-05-16 19:39:52 40

原创 OTC 模式

OTC场外交易模式解析 OTC是买卖双方直接协商的点对点交易,平台仅提供担保与风控服务,不涉及撮合引擎或订单簿。其核心功能是连接法币与加密货币系统,解决出入金需求(如人民币兑换USDT)。技术重点在于风控体系,包括账户风险评估、商家评级、自动仲裁和资金冻结链路,以防范冻卡、欺诈等风险。OTC系统更接近电商担保交易模式,依赖支付和风控技术,而非传统交易所的撮合引擎与深度盘口。

2026-05-16 19:18:51 49

原创 测试用例详解

测试类型对比摘要 E2E测试、集成测试、API测试和单元测试构成完整测试体系,各有侧重: E2E测试 - 模拟真实用户操作,验证整个系统流程(前端到后端),覆盖最广但速度最慢,适合核心业务流程验证。 集成测试 - 验证模块间协作(如服务+DB+Redis),比单元测试更真实,比E2E更轻量,使用Testcontainers等工具测试真实组件交互。 API测试 - 通过HTTP请求验证接口契约,不涉及UI,比E2E更快,是后端主要测试手段,常用Postman/RestAssured工具。 单元测试 - 针对最

2026-05-03 03:07:06 580

原创 互动模块 API

本文介绍了社交平台中点赞、取消点赞和发表评论三个核心功能的API设计与实现要点: 点赞功能: 使用POST方法创建点赞关系,通过token验证用户身份 采用幂等设计防止重复点赞(唯一索引方案) 点赞计数采用Redis缓存或异步更新优化性能 返回即时更新的点赞数提升用户体验 取消点赞功能: 使用DELETE方法删除点赞关系 同样需要保证幂等性 计数更新需注意并发安全和防止负数 推荐与点赞保持对称设计 关键设计考量: 都采用token验证替代显式user_id传递 返回操作后的最新计数避免二次查询 需处理边界情

2026-05-03 00:22:29 603

原创 关注模块 API

本文介绍了社交平台中关注与取消关注功能的接口设计与实现要点。 关注功能设计: 使用POST方法创建关注关系,参数只需目标用户ID 后端通过token识别当前用户 采用数据库唯一索引保证幂等性 需更新用户关注数/粉丝数计数 会影响Feed内容推送策略 取消关注设计: 当前使用POST方法,建议改为DELETE更符合REST规范 应统一返回relation_type字段保持接口一致性 取消操作天然幂等,未关注时也应返回成功 需处理计数减量并防止负数 对Feed内容采取"保留历史,停止未来推送&quot

2026-05-01 19:28:08 506

原创 Feed 流 API

这篇文章分析了两个微博接口的设计思路: 首页Feed接口 /api/v1/feed/home 采用cursor分页模式,避免传统分页的性能问题 返回结构采用去范式化设计,包含用户信息、内容、媒体和互动数据 后端可能采用Push/Pull混合模式生成Feed流 优化点包括字段裁剪、刷新机制和Feed类型扩展 用户微博列表接口 /api/v1/users/{user_id}/posts 同样是cursor分页,保证分页稳定性 相比Feed接口更简单,直接查询单用户发帖记录 重点关注索引设计,建议使用(user_

2026-05-01 18:05:33 586

原创 微博模块 API

微博API接口设计摘要 微博API接口设计采用RESTful风格,主要包含发布微博和获取微博详情两个核心功能: 发布微博(POST /api/v1/posts): 需要Bearer Token认证 支持文本(140字限制)、媒体资源(通过media_ids引用)、地理位置和话题标签 采用"上传服务+内容服务解耦"设计 支持可见性控制(公开/私有/粉丝可见等) 返回新微博ID和创建时间 获取微博详情(GET /api/v1/posts/{post_id}): 同样需要认证以获取个性化数据

2026-05-01 02:52:38 518

原创 用户模块 API

用户登录系统通常采用"短期access_token+长期refresh_token"的设计方案。注册和登录接口会返回user_id、token、refresh_token和expires_in等关键字段,实现以下目标: 建立登录态:注册后直接返回token,避免二次请求登录接口 安全与体验平衡:短期token(2小时)保证安全性,长期refresh_token(7-30天)实现无感刷新 用户标识:user_id作为核心身份标识,减少额外请求 退出登录时,系统通过删除refresh_tok

2026-04-30 23:49:47 609

原创 技术框架选型

摘要: 现代分布式系统中,gRPC + Protocol Buffers 和 OpenFeign 是两种主流的通信方案。gRPC 基于 HTTP/2 和二进制协议,性能更高,适合微服务内部通信、高并发场景及多语言架构;而 OpenFeign 基于 REST(HTTP/1.1 + JSON),集成简单,适合传统 Spring Cloud 体系及 CRUD 业务。 趋势: gRPC 在云原生环境下增长迅速,而 OpenFeign 趋于稳定。实际应用中,内部服务调用优先使用 gRPC,对外 API 仍采用 RES

2026-04-30 02:31:12 524 1

原创 微服务基础

微服务系统设计与问题排查摘要 微服务设计需考虑服务划分、通信方式、数据一致性、服务发现、容错监控、部署运维和安全等方面。合理拆分服务粒度,采用同步/异步通信,确保数据最终一致性,实现服务注册发现,建立熔断限流机制,并做好容器化部署和安全防护。 当服务调用变慢时,需区分持续性高延迟和间歇性高延迟。持续性慢可能由代码变更、慢SQL、资源不足等引起,建议检查版本变更、系统资源和链路追踪。间歇性慢可能源于网络抖动、GC卡顿或缓存问题,应分析GC日志、缓存命中率和网络状况。排查时结合链路追踪、系统监控和日志分析定位问

2025-05-05 17:26:57 790

原创 雪花算法概念

轻量应用:使用逻辑时间戳 + 5ms 容忍机制,性能高、风险小核心系统:引入持久化、集群协调(如 Leaf 或 Redis + Zookeeper)高可用系统:多机房、ID 服务集群、避免单点。

2025-05-05 17:00:47 1501

原创 Nacos

Nacos是一个默认AP模式的分布式系统,同时支持部分CP能力。1.x版本采用AP模型,强调高可用性;2.x引入Raft协议,支持配置管理的CP模式。系统通过配置dataConsistency参数(embedded/raft)来调整一致性策略,但没有全局AP/CP切换开关。Nacos本质上是以AP为主、部分功能支持CP的混合型系统,2.x版本在配置管理等场景可通过Raft实现强一致性。

2025-05-03 16:45:45 1173

原创 如果 WebSocket 断开了,交易所一般怎么处理行情和订单同步补偿?

步骤处理方法发现断开立即重连WebSocket补拉快照用HTTP API拉最新快照(订单簿或账户信息)衔接增量应用快照后收到的WebSocket增量消息补齐同步本地数据和服务器一致后继续实时推送✅ 这样就算WebSocket断了,也能完整同步,不漏数据。✅ 这是币圈交易所设计稳定跟单系统、做市系统时必须要做的防护措施。Session复用,也叫连接恢复(session resume)你WebSocket断开后,重新连接时,不用从头订阅所有内容。而是带上。

2025-04-28 10:23:27 2318

原创 Kafka

Kafka是一个分布式流处理平台,最初由LinkedIn开发,用于高效处理海量日志数据。它具有高吞吐、持久化存储、分布式架构等优势,支持消息队列、日志采集、实时数据处理等多种应用场景。Kafka采用生产者-消费者模型,通过Topic组织数据,分区存储在Broker集群中,确保高可用性和扩展性。其发展历程从2010年至今,逐步增强事务支持、Exactly Once语义,并实现无Zookeeper的KRaft模式。Kafka已成为现代数据架构的核心中间件,广泛应用于系统解耦、实时分析、监控告警等领域。

2025-04-06 19:47:11 1666

原创 kafka 存储文件结构

Kafka的存储结构设计是其高吞吐性能的核心,采用顺序写入、分段存储和索引机制。每个分区数据以日志文件形式存储,包含.log(消息数据)、.index(偏移量索引)和.timeindex(时间戳索引)三种文件类型。日志文件按固定大小切分(通常1GB),采用稀疏索引设计提高查询效率。消息存储包含CRC校验、元数据和有效载荷三部分,支持基于时间和大小的清理策略,以及日志压缩功能。这种结构设计实现了高效的消息持久化、快速定位和过期数据管理,是Kafka高性能的关键保障。

2025-04-06 19:35:06 1717

原创 Mysql

MySQL索引类型及优化摘要 MySQL支持多种索引类型,包括B+树索引(InnoDB/MyISAM)、哈希索引(Memory)、全文索引(文本搜索)和聚簇/非聚簇索引。索引设计需注意:选择高基数列、合理使用单列/复合索引、避免过多索引影响性能、遵循最左匹配原则。常见索引失效情况包括:使用OR条件、NOT/IS NULL操作、函数处理索引列、LIKE前缀通配符、ORDER BY不匹配索引、DISTINCT/GROUP BY无索引支持等。优化建议:分析查询模式创建合适索引,使用EXPLAIN验证执行计划,定期

2025-04-04 19:24:25 850

原创 网络编程基础

HTTP/HTTPS请求流程主要包括DNS解析、TCP连接建立、请求发送、服务器处理、响应返回及浏览器渲染。HTTPS在HTTP基础上增加了SSL/TLS加密,通过握手过程确保安全通信。Netty作为高性能Java网络框架,采用NIO非阻塞架构、高效线程模型、零拷贝技术及内存优化,显著提升并发处理能力。其事件驱动机制和可扩展设计使其适用于多种协议场景,成为构建高并发网络应用的首选方案。

2025-04-03 18:00:16 2720

原创 Kubernete

Kubernetes 摘要 Kubernetes(K8s)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用。其核心架构采用主从模式,包含控制节点(Master)和工作节点(Node)。Master节点运行kube-apiserver、etcd、kube-scheduler等组件,负责集群管理;Node节点运行kubelet、kube-proxy和容器运行时,执行具体工作。K8s通过Pod作为最小调度单元,支持自动部署、资源管理、故障恢复、滚动更新和负载均衡等功能。常见Pod重启原因包括应用崩溃

2025-03-27 11:49:43 3167

原创 Redis 基础

Redis缓存优化与分布式锁实现 摘要:本文探讨Redis缓存命中率下降的解决方案,包括减少缓存穿透(布隆过滤器、空值缓存)、击穿(热点Key续期)和雪崩(随机过期时间)。同时分析Redis高效数据结构(String、Hash等)及其底层实现。针对并发问题,提出乐观锁(WATCH)、悲观锁(SETNX)和Lua脚本等解决方案。最后介绍单实例分布式锁实现,通过Lua脚本确保原子性操作,使用EXISTS检查锁状态,SETNX获取锁并设置过期时间,保障分布式环境下的数据一致性。

2025-03-27 11:15:04 1584

原创 CPU 密集型 vs IO 密集型

CPU密集型(Compute-intensive)是指主要依赖 CPU 进行计算的任务或应用程序,通常涉及大量的数学运算、复杂的逻辑处理,而对 I/O 操作(如磁盘、网络等)需求较少。-O2-O3I/O 密集型任务指的是主要受限于 I/O 设备(如磁盘、网络、数据库等)而非 CPU 计算能力的任务。这类任务的特点是 CPU 大部分时间都在等待 I/O 操作完成,而不是进行计算。

2025-03-12 00:53:35 1200

原创 Java 内存模型(JMM)

Java 内存模型提供了一种抽象机制,确保多线程程序的安全性和可预测性。开发者需要熟练掌握原子性、可见性、有序性以及工具(如 volatile 和 synchronized),才能在多线程编程中正确使用 JMM,避免并发问题。

2024-12-29 19:21:25 1399

原创 Synchronized vs ReentrantLock

摘要:Synchronized和ReentrantLock是Java中两种主要的同步机制。Synchronized是关键字,自动获取释放锁,基于JVM实现,支持可重入但无法保证公平性;ReentrantLock是类,需要手动加解锁,提供更灵活的锁控制,支持公平锁、可中断锁和尝试获取锁。Synchronized底层通过Monitor机制实现,利用对象头和Mark Word管理锁状态,包含偏向锁、轻量级锁和重量级锁的优化。同步代码块使用monitorenter/monitorexit指令,而同步方法通过ACC_

2024-12-06 14:37:00 1212

原创 Java 线程池

Java 中的线程池是一种管理和复用线程的机制,旨在提高性能和资源利用率。线程池的基本思想是创建一定数量的线程并将其放入池中,以便可以重用这些线程来执行任务,而不是为每个任务创建新线程。这样可以减少线程的创建和销毁所带来的开销。

2024-12-06 11:53:39 1177

原创 数据结构基础

Hashtable 是基于哈希表的,因此操作的时间复杂度通常为 O(1),但由于是同步的(线程安全),在现代应用中常被其他更高效的集合类替代,例如 ConcurrentHashMap。:在 Java 中,HashMap 是一种常用的集合类,它实现了 Map 接口,允许通过键(key)来存储和访问值(value)。:在 Java 中,HashSet 是一个实现了 Set 接口的集合类,用于存储唯一的元素,即它不允许重复的元素。:在 Java 中,数组是一种数据结构,用于存储多个相同类型的元素。

2024-12-06 11:49:41 1052

原创 JVM 模型

在 JVM(Java Virtual Machine)中,虚拟机栈(Java Virtual Machine Stack,简称 JVM 栈)是每个线程在执行 Java 程序时创建的私有内存区域。当方法执行完成后,对应的栈帧会从栈中弹出。它的工作原理是:当一个类加载器收到类加载请求时,它会首先将该请求委托给父加载器去处理,只有当父加载器无法加载时,才由当前加载器自己去加载。在 JVM 中,垃圾回收(Garbage Collection,GC)是自动管理内存的机制,旨在回收不再使用的对象,释放内存资源。

2024-12-06 11:46:53 1457

原创 Java 基础

本文介绍了Java中的几个核心概念: equals与hashCode:重写equals必须重写hashCode,确保哈希表操作正确性 Comparator与Comparable:Comparable定义自然排序,Comparator支持自定义排序 泛型通配符:extends用于读取(上界),super用于写入(下界) 方法重载与重写:重载是同名不同参,重写是子类覆盖父类方法 继承限制:构造方法不可继承/重写,私有方法不可继承,静态方法可隐藏 访问修饰符:public>protected>default>pr

2024-10-13 02:25:39 1210

原创 RocketMQ

漏消费问题:通过消费进度管理、重试机制和消息持久化,RocketMQ 能有效防止漏消费。重复消费问题:虽然 RocketMQ 保证至少一次投递,但消费者需要通过幂等性设计来避免重复消费对业务造成的影响。事务消息机制:RocketMQ 提供的事务消息机制可以帮助在分布式事务场景中,确保消息消费的准确性和一致性。通过以上机制,RocketMQ 在高可靠性消息系统中提供了强大的保障,防止消息漏消费和重复消费问题。管理 事务消息。

2024-10-07 01:07:04 2887

原创 Nginx

客户端发送请求,Nginx 作为反向代理首先接收请求。Nginx 根据配置,将请求通过负载均衡策略分发到多个 Gateway 实例。如果某个 Gateway 实例不可用,健康检查模块可以将其剔除。Gateway 接收到请求后,根据自身配置的路由规则,将请求转发到下游的微服务。Gateway 将微服务的响应返回给 Nginx,Nginx 最终将响应发送给客户端。

2024-09-20 14:53:07 1729

空空如也

空空如也

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

TA关注的人

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