- 博客(48)
- 收藏
- 关注
原创 如何3分钟,快速开发一个新功能
三张表分别是数据源配置表(tool_data_source_config)、表定义(tool_generator_table)以及列定义(tool_generator_column),数据源配置表主要是连接数据库相关的配置,表定义主要是类的抽象,包括整个类的包结构目录,列定义主要类字段的定义,并且包含一些CRUD条件定义。针对这两个问题,就思考做一个简单的半自动的代码生成器,帮助团队的提升开发效率,只要在数据库中设计好表结构,就可以一键生成前后端代码、Swagger接口文档 、Validator参数校验。
2024-04-25 21:29:16
967
原创 Sping Security前后端分离两种方案
Spring Seciruty简单介绍;通过Spring Seciruty实现的基于表单和Token认证的两种认证方式;自定义实现RBAC的权限控制;跨域问题处理;Spring Security是基于Spring框架,提供了一套Web应用安全性的完整解决方案。关于安全方面的两个核心功能是认证和授权,Spring Security重要核心功能就是实现用户认证(Authentication)和用户授权(Authorization)。
2023-03-27 07:43:21
786
原创 SpringBoot多数据源以及事务处理
此种方式使用起来分层明确,不存在任何冗余代码,不足地方就是每个库都需要对应一个配置类,该配置类中实现方式都基本类似,该种解决方案每个配置类中都存在事务管理器,因此不需要单独再去额外的关注。关于采用Spring AOP方式实现原理就是把多个数据源存储在一个 Map中,当需要使用某个数据源时,从 Map中获取此数据源进行处理。
2023-02-26 21:04:23
806
1
原创 Dubbo-服务暴露
Dubbo源码阅读分享系列文章,欢迎大家关注点赞SPI实现部分Dubbo-SPI机制Dubbo-Adaptive实现原理Dubbo-Activate实现原理Dubbo SPI-Wrapper注册中心Dubbo-聊聊注册中心的设计Dubbo-时间轮设计通信Dubbo-聊聊通信模块设计RPC聊聊Dubbo协议在介绍RPC核心接口的时候我们说过Protocol核心作用是将Invoker服务暴露出去以及引用服务将Invoker对象返回,因此我们就从Protocol开始说起。下图是Protocol的整个继承结构,从前
2022-12-04 21:08:41
527
原创 Dubbo-RPC核心接口介绍
Dubbo源码阅读分享系列文章,欢迎大家关注点赞SPI实现部分Dubbo-SPI机制Dubbo-Adaptive实现原理Dubbo-Activate实现原理Dubbo SPI-Wrapper注册中心Dubbo-聊聊注册中心的设计Dubbo-时间轮设计通信Dubbo-聊聊通信模块设计RPC聊聊Dubbo协议Dubbo的RPC其实是对Protocol的封装,整体的结构与Remoting类似,dubbo-rpc-api是对具体协议、服务暴露、服务引用、代理等的抽象,是整个RPC中的核心,其他模块是对该层具体的实现
2022-12-04 21:06:39
741
原创 Dubbo-聊聊Dubbo协议
SPI实现部分Dubbo-SPI机制Dubbo-Adaptive实现原理Dubbo-Activate实现原理注册中心Dubbo-聊聊注册中心的设计Dubbo-时间轮设计通信Dubbo-聊聊通信模块设计在网络交互中是以字节流的形式传递的,对于字节流都是二进制格式,这样我们就面临一个问题就是如何转化为我们可以识别的字符,协议就是来解决这个问题的,协议用通俗易懂地解释就是通信双方需要遵循的约定。在日常开发中,我们常见的网络传输协议有TCP、UDP、HTTP。
2022-11-20 20:31:20
2110
2
原创 Dubbo-时间轮设计
Dubbo源码阅读分享系列文章,欢迎大家关注点赞时间是一种调度模型, 是一种高效的、批量管理定时任务的调度模型。时间轮一般会实现成一个环形结构,类似一个时钟,分为很多槽,一个槽代表一个时间间隔,每个槽使用双向链表存储定时任务;指针周期性地跳动,跳动到一个槽位,就执行该槽位的定时任务。,可以放在类定义和方法上,Dubbo中用它在扩展类定义上,表示这个扩展实现激活条件和时机。
2022-09-18 20:40:48
321
原创 Dubbo-Adaptive实现原理
前面我们已经分析Dubbo SPI相关的源码,看过的小伙伴相信已经知晓整个加载过程,我们也留下两个问题,今天我们先来处理下其中关于注解Adaptive的原理。对应于Adaptive机制,Dubbo提供了一个注解@Adaptive,该注解可以用于接口的某个子类上,也可以用于接口方法上。如果用在接口的子类上,则表示Adaptive机制的实现会按照该子类的方式进行自定义实现;如果用在方法上,则表示Dubbo会为该接口自动生成一个子类,并且重写该方法,没有标注@Adaptive注解的方法将会默认抛出异常。
2022-09-18 20:39:51
98
原创 Dubbo-Adaptive实现原理
前面我们已经分析Dubbo SPI相关的源码,看过的小伙伴相信已经知晓整个加载过程,我们也留下两个问题,今天我们先来处理下其中关于注解Adaptive的原理。对应于Adaptive机制,Dubbo提供了一个注解@Adaptive,该注解可以用于接口的某个子类上,也可以用于接口方法上。如果用在接口的子类上,则表示Adaptive机制的实现会按照该子类的方式进行自定义实现;如果用在方法上,则表示Dubbo会为该接口自动生成一个子类,并且重写该方法,没有标注@Adaptive注解的方法将会默认抛出异常。
2022-09-04 22:14:45
154
原创 Service Mesh分享-Docker核心技术
最近要给大家做一些分享Service Mesh相关的分享,会做一些PPT,可以给大家分享到公众号,共同学习,最后会附上参考的连接,大家可以进行相关学习。文章内容主要参考极客时间的孟老师的《云原生训练营》和波波老师的《分布式系统案例课》,我觉得内容相当不错,之前我自己学习遗留的问题通过这一系列课程也解决很多问题,如果大家觉得不错可以购买。欢迎大家点点关注,点点赞! 我这边也会持续分享,共同学习,共同进步!还有一点如果大家觉得团队内部的学习氛围不够好,可以主动改变,让自己影响到其他人,这样自己的能力也提升
2022-07-13 07:27:01
339
原创 Go学习-基本语法(一)
前言一直对Service Mesh相关内容比较感兴趣,后面一路学习了Dcoker、Kubernetes等相关内容,可以说是对基本概念和使用有一定了解,随着开始学习一些相关的组件的时候,发现基本上全部都是Go语言编写,虽然这几年国内还是Java这一套微服务很流行,但是我相信未来是Service Mesh的天下,居于这种背景我开始学习Go的一些语法,会做一些Java语法和Go语法的对比,废话不多说开始吧。变量关于变量使用分三个方面讲解,分别是变量定义、基本类型以及类型转换;变量定义关于变量的定义可以
2022-04-23 22:17:15
399
原创 图解CompletableFuture源码
前言关于CompletableFuture源码解析部分,整体上感觉还是写比较难的,不过为了推广到团队还是要好好搞一下的,我还是希望大家看到这边文章能学到点什么,废话不多说开始吧。属性部分首先看属性部分,我觉得可以从全貌了解他的整体的数据结构,后续我们看到一些操作的时候,也不会产生疑问,算是一种先整体后部分的思想。打开CompletableFuture源码以后我们首先看到是下面两个核心的关键属性result和stack,关于这两个属性也有核心的注释,result可能是返回的结果集,也可能是包装的Alt
2022-03-27 16:40:37
1078
原创 基于Spring Boot的线程池监控方案
前言这篇是推动大家异步编程的思想的线程池的准备篇,要做好监控,让大家使用无后顾之忧,敬畏生产。为什么需要对线程池进行监控Java线程池作为最常使用到的并发工具,相信大家都不陌生,但是你真的确定使用对了吗?大名鼎鼎的阿里Java代码规范要求我们不使用 Executors来快速创建线程池,但是抛弃Executors,使用其它方式创建线程池就一定不会出现问题吗?本质上对于我们来说线程池本身的运行过程是一个黑盒,我们没办法了解线程池中的运行状态时,出现问题没有办法及时判断和预警。面对这种黑盒操作必须通过监控方
2022-03-13 21:43:53
3770
原创 带你玩转CompletableFuture异步编程
前言最近在忙生活的第一个OKR,这个等等后面具体聊聊,今天开始恢复每周一篇原创,感谢小伙伴的不离不弃。这篇文章也是最近在Code Review的时候,看到的大家代码,想整体推下大家异步编程的思想,由此而写的。为什么使用CompletableFuture一些业务场景我们需要使用多线程异步执行任务,加快任务执行速度。 JDK5新增了Future接口,用于描述一个异步计算的结果。虽然 Future 以及相关使用方法提供了异步执行任务的能力,但是对于结果的获取却是很不方便,我们必须使用Future.get的
2022-03-02 09:45:09
436
原创 Kubernetes-资源管理
前言本篇是Kubernetes第十六篇,大家一定要把环境搭建起来,看是解决不了问题的,必须实战。Kubernetes介绍Kubernetes环境搭建Kubernetes-kubectl介绍Kubernetes-Pod介绍(-)Kubernetes-Pod介绍(二)-生命周期Kubernetes-Pod介绍(三)-Pod调度Kubernetes-Pod介绍(四)-DeploymentKubernetes-Service介绍(一)-基本概念Kubernetes-Service介绍(二)-服
2022-01-18 07:53:19
123
原创 聊聊同步、异步、阻塞、非阻塞以及IO模型
前言在使用Netty改造手写RPC框架的时候,需要给大家介绍一些相关的知识,这样很多东西大家就可以看明白了,手写RPC是一个支线任务,后续重点仍然是Kubernetes相关内容。阻塞与非阻塞 同步与异步阻塞与非阻塞阻塞和非阻塞是进程在访问数据的时候,数据是否准备就绪的一种处理方式。当数据没有准备的时候,阻塞需要等待调用结果返回之前,进程会被挂起,函数只有在得到结果之后才会返回。非阻塞和阻塞的概念相对,指在不能立刻得到结果之前,该函数不会阻塞当前线程,而会立刻返回。同步与异步同步指的是在发出一个功
2022-01-10 07:53:21
183
原创 手写RPC-简陋版
前言最近不小心被隔离,放假思考一番,决定开始在手写序列。这个序列在之前看Nacous和网关源码的时候就有想法,只是一直没落实下来,趁着隔离行动起来。必备知识介绍序列化与反序列化序列化是把对象的状态信息转化为可存储或传输的形式过程,也就是把对象转化为字节序列的过程称为对象的序列化;反序列化是序列化的逆向过程,把字节数组反序列化为对象,把字节序列恢复为对象的过程成为对象的反序列化;在Java中通过 JDK 提供了 Java 对象的序列化方式实现对象序列化传输,主要通过输出流java.io.Objec
2022-01-07 08:39:05
213
原创 Kubernetes-Kuboard
前言本篇是Kubernetes第十五篇,大家一定要把环境搭建起来,看是解决不了问题的,必须实战。Kubernetes系列文章:Kubernetes介绍Kubernetes环境搭建Kubernetes-kubectl介绍Kubernetes-Pod介绍(-)Kubernetes-Pod介绍(二)-生命周期Kubernetes-Pod介绍(三)-Pod调度Kubernetes-Pod介绍(四)-DeploymentKubernetes-Service介绍(一)-基本概念Kubernete
2022-01-04 21:34:18
768
原创 Kubernetes-API Server
前言本篇是Kubernetes第十四篇,大家一定要把环境搭建起来,看是解决不了问题的,必须实战。Kubernetes系列文章:Kubernetes介绍Kubernetes环境搭建Kubernetes-kubectl介绍Kubernetes-Pod介绍(-)Kubernetes-Pod介绍(二)-生命周期Kubernetes-Pod介绍(三)-Pod调度Kubernetes-Pod介绍(四)-DeploymentKubernetes-Service介绍(一)-基本概念Kubernete
2021-12-22 07:36:46
221
原创 Kubernetes-存储(二)
前言本篇是Kubernetes第十三篇,大家一定要把环境搭建起来,看是解决不了问题的,必须实战。Kubernetes系列文章:Kubernetes介绍Kubernetes环境搭建Kubernetes-kubectl介绍Kubernetes-Pod介绍(-)Kubernetes-Pod介绍(二)-生命周期Kubernetes-Pod介绍(三)-Pod调度Kubernetes-Pod介绍(四)-DeploymentKubernetes-Service介绍(一)-基本概念Kubernete
2021-12-15 08:54:23
168
原创 Kubernetes-存储(一)
前言本篇是Kubernetes第十二篇,大家一定要把环境搭建起来,看是解决不了问题的,必须实战。Kubernetes系列文章:Kubernetes介绍Kubernetes环境搭建Kubernetes-kubectl介绍Kubernetes-Pod介绍(-)Kubernetes-Pod介绍(二)-生命周期Kubernetes-Pod介绍(三)-Pod调度Kubernetes-Pod介绍(四)-DeploymentKubernetes-Service介绍(一)-基本概念Kubernete
2021-12-05 20:14:17
911
原创 Kubernetes-网络
前言本篇是Kubernetes第十一篇,大家一定要把环境搭建起来,看是解决不了问题的,必须实战,此篇文章概念比较多,后续我会继续出一些网络相关实战以及原理探索篇。Kubernetes系列文章:Kubernetes介绍Kubernetes环境搭建Kubernetes-kubectl介绍Kubernetes-Pod介绍(-)Kubernetes-Pod介绍(二)-生命周期Kubernetes-Pod介绍(三)-Pod调度Kubernetes-Pod介绍(四)-DeploymentKuber
2021-12-01 08:58:09
1032
原创 Docker Swarm介绍
前言本篇是Docker第十三篇,Docker的使用至此就介绍完成,接下来继续Kubernetes。Docker系列文章:为什么要学习DockerDocker基本概念Docker镜像基本原理Docker容器数据卷DockerfileDocker单机网络上Docker单机网络下Docker单机网络实战Docker隔离技术Docker限制Docker ComposeDocker多机网络为什么需要Docker Swarm我们从Docker到Docker Compose都是在单
2021-11-25 19:23:09
147
原创 Docker多机网络
前言前面的文章主要聚焦于单机网络上,对于生产环境而言,单机环境不满足高可用的特点,所以是不具备上生产的条件,因此在开始Docker Swarm篇的时候我们先来聊聊多机网络之间Docker的通信如何做,厦门主要介绍三种跨主机通信的方式。Docker系列文章:为什么要学习DockerDocker基本概念Docker镜像基本原理Docker容器数据卷DockerfileDocker单机网络上Docker单机网络下Docker单机网络实战Docker隔离技术Docker限制Docker
2021-11-12 07:45:45
1227
原创 Netfilter和iptables介绍
、### 前言在开始Kubernetes的网络之前我们先来学习Netfilter,Netfilter可能了解的人比较少,但是iptables用过 Linux的都应该知道。本文主要介绍Netfilter与iptables的原理。什么是NetfilterNetfilter顾名思义就是网络过滤器,其主要功能就是对进出内核协议栈的数据包进行过滤或者修改,iptables 就是建立在Netfilter之上。Netfilter就是Linux内核里挡在网卡和用户态进程之间的一道防火墙。这幅示意图中,IP包一进一
2021-11-03 21:01:02
357
原创 Kubernetes-Service介绍(三)-Ingress(含最新版安装踩坑实践)
前言本篇是Kubernetes第十篇,大家一定要把环境搭建起来,看是解决不了问题的,必须实战。Kubernetes系列文章:Kubernetes介绍Kubernetes环境搭建Kubernetes-kubectl介绍Kubernetes-Pod介绍(-)Kubernetes-Pod介绍(二)-生命周期Kubernetes-Pod介绍(三)-Pod调度Kubernetes-Pod介绍(四)-DeploymentKubernetes-Service介绍(一)-基本概念Kubernetes
2021-10-20 06:55:44
673
原创 Kubernetes-Service介绍(二)-服务发现
前言本篇是Kubernetes第九篇,大家一定要把环境搭建起来,看是解决不了问题的,必须实战。Kubernetes系列文章:Kubernetes介绍Kubernetes环境搭建Kubernetes-kubectl介绍Kubernetes-Pod介绍(-)Kubernetes-Pod介绍(二)-生命周期Kubernetes-Pod介绍(三)-Pod调度Kubernetes-Pod介绍(四)-DeploymentKubernetes-Service介绍(一)-基本概念服务发现Kube
2021-10-16 15:28:55
1454
原创 Kubernetes-Service介绍(一)-基本概念
前言本篇是Kubernetes第八篇,大家一定要把环境搭建起来,看是解决不了问题的,必须实战。Pod篇暂时应该还缺少两篇,等Service和存储相关内容介绍以后,补充剩下的两篇,有状态的Pod会涉及这两块的内容。Kubernetes系列文章: Kubernetes介绍 Kubernetes环境搭建 Kubernetes-kubectl介绍 Kubernetes-Pod介绍(-) Kubernetes-Pod介绍(二)-生命周期 Kubernet
2021-09-29 07:09:53
140
原创 Kubernetes-Pod介绍(四)-Deployment
前言本篇是Kubernetes第七篇,大家一定要把环境搭建起来,看是解决不了问题的,必须实战。Kubernetes系列文章: Kubernetes介绍 Kubernetes环境搭建 Kubernetes-kubectl介绍 Kubernetes-Pod介绍(-) Kubernetes-Pod介绍(二)-生命周期 Kubernetes-Pod介绍(三)-Pod调度 Pod升级和回滚在生产的环境中,当我们需要给某个服务升级时候,需要停止与该
2021-09-26 07:15:02
381
原创 Kubernetes-Pod介绍(三)-Pod调度
前言本篇是Kubernetes第六篇,大家一定要把环境搭建起来,看是解决不了问题的,必须实战。Kubernetes系列文章: Kubernetes介绍 Kubernetes环境搭建 Kubernetes-kubectl介绍 Kubernetes-Pod介绍(-) Kubernetes-Pod介绍(二)-生命周期 Pod调度在Kubernetes中我们很少直接创建一个Pod,大多数情况下会通过Replication Controller、Deplo
2021-09-22 07:12:19
354
原创 Kubernetes-Pod介绍(二)-生命周期
前言本篇是Kubernetes第五篇,大家一定要把环境搭建起来,看是解决不了问题的,必须实战。Kubernetes系列文章: Kubernetes介绍 Kubernetes环境搭建 Kubernetes-kubectl介绍 Kubernetes-Pod介绍(-) Pod生命周期Pod对象自从其创建开始至其终止退出的时间范围称为其生命周期。在这段时间中,Pod会处于多种不同的状态,并执行一些操作;其中,创建主容器(main container)为必需的操作,
2021-09-14 21:54:03
133
原创 Kubernetes-Pod介绍(-)
前言本篇是Kubernetes第四篇,大家一定要把环境搭建起来,看是解决不了问题的,必须实战。从现在开始都是重要的核心概念,此篇偏一些Pod的概念介绍,后续每篇都会有实战。Kubernetes系列文章: Kubernetes介绍 Kubernetes环境搭建 Kubernetes-kubectl介绍 什么是PodPod是一个或一个以上的 容器(例如Docker容器)组成的,且具有共享存储/网络/UTS/PID的能力,以及运行容器的规范。并且在Kubernetes中,
2021-09-08 07:09:38
179
原创 Kubernetes-kubectl介绍
前言本篇是Kubernetes第三篇,大家一定要把环境搭建起来,看是解决不了问题的,必须实战。本篇重要介绍kubectl的使用。Kubernetes系列文章: Kubernetes介绍 Kubernetes环境搭建 kubectl的核心功能在于通过 API Server 操作 Kubernetes 的各种资源对象,包括资源对象的创建、删除、查看、修改、配置、运行等等,学习kubectl相关命令是了解 Kubernetes 集群管理的一种手段。kubectl语法kubec
2021-09-06 07:06:30
338
原创 Kubernetes环境搭建
前言本篇是Kubernetes第二篇,大家一定要把环境搭建起来,看是解决不了问题的,必须实战。Kubernetes系列文章: Kubernetes介绍 Kubernetes搭建方式介绍和对比MinikubeMinikube是一种可以在本地轻松运行Kubernetes的工具。Minikube在笔记本电脑的VM中运行单节点Kubernetes集群,供希望尝试Kubernetes或日常开发的用户测试使用。特点是不能启动生产集群,没有高可用性的单节点机器。KubeadmKubead
2021-09-01 21:26:28
198
原创 Kubernetes介绍
前言从本周开始以后尝试开始每周两更,本篇原计划是Docker多机网路,该篇文章有些卡文,所以先更新篇Kubernetes文章,关于Docker系列文章后面应该就剩下两篇了,等后续Kubernetes使用篇讲完以后,再开始做一些Docker相关深层次思考。Docker系列文章: 为什么要学习Docker Docker基本概念 Docker镜像基本原理 Docker容器数据卷 Dockerfile Docker单机网络上 Docker单机
2021-08-17 21:51:03
90
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人