Opentracing 链路追踪实战 发表于 2021-10-12 | 分类于 分布式 链路追踪的作用当系统架构从单机转变为微服务后,我们的一次后端请求,可能历经了多个服务才最终响应到客户端。如果请求按照预期正确响应还好,万一在调用链的某一环节出现了问题,排查起来是很麻烦的。但是如果有链路追踪的话,就容易很多了。 可以通过链路埋点,记录请求链中所有重要的步骤,例如与哪些数据库做了交互, ... 阅读全文 »
聊聊 IO 多路复用 发表于 2021-09-02 | 分类于 Java 像 Nginx 这种以高并发高性能闻名的项目,之所以性能如此优秀,其原因是使用了 IO 多路复用技术,可以用最少的进程来支持大量的请求。本文和大家一起聊聊什么是 IO 多路复用,它能带来什么 常见的 IO 模型 所有的 IO 都分为两个阶段:”等待数据就绪” 和 “拷贝到用户空间”。 我最开始不熟悉 ... 阅读全文 »
Sentinel 热点参数限流原理 发表于 2021-07-28 | 分类于 Java 何为热点热点即经常访问的数据。很多时候我们希望统计某个热点数据中访问频次最高的 Top K 数据,并对其访问进行限制,比如: 商品 ID 为参数,统计一段时间内最常购买的商品 ID 并进行限制 用户 ID 为参数,针对一段时间内频繁访问的用户 ID 进行限制 版本本文基于 1.8.0 如何使用1 ... 阅读全文 »
权重随机(Weight random)算法详解 发表于 2021-07-14 | 分类于 Java 应用场景 客户端负载均衡,例如 Nacos 提供的客户端负载均衡就是使用了该算法 游戏抽奖(普通道具的权重很高,稀有道具的权重很低) 本文目标Java 实现权重随机算法 算法详解比如我们现在有三台 Server,权重分别为1,3,2。现在想对三台 Server 做负载均衡 1234Server1 ... 阅读全文 »
深入理解 Sentinel 中的限流算法 发表于 2021-06-22 | 分类于 Java 最近在学习 Sentinel,深入学习了源码之后分享一下心得 Sentinel 版本1.8.0 固定窗口算法先介绍一下最简单的限流算法 每个窗口都有一个计数器(counter)用于统计流量,如果 counter + 本次申请的请求数 > 预设的 QPS,则拒绝请求。 固定窗口很简单,但是 ... 阅读全文 »
聊聊 Java GC 算法 发表于 2021-05-18 | 分类于 Java Java 和 C++ 之间有一堵由内存动态分配和垃圾回收技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来 今天来聊聊 Java GC(Garbage Collection,垃圾回收)中的常见算法 引用与GC的关系正题开始前,先来了解一下 Java 中的引用。对象使用不同的引用类型,决定 G ... 阅读全文 »
Oracle LogMiner 数据迁移实战 发表于 2021-04-20 | 分类于 DB LogMiner 是什么LogMiner 是Oracle官方提供的工具,可以解析 Redo log 和 Archived Redo log LogMiner 可以做什么?官方文档中列举了很多,大家可以自己去看下。 我们目前的项目在使用基于LogMiner 的 Debezium Oracle Conn ... 阅读全文 »
Kafka Connect-入门 发表于 2021-03-10 | 分类于 Kafka 前提首先你需要了解MQ / Kafka相关的知识 本文目标了解 Kafka Connect 基本概念与功能 什么是Kafka Connect Kafka Connect 是一款可扩展并且可靠地在 Apache Kafka 和其他系统之间进行数据传输的工具。 可以很简单的定义 connectors(连 ... 阅读全文 »
问题分析:Kafka Connect 引入了Fastjson后,Rest API响应为{} 发表于 2021-02-02 | 分类于 Kafka 前言最近在学习Kafka Connect,写了个连接器的demo。在demo提交了几个版本之后,突然发现Kafka Connect Rest API 无法正常响应了,明明有正在运行的连接器,查询status,居然返回{} 问题分析对 Rest API 进行debug后,确认是有数据的,但是数据返回不 ... 阅读全文 »
分布式事务 Seata AT模式原理与实战 发表于 2020-11-27 | 分类于 分布式 Seata 是阿里开源的基于Java的分布式事务解决方案 AT,XA,TCC,SagaSeata 提供四种模式解决分布式事务场景,AT,XA,TCC,Saga。简单叨咕叨咕我对这几种模式的理解 AT 这是Seata的一大特色,AT对业务代码完全无侵入性,使用非常简单,改造成本低。我们只需要关注自 ... 阅读全文 »