Gregorius Blog

Thinking will not overcome fear but action will.

带你俯瞰ShardingSphere

了解ShardingSphere架构设计

什么是 ShardingSphere 首先引用官网上的介绍 Apache ShardingSphere 是一款分布式的数据库生态系统, 可以将任意数据库转换为分布式数据库,并通过数据分片、弹性伸缩、加密等能力对原有数据库进行增强。 Apache ShardingSphere 设计哲学为 Database Plus,旨在构建异构数据库上层的标准和生态。 它关注如何充分合理地...

Kafka的客户和服务端模型

了解Kafka架构设计

Kafka是一个优秀的分布式消息队列,以高并发和高性能著称,我们以简单全面的视角剖析一下Kafka框架的设计。 作为一个分布式消息队列一般有三个角色 服务端 即broker,负责消息的存储,消费,分区等管理 生产者 对于服务端来说也是一个客户端,用于将消息发送到服务端 消费者 用于消费生产者生产的消息 服务端 服务端的架构和Netty有些类似,其实完全可以使用Nett...

漫谈分布式事务

为何使用分布式事务,以及分布式事务框架推荐

随着互联网的普及,互联网公司像雨后春笋一样伴随着投资公司的红利发展壮大,所以分布式技术以及分布式的解决方案也随着普及起来,分库分表以及分布式事务成了解决分布式问题跨不过的难题,那么我们今天就来聊聊什么是分布式事务,为什么需要它,它到底是用来解决什么问题的? 现在越来越多项目将自己定位为超大并发和数据的项目,所以在项目启动前就需要为未来考虑,超大大数据怎么存储和检索就是这些项目需要考虑的问题...

再谈Dubbo

Dubbo的基本原理

最近工作中由于涉及到微服务这块,所以把Dubbo又重新回顾了一遍,现在做个总结。 为什么使用rpc框架? 一个老生常谈的问题,为什么使用rpc框架?如果你的系统是单机系统,完全可以不用考虑这个问题,但是这些年微服务盛行,SOAP,企业级总线这些过于重量级,大厂都不一定能玩得转的玩意,所以何况是中小企业。所以退而求其次选择RESTful或者轻量级RPC框架,dubbo之所以能在国内脱颖而出,...

我们为什么需要IoC框架

介绍IoC框架的用途和实现原理

你今天被“皇马”了吗?假如你是那个写“皇马”程序的程序猿,你是否想让你讨厌的人变成“皇马”?于是你开始用代码来施展你的魔法,写下如下咒语: class SomeBodyYouHate { private String name; private boolean isYellowHorse; public boolean isYellowHorse() { ...

如何设计一个支撑亿级流量的消息队列

介绍kafka实现原理

大家可能对亿级流量没有什么概念,我首先以10亿级流量来进行一下设备需求的评估: 每天需要承载10亿+请求流量数据,一天24小时,对于平台来说,晚上12点到凌晨8点这8个小时几乎没多少数据涌入的。这里我们使用「二八法则」来进行预估,也就是80%的数据(8亿)会在剩余的16个小时涌入,且8亿中的80%的数据(约6.4亿)会在这16个小时的20%时间 (约3小时)涌入。 通过上面的场景分析,可以得...

KillBill框架介绍

介绍分库分表技术,以及KillBill实现原理

KillBill框架是一个开源的支付和计费SaaS平台,作为一款分布式的平台,我们今天主要是从它身上学习如何处理分布式事务问题的。 众所周知,采用分布式设计之后我们需要解决几大问题: 数据一致性分发问题 数据聚合join问题 分布式事务问题 解决数据一致性分发有几种方案: 事务性发件箱机制(本地消息事务机制) CDC技术 数据库聚合join问题依赖于数据...

使用javaagent技术实现无侵入监听

介绍patroller开源工具

什么是 Java Agent Java Agent是JVM启动时给应用程序一种机会去修改class文件的机制,在启动的VM参数增加-javaagent 再加上自定义的扩展来实现,这种自定义扩展是一种插件开发机制。 使用 Java Agent 的步骤大致如下: 1.  定义一个 MANIFEST.MF 文件,在其中添加 premain-class 配置项。 2.  创建  premai...

skywalking本地调试

介绍skywalking本地调试搭建过程

源代码地址 skywalking是一款很优秀的监控系统,采用代理方式基于切面编程来拦截请求进行监控数据记录,架构采用CS模式 server端地址 java客户端地址 server端构建过程 此文不做原理解析,只讲大概入门思路,server里面同时也包含了后端管理和监控UI页面,基于spring boot开发,项目名称是apm-webapp 工具 工欲善其事必先利其器,...

随便聊聊

潮湿与闷热的天气好不容易缓解下来,南方的天气波动就如最近股市的波动,趁着凉爽的天气记录一下现在的状态。 最近工作与休息以及学习感觉进入了二次平行空间,所有事情并行运行,很难平衡。工作的紧张状态,以及休息娱乐对自我的放纵,还有学习的不合理偏向性以及缺少科学的调度和安排。最主要的特征是上班和下班不分,休息和娱乐不分,反思一下,其实是非常不好的不良习惯。 疫情时代,人与人之间的隔离更加的加剧,...