加载中
用ThreadLocal来优化下代码吧

最近接手了一个老项目,看到一个很有意思的现象。 这个项目中大量的方法入参都会带上user信息,比如这样 它的意图是希望在方法内使用user的信息,但是如此大范围的传递用户信息,第一感觉就是...

2020/09/30 13:44
2W
亿级大表分库分表实战总结(万字干货,实战复盘)

分库分表的文章网上非常多,但是大多内容比较零散,以讲解知识点为主,没有完整地说明一个大表的切分、新架构设计、上线的完整过程。 因此,我结合去年做的一个大型分库分表项目,来复盘一下...

2020/11/16 13:26
1.3W
从网络I/O模型到Netty,先深入了解下I/O多路复用

本文是Netty系列第3篇 上一篇文章我们了解了Unix标准的5种网络I/O模型,知道了它们的核心区别与各自的优缺点。尤其是I/O多路复用模型,在高并发场景下,有着非常好的优势。而Netty也采用了I...

2021/02/08 18:15
7.9K
架构师进阶,微服务设计与治理的16条常用原则

上一篇文章我们从「存储选型」角度学习了架构师的基本能力。 今天将从存储的上一层「服务维度」学习架构师的第二项常用能力——微服务设计与治理。 如何设计合理的微服务架构? 如何保持微服...

从I/O多路复用到Netty,还要跨过Java NIO包

本文是Netty系列第4篇 上一篇文章我们深入了解了I/O多路复用的三种实现形式,select/poll/epoll。 那Netty是使用哪种实现的I/O多路复用呢?这个问题,得从Java NIO包说起。 Netty实际上也是一...

2021/03/22 12:00
7.2K
没搞清楚网络I/O模型?那怎么入门Netty

本文是Netty系列笔记第2篇 Netty是网络应用框架,所以从最本质的角度来看,是对网络I/O模型的封装使用。 因此,要深刻理解Netty的高性能,也必须从网络I/O模型说起。 看完本文,可以回答这三...

深入Netty逻辑架构,从Reactor线程模型开始

本文是Netty系列第6篇 上一篇文章我们从一个Netty的使用Demo,了解了用Netty构建一个Server服务端应用的基本方式。并且从这个Demo出发,简述了Netty的逻辑架构。 今天主要是深入学习下 逻辑架...

2021/06/16 12:50
6.6K
架构师之路,从「存储选型」起步

经常有人问,架构师的学习路线是什么? 我一般推荐架构师的基本功,是从「存储选型」开始的。 本文整理了存储选型的思路和整体框架,主要包括几个部分内容: 了解目前的存储技术趋势,以及对...

中国区试用ChatGPT注册指南(附试用账号)

最近全网爆火的黑科技,叫做chatGPT。 ChatGPT声称,它的AI对话模型能在大范围、细粒度问题上给出普遍准确的答案。简单地说,AI对话模型可以达到基本不犯错误的水平了。 在简单尝试之后,我激...

2022/12/07 17:30
5.6K
拥抱云原生,如何将开源项目用k8s部署?

k8s以及云原生相关概念近年来一直比较火热,阿丸最近搞了个相关项目,小结一下。 本文将重点分享阿里开源项目otter适配k8s部署的改造过程,其中的改造过程和技巧应该适用于将大多数开源项目改...

2020/12/21 10:00
5.6K
基于canal的client-adapter数据同步必读指南

本文将介绍canal项目中client-adapter的使用,以及落地生产中需要考虑的可靠性、高可用与监控报警。(基于canal 1.1.4版本) canal作为mysql的实时数据订阅组件,实现了对mysql binlog数据的...

Java SPI 和 API,傻傻分不清?

最近新写了一个中间件「运行时动态日志等级开关」,其中使用Java SPI机制实现了自定义配置中心,保证良好的扩展性。 项目地址,走过路过可以点个star :) https://github.com/saigu/LogLeve...

2020实战复盘:如何从0到1搭建数据传输平台产品DTS?

2020年下半年的主要任务,就是从0到1搭建了数据传输服务平台产品。平稳上线后,基本达到预期,实现了最初的产品规划目标。 这里做个复盘,记录下从0到1的过程,包括: 产品设计 整体技术架构...

除了「加机器」,其实你的微服务还能这样优化

生产实践中,如果遇到业务流量变高导致服务负载升高甚至报警,我们的第一反应往往是「加机器」。 俗话说,能用钱解决的问题都不是问题。 俗话又说,充钱你就能变得更强。 但是,作为一个有理...

线上问题排查,一不小心踩到阿里的 arthas坑了

最近帮新来的校招同学排查一个线上问题,问题本身不是很难,但是过程中踩到了一个arthas的坑,挺有意思的。 同时,也分享下在排查过程中使用的一些比较实用的工具,包括tcpdump、arthas、sim...

2020/10/27 13:44
1.6K
Netty常用招式——ChannelHandler与编解码

本文是Netty系列第8篇 上一篇文章我们深入学习了Netty逻辑架构中的核心组件ChannelHandler和ChannelPipeline,并介绍了它在日常开发使用中的最佳实践。文中也提到了,ChannelHandler主要用于...

「从零单排canal 07」 parser模块源码解析

基于1.1.5-alpha版本,具体源码笔记可以参考我的github:https://github.com/saigu/JavaKnowledgeGraph/tree/master/code_reading/canal 本文将对canal的binlog订阅模块parser进行分析。 pa...

2020/08/21 10:18
1.1K
「从零单排canal 06」 instance模块源码解析

基于1.1.5-alpha版本,具体源码笔记可以参考我的github:https://github.com/saigu/JavaKnowledgeGraph/tree/master/code_reading/canal 关于instance的定义,可以参考前面的几篇源码解析,介...

2020/07/28 10:05
975
实时数据订阅与分发系统概述

实时数据订阅与分发系统可以将业务数据源变更实时分发分发到消息总线上,并维护消息的统一格式,提供通用的客户端框架供消息生产者与下游业务接入。 一般能用于以下场景: 索引构建:MySQL到...

2020/05/27 22:41
789
记一次异步处理导致Jetty Request对象泄漏

最近排查一个bug,发现了一系列有意思的东西,对「自定义线程池」、「Jetty线程模型」都有了一些新的认识。 本文预计阅读时间10分钟,包括: 问题表现 常见原因筛查 根因与源码分析 最佳实践...

没有更多内容

加载失败,请刷新页面

返回顶部
顶部