- 博客(129)
- 资源 (4)
- 收藏
- 关注
原创 大话分布式理论之三——如何实现一个分布式(数据)存储服务(无代码)
前文大话分布式理论之二——共识算法与一致性的区别中提到副本节点间的一致性和应用服务间的一致性。更通俗的理解,副本节点间的一致性指的就是分布式数据存储服务,比如分布式数据库prolardb、Aurora、tidb等,再比如zookeeper的数据分布式存储,rocketmq和kafka的broker分布式存储消息信息等等,但凡涉及到数据存储的分布式中间件,我认为都可以划分到副本节点间的一致性这一类问题中来。我将这些涉及到数据存储的分布式中间件,共称为分布式(数据)存储服务。
2024-08-19 20:14:01
886
2
原创 大话分布式理论之二——共识算法与一致性的区别
在我们认知分布式理论时,有两个东西常常混在一起,在我的角度看来,他们应该是两个东西——共识算法与一致性协议。
2022-04-22 11:05:13
1924
1
原创 大话分布式理论之一——从单体到SOA再到微服务
在最近这几年,微服务一直是分布式的代名词,所以开篇,我们先来了解微服务的历史。在我们深入学习微服务的历史之前,有必要先了解一个定律——康威定律
2022-04-16 19:08:20
1144
原创 Mybatis源码阅读之一——工厂模式与SqlSessionFactory
从Mybatis中学习工厂模式,了解SqlSessionFactory与SqlSessionManager的爱恨情仇
2022-01-26 11:01:35
2657
原创 xxl-job源码阅读——(八)BIO,NIO与xxl-job的Reactor实现
什么是BIO,NIO,IO多路复用?xxl-job如何通过Netty实现一个通信服务
2022-01-21 22:03:23
1025
原创 JAVA工程师晋升必备路线图
JAVA工程师晋升必备路线图,以后会按照下述结构逐渐填充细则,以及面试题。欢迎关注微信公众号 【JAVA技术分享官】,公众号首发,持续输出原创高质量JAVA开发者知识点
2022-01-17 20:12:22
968
原创 xxl-job源码阅读——架构设计及目录介绍
文章目录一.架构设计二.目录结构xxl-job-admin目录结构xxl-core目录结构一.架构设计xxl-job主要包含两部分,一是调度器,调度器需要独立部署;二是执行器,执行器作为maven依赖继承到我们的业务系统中,使用业务系统的资源做任务执行。(未使用过的同学可以先看一下官方文档使用指南)https://www.xuxueli.com/xxl-job/#5.3%20%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1官方架构图如下:二.目录结构xxl-job
2022-01-13 21:09:31
1246
3
原创 condition系列注解全面罗列
在spring某些场景下,我们希望随着某些配置项/类的存在与否,决定一些bean是否被实例化并加载到spring容器。@Conditional系列注解,便是这个问题的解决方案。相关注解罗列1. @Conditional注解 (spring context包下注解)需要给定一个value参数,value必须继承Condition接口,实现match方法。举例:声明一个名为datasource的bean,我们希望只有在存在配置项 lele.datasource.enabled并且为true时才加载
2021-11-30 16:00:49
641
原创 JAVA代码的动态编译加载,随后实例化bean注入Spring容器
一 需求背景每天需要定时的进行各种姿势的数据校验,而这些姿势的叠加层出不穷,如果每增加一个小姿势都要进行测试部署上线,十分不值得。于是我们决定将代码搬到数据库里面,可以随时随地增加不同的“校验姿势”。注意:这样的作法虽然可以很便捷的上代码,但是生产环境上还是不建议这样做,有心人想在动态代码里面搞事情,太容易了。二 步骤在项目中先定义一个checker接口,这个接口便是我们动态代码class的父类。定义一个数据库表,形式如下:-- Dynamic Code CompilerDROP TAB
2021-06-01 22:12:30
2067
3
原创 将布隆过滤器变形,判断两个list是否据有包含关系(不一定准确,但一定能判断出不包含)
一. 布隆过滤器的原理使用一个Bit Array,不断将到来的key通过一个hash函数散列到这个bitArray中。然后就可以使用这个bitArray比较新来到的key散列后是否能够映射到这个bitArray为1的位。这里提出一个小问题:第二步中如何具体比较?我的想法是:可以将新key的散列值与bitarray&操作,得到的结果如果与bitarry相同即为能够映射。二. 扩展将布隆过滤器变形,判断两个list是否据有包含关系(不一定准确,但一定能判断出不包含)举例: 我们要判断
2021-03-04 17:28:22
367
2
原创 Spring Bean 如何重新注入?
故事背景:以spring cache redis为例,Nacos配置中心配置了cacheManager的ttl参数,以@NacosValue的形式注入并配置为cacheManager的参数。了解spring cache的朋友们应该明白,这里的cacheManager是spring初始化时初始化的一个Bean,这个Bean在初始化时从Nacos获取了一个ttl参数并配置在这个Bean上。需求:修改Nacos的配置,cacheManager自动更新,使得ttl这bean能够刷新。实现思路:通过事件
2020-11-27 20:14:26
3130
2
原创 java8 lambda要这么用
lambda表达式由来已久,Scala中lambda的使用是家常便饭,而在java8中,也引进了lambda及stream的使用。1. lambda什么是lambda表达式?Lambda 表达式(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的函数。 ——百度百科...
2020-09-22 17:57:47
284
原创 JAVA自定义注解及使用-简单案例
一. 元注解自定义注解首先需要了解四个元注解,它是注解在注解上的注解,用于定义自定义注解的特性。@Retention用于表示注解在什么情况下生效。RetentionPolicy.SOURCE(编译器不会将注解编译到class中)RetentionPolicy.CLASS(会编译到class但不会被加载到jvm)RetentionPolicy.Runtime(在jvm中生效)@Documented注解,是被用来指定自定义注解是否能随着被定义的java文件生成到JavaDoc文档当中。@Ta
2020-07-16 14:09:06
810
原创 总结 java线程池及其用法
文章目录一、常见线程池1. 只有一个线程的线程池2. 固定数量线程的线程池3. 可以缓存空闲线程的线程池4. 可以延时/定时的线程池二、ThreadPoolExecutor三、使用场景。一、常见线程池并发编程离不开线程的使用,线程离不开线程池的使用。这里简单总结下ThreadPoolExecutor的参数及场景。Executors 是 JUC提供的线程池使用工具类,里面定义了四种线程池的生成方法,我们从这里入手进行解释。1. 只有一个线程的线程池ExecutorService singleThre
2020-07-09 16:38:27
311
原创 分布式事务还是MQ?强一致性还是最终一致性?
一、单机事务的延伸二、九十年代的XA事务三、常见的分布式事务方案事务补偿本地消息表消息队列四、分布式事务框架Seataseata结构简介,TC、TM、RM。AT模式一阶段(prepare):所有RM解析当前sql,自动生成回滚日志。执行sql,此时数据库相关数据已被改写。二阶段(rollback): 所有RM根据之前的回滚日志进行反向sql,将数据库相关数据再改回来。二阶段(commit):所有RM清除本次事务无关数据,如回滚日志。缺点:解析sql损耗性能、无法保证脏读(AT默认是读
2020-06-17 23:47:54
2662
原创 从零开始SpringCloud Alibaba电商系统(十五)——互斥锁的概念、分布式锁的实现
文章目录零、系列一、互斥锁二、Java中的锁synchronizedReentrantLock三、分布式锁四、demo地址零、系列欢迎来嫖从零开始SpringCloud Alibaba电商系列:从零开始SpringCloud Alibaba电商系统(一)——Alibaba与Nacos服务注册与发现从零开始SpringCloud Alibaba电商系统(二)——Nacos配置中心从零开始SpringCloud Alibaba电商系统(三)——Sentinel流量防卫兵介绍、流量控制demo从零开
2020-06-06 00:15:00
1525
原创 聊聊Mysql的事务、Spring中的@Transaction
文章目录什么是事务?A : Atomic(原子性)C:Consistent(一致性)I : Isolation(隔离性)Durability 持久性使用事务有什么好处?Spring中的@Transaction@Transaction是什么?@Transaction传播机制Mysql事务的分类事务是我们大部分程序员绕不过去的坎,事务到底是什么?事务对我们有什么好处?mysql的事务和spring的@Transaction是怎么个关系?什么是事务?事务(Transaction)是由一系列对系统中数据进
2020-05-31 21:58:19
813
原创 从零开始SpringCloud Alibaba电商系统(十四)——简单商品模块需求、使用ElasticSearch构建商品搜索
文章目录零、系列一、需求简述(一) 商品模块七、demo地址零、系列欢迎来嫖从零开始SpringCloud Alibaba电商系列:从零开始SpringCloud Alibaba电商系统(一)——Alibaba与Nacos服务注册与发现从零开始SpringCloud Alibaba电商系统(二)——Nacos配置中心从零开始SpringCloud Alibaba电商系统(三)——Sentinel流量防卫兵介绍、流量控制demo从零开始SpringCloud Alibaba电商系统(四)——Se
2020-05-28 00:18:26
779
原创 从零开始SpringCloud Alibaba电商系统(十三)——ElasticSearch介绍、logback写入ES
文章目录零、系列一、需求简述二、ElasticSearch简介三、ElasticSearch REST基本操作四、demo地址零、系列欢迎来嫖从零开始SpringCloud Alibaba电商系列:从零开始SpringCloud Alibaba电商系统(一)——Alibaba与Nacos服务注册与发现从零开始SpringCloud Alibaba电商系统(二)——Nacos配置中心从零开始SpringCloud Alibaba电商系统(三)——Sentinel流量防卫兵介绍、流量控制demo从
2020-05-20 23:17:39
1316
原创 从零开始SpringCloud Alibaba电商系统(十二)——spring aop记录用户操作日志
文章目录零、系列一、需求简述二、Spring AOP三、实现四、demo地址零、系列欢迎来嫖从零开始SpringCloud Alibaba电商系列:从零开始SpringCloud Alibaba电商系统(一)——Alibaba与Nacos服务注册与发现从零开始SpringCloud Alibaba电商系统(二)——Nacos配置中心从零开始SpringCloud Alibaba电商系统(三)——Sentinel流量防卫兵介绍、流量控制demo从零开始SpringCloud Alibaba电商系
2020-05-14 23:43:21
1287
原创 从零开始SpringCloud Alibaba电商系统(十一)——spring security完善之动态url控制
文章目录零、系列一、动态url控制二、具体实现三、demo地址零、系列欢迎来嫖从零开始SpringCloud Alibaba电商系列:从零开始SpringCloud Alibaba电商系统(一)——Alibaba与Nacos服务注册与发现从零开始SpringCloud Alibaba电商系统(二)——Nacos配置中心从零开始SpringCloud Alibaba电商系统(三)——Sentinel流量防卫兵介绍、流量控制demo从零开始SpringCloud Alibaba电商系统(四)——S
2020-05-09 23:48:35
1068
原创 从零开始SpringCloud Alibaba电商系统(十)——基于Redis Session的认证鉴权
文章目录零、系列一、 概述零、系列欢迎来嫖从零开始SpringCloud Alibaba电商系列:从零开始SpringCloud Alibaba电商系统(一)——Alibaba与Nacos服务注册与发现从零开始SpringCloud Alibaba电商系统(二)——Nacos配置中心从零开始SpringCloud Alibaba电商系统(三)——Sentinel流量防卫兵介绍、流量控制...
2020-05-05 00:38:42
2059
xiaoshuo_03_6-6.zip
2019-06-11
sparkstreaming2.3_kafka0.8_jar包集合
2018-04-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人