自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 支持分表的ORM框架实现

本文带大家实现一个支持分表的ORM框架,通过简单代码实现来理解核心原理惯例贴出GitHub地址:https://github.com/whiteBX/worm首先明确一个我们要实现的效果,然后再考虑实现,下面以user表作为例子:@Table("user_")@SplitKey(column = "id", tableNum = 8)public class UserDO { ...

2019-09-03 20:52:18 705

原创 生成支持分布式部署的唯一id代码实现

在我们工作中,很多场景下都需要生成唯一id,比如订单号、优惠券码等,本篇文章就给大家带来如何用java实现生成唯一id。首先还是按惯例贴出github地址,可直接从github下载源码运行:https://github.com/whiteBX/IDGenerator唯一ID的核心点效率高。id生成器一般作为基础服务,需要有很良好的性能保证,不能让业务感知到明显的延时。支持分布式部署。...

2019-09-03 20:51:37 345

原创 【RPC】一步一步实现基于netty+zookeeper的RPC框架(六)

上一篇实现了服务的限流,本篇来实现服务的熔断。    首先还是贴出github代码地址,想直接看代码的可以直接下载运行:https://github.com/whiteBX/wrpc    在现在的微服务架构下,由于服务众多,调用链路长,很可能其中某个服务有时会出现异常导致服务不可用,例如发布导致bug、机房网...

2019-09-03 20:50:47 312

原创 【RPC】一步一步实现基于netty+zookeeper的RPC框架(五)

上一篇实现了服务的链路追踪,本篇带来限流。关于服务限流,比较流行的是1:令牌桶算法:桶算法的升级版,实现简单,应对热点请求效果更理想。2:动态限流:根据实时的统计当前时间段请求响应时间来动态调整限流数量,实现复杂,但应对各种情况效果更好。这里还是贴出github代码地址,想直接看代码的可以直接下载运行:https://github.com/whiteBX/wrpc本篇带来令牌桶实现限...

2019-09-03 20:50:08 316

原创 【RPC】一步一步实现基于netty+zookeeper的RPC框架(四)

上一篇实现了服务的负载均衡,本篇带来链路追踪。关于链路追踪,大部分都是参考了谷歌的dapper论文:https://bigbully.github.io/Dapper-translation/。    通过论文总结,其中span的核心元素为:traceId,name,spanId,parentSpanId,其他则根据自身业务需要来定义即可。&nbs...

2019-09-03 20:49:31 309

原创 【RPC】一步一步实现基于netty+zookeeper的RPC框架(三)

上一篇写完咱们已经具备服务注册发现/通信/通过接口调用功能了,本篇带来负载均衡策略。RPC框架中,负载均衡策略提供,其实就是根据配置,选择不同的负载策略,常见的有随机/轮询/权重几种负载策略,本篇就带大家来实现它。这里还是贴出github代码地址,想直接看代码的可以直接下载运行:https://github.com/whiteBX/wrpc首先这里主要用到了设计模式中的策略模式,定义一个...

2019-09-03 20:48:39 289

原创 【RPC】一步一步实现基于netty+zookeeper的RPC框架(二)

上一篇实现了服务注册发现和基本的字符串通信功能,这一篇则是实现我们平常使用RPC框架的使用类来调用的功能。实现consumer端通过接口类来调用远程服务,主要核心在于使用动态代理和反射,这里就一步一步来实现。这里贴出github代码地址,想直接看代码的可以直接下载运行:https://github.com/whiteBX/wrpc首先来看consumer端代码,RPCConsumer完整...

2019-09-03 20:47:51 296

原创 【RPC】一步一步实现基于netty+zookeeper的RPC框架(一)

随着分布式架构运用的越来越多,RPC框架成为了我们不得不掌握的知识,这里一步一步来手写一个简单的RPC框架,以博文作为记录及自我监督。首先是技术选型,这边我选用的是当前比较流行的Netty+Zookeeper来实现,通过zookeeper的特性来实现服务注册与发现,通信则使用netty框架。这里贴出github代码地址,想直接看代码的可以直接下载运行:https://github.com/...

2019-09-03 20:46:30 512

原创 【spring】spring boot多数据源配置(方式二)

上篇文章讲述了一种简单粗暴的多数据源配置方式,这篇来讲一下动态切换数据源的方式配置。动态切换数据源,其核心在于一个AbstractRoutingDataSource类,通过继承此类并重写determineCurrentLookupKey方法可以实现动态切换数据源,具体切换方式可点进去看源码的determineTargetDataSource方法,比较简单,这里只记录实现。数据库准备参考上...

2019-09-03 20:45:26 230

空空如也

空空如也

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

TA关注的人

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