Dockerfile实现MySQL定时备份

本文利用自定制Dockerfile实现在mysql容器内自动定时备份,避免了在宿主机设置cron定时任务所带来的高耦合操作,更易于部署和搬迁. 欢迎使用Markdown编辑器写博客 本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown...

2018-09-09 15:11:26

阅读数 1166

评论数 2

Spring Security 5.0的DelegatingPasswordEncoder详解

本文参考自Spring Security 5.0.4.RELEASE 的官方文档,结合源码介绍了DelegatingPasswordEncoder,对其工作过程进行分析并解决其中遇到的问题.包括There is no PasswordEncoder mapped for the id &...

2018-05-07 14:30:32

阅读数 2908

评论数 0

Spring Boot 2.0官方文档之 Actuator

前言:本文翻译自Spring Boot 2.0.1.RELEASE官方文档,该Spring Boot版本是当前(2018年4月份)官方推荐版本,因Spring Boot 2.0的Actuator与之前版本有较大不同,而网上相关博文资料较旧,故建议阅读官方文档再做实践.转载需经本人同意,注明出处方可...

2018-04-20 20:10:11

阅读数 22699

评论数 12

最强大的Docker插件 fabric8io/docker-maven-plugin

fabric8io的插件不仅支持docker镜像构造(build),镜像推送(push),还支持对容器操作(如run,stop,remove等),也就是说它可以实现对Docker从构建镜像到运行和推送完整的控制流程,这是它独树一帜的地方. 在众多docker-maven插件中,fabric8io...

2019-01-18 00:53:26

阅读数 2094

评论数 1

深入解析Spring使用枚举接收参数和返回值机制并提供自定义最佳实践

本文的目的在于提供一种在 restful接口兼容使用code接收枚举参数的实现方案。 文章目录一 目标与思路0 起因1 目标2 思路二 代码实现1 通用code枚举接口2 转换器工厂类3 Spring MVC 配置类三 相关知识 一 目标与思路 0 起因 《阿里巴巴Java开发手册》将接口中枚举的...

2019-01-14 09:54:10

阅读数 648

评论数 0

Paxos学习笔记及图解

一 从CAP定理到Paxos算法 1 CAP定理 CAP定理是相对于一个分布式计算系统而言的,首先需要了解C、A、P的定义: C:Consistency 一致性:所有节点持有相同最新数据副本(对外一致) A:Availability 可用性:所有节点都能提供数据副本,但不一定最新(对外可用,但不...

2019-01-10 13:49:08

阅读数 93

评论数 0

Java 设计模式 轻读汇总版

一 创建类模式 1 单例模式 2 简单工厂和工厂模式 3 抽象工厂模式 4 建造者模式 5 原型模式 二 结构类模式 1 代理模式 2 适配器模式 3 装饰模式 4 门面模式 5 桥接模式 6 组合模式 7 享元模式 三 行为类模式 1 策略模式 2 观察者模式 3 责任链模式 4 模板方式模式 ...

2018-12-24 22:26:39

阅读数 63

评论数 0

从零写分布式RPC框架 系列 2.0 (4)使用BeanPostProcessor实现自定义@RpcReference注解注入

之前服务提供方 RpcServer 我们是使用 ApplicationContextAware 来扫描 @RpcService 注解,添加一个注解即可实现服务暴露。现在,我们用 BeanPostProcessor 来实现服务注入,自动将服务实现类注入到被@RpcReference注解标记的接口上。...

2018-12-01 16:42:35

阅读数 131

评论数 0

从零写Spring注解版框架系列 IoC篇 (2)实现 @Component、@Autowired、@Qualifier注解

一 结构设计 首先创建一个 Maven 工程 winter-core,这里我们我们只需要依赖于 commons-lang 工具包,另外还有测试用的 junit 包。再创建各个类如下: 核心注解在 annotation 包下,util 包下是 ClassUtil 工具类 和 StringUtil ...

2018-11-30 22:28:55

阅读数 91

评论数 0

从零写Spring注解版框架系列 IoC篇 (1) 框架设计

一 设计思想 1 IoC的定义 IoC 全称为 Inversion of Control,翻译为 “控制反转”,它还有一个别名为 DI(Dependency Injection),即依赖注入。 所谓 IoC ,就是由 Spring IoC 容器来负责对象的生命周期和对象之间的关系 2 Spri...

2018-11-30 18:34:59

阅读数 81

评论数 0

从零写分布式RPC框架 系列 2.0 (3)RPC-Server和RPC-Client模块改造

2.0版本RPC-Server改动不大,主要变化在于RPC-Client使用了服务地址缓存,并引入监控机制,第一时间获取zk集群中服务地址信息变化并刷新本地缓存。另外,RPC-Client还使用了RpcClientProperties开放对负载均衡策略和序列化策略的选择。 系列文章: 专栏:从零开...

2018-11-23 16:27:45

阅读数 115

评论数 0

从零写分布式RPC框架 系列 2.0 (2)RPC-Common模块设计实现

RPC-Common模块相对于1.0版本复杂了很多,最主要的变化在于将 Rpc的Netty处理器从RPC-Server和RPC-Client收回。1.0 版本的设计思路是尽可能减少冗余依赖,所以RPC-Common一般只放通用的功能。现在则是尽可能都放在RPC-Common模块,以方便工程升级复杂...

2018-11-23 14:16:43

阅读数 90

评论数 0

从零写分布式RPC框架 系列 2.0 (1)架构升级

针对1.0版本的性能问题,本版本做了从服务地址列表缓存等方面做了优化处理,并加入负载均衡引擎、序列化引擎、服务端限流等新功能,并对通信模型进行改造,使其支持新特性、避免粘包半包问题并对后续升级改造留下支持空间。具体可见 项目GitHub地址 。本文将介绍 2.0 版本的逻辑架构和模型设计,部分内容...

2018-11-23 10:40:54

阅读数 94

评论数 0

实现 序列化引擎(支持 JDK默认、Hessian、Json、Protostuff、Xml、Avro、ProtocolBuffer、Thrift等序列化方式)

本文将实现一个包含JDK默认、Hessian、Json、Protostuff、Xml、Avro、ProtocolBuffer、Thrift等序列化方式的序列化引擎。用户可以提供使用 SerializerEngine 方便快捷地切换序列化方法实现。 文章目录一 使用效果二 总体结构1 结构图2 组件...

2018-11-18 16:37:13

阅读数 152

评论数 0

手写通用类型负载均衡路由引擎(含随机、轮询、哈希等及其带权形式)

本文记录了通用类型负载均衡路由引擎(工厂)的实现过程和思路。通过路由引擎获取指定枚举类型的负载均衡器,降低了代码耦合,规范了各个负载均衡器的使用,减少出错的可能,并简化了其对应带权负载均衡的实现(提供默认实现),而无需另外编写和集成。 文章目录一 使用效果二 总体结构1 结构图2 组件介绍3 相...

2018-11-15 20:34:31

阅读数 85

评论数 0

从零写分布式RPC框架 系列 1.0 (5)整合测试

本篇将对前面几篇文章作整合处理,使用spring-boot-starter的形式进行发布。

2018-11-08 18:05:26

阅读数 102

评论数 0

从零写分布式RPC框架 系列 1.0 (4)RPC-Client模块设计实现

RPC-Client模块负责创建 动态代理对象 供 服务消费者 使用,而动态代理对象的方法执行则是通过RPC调用RPC-Server的服务实现。即RPC-Client屏蔽了底层的通信过程,使得服务消费者可以基于接口透明使用服务提供者的服务。 一 介绍 1 整体结构 2 模块介绍 整体结构如下: ...

2018-11-08 14:46:48

阅读数 101

评论数 0

从零写分布式RPC框架 系列 1.0 (3)RPC-Server模块设计实现

RPC-Server模块负责(1)将@RpcService注解标记的服务和自身信息注册到ZK集群,(2)对外提供RPC服务实现,处理来自RPC-Client的请求。该模块整体的核心类为 RpcServer ,而真正处理请求的核心类是 RpcServerHandler 。另外还有一个 ZKServi...

2018-11-07 21:20:32

阅读数 139

评论数 0

从零写分布式RPC框架 系列 1.0 (2)RPC-Common模块设计实现

RPC-Common模块提供RPC-Server和RPC-Client的通用对象,封装统一规则,使RPC Server和RPC Client 可以基于同一协议通信。主要包含底层通信的Netty所需的编码解码器(RpcEncoder,RpcDecoder),实现自定义协议的传输对象(RpcReque...

2018-11-07 13:04:59

阅读数 88

评论数 1

依赖排除 provided,optional 和 exclusion 最全区分指南

本文将介绍 Maven工程中3种避免依赖冲突的手段 provided,optional 和 exclusion 及其使用场景,并对其进行比较区分,最后以一个应用实例来做归纳总结。本人在网上寻找相关说明时大多语焉不详,模棱两可,有些甚至自己也没弄明白,故根据官方说明和自身试验写下此文,如有纰漏,还望...

2018-11-06 14:23:13

阅读数 306

评论数 0

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