架构
文章平均质量分 84
有头发的程序猿!
哪有不可逾越的大山,只有想而不敢的苟且。
后续会更新MQ,springCloud,vue,python,人不懒则路不会断,兢兢业业总好过碌碌无为。
展开
-
随手记录第九话 -- Java框架整合篇
实例:Mybatis/*** 实现自定义bean并注册到BeanDefinitionRegistry//TestAction 无任何加载的标识 可以用这种方法向容器注册 mybatis里面用到 BeanDefinitionBuilder builder = BeanDefinitionBuilder . genericBeanDefinition(TestAction . class);原创 2023-03-29 16:11:38 · 1090 阅读 · 1 评论 -
Swagger第一话 -- Springboot集成Swagger及使用
需求变化快,api文档写到吐?字段漏掉或者更新不及时?集成这东西后,那就都不是问题,这就是Swagger基于,引入依赖2.代码初始化3.代码中使用两个接口,一个实体类4.对应的截图首页截图get接口详细截图post接口详细截图返回值如果为实体类,也可以在swagger上体现。既能显示还能调用接口,巴适。注意:上传文件且带参时,不支持在这里调用以上就是本章的全部内容了。上一篇:Jpa第一话 – Springboot集成Jpa以及Jpa的最全使用下一篇:SpringSecurity原创 2022-07-12 11:31:29 · 396 阅读 · 0 评论 -
Jpa第二话 -- Jpa多数据源集成
前面记录过Mybatis的多数据源,最近有定时清除各种记录需要用到多数据源,这里决定采用Jpa本文主要记录Jpa多数据源的配置与使用基于,引入依赖2.yaml配置3.连接代码其他数据源复制即可,但需要注意标签必须有且只能有一个,加上此注解的表示对应对象的默认值正常注解使用,在一个事务中如果同时操作两个库更新,取决于注解的事务类,默认的使用的是加了注解的数据源事务管理器,也可选择传参来指定使用某个数据源事务管理如果需要事务合并的需要使用到第三方事务管理包,在mybatis第二话 - mybatis原创 2022-07-12 10:56:36 · 362 阅读 · 0 评论 -
SpringCloud第五话 -- Gateway实现负载均衡、熔断、限流
本文主要记录gateway实现路由转发,负载均衡,熔断和限流环境准备parent包gateway依赖springcloud版本管理2.yaml配置3.路由转发和负载均衡测试启动不同端口的user服务,然后通过gateway调用3.2 返回结果输出可以正常路由转发和负载均衡,默认策略是轮询熔断:就是通过在转发过程中失败的,从而采取的降级策略。良好的返回提示给前端。本来是想通过直接配置重定向的,奈何已经不更新了,没法兼容。直接采用一刀切算了。开启gateway和user服务访问后,然后停掉u原创 2022-07-08 17:02:17 · 3972 阅读 · 2 评论 -
SpringCloud第四话 -- OpenFeign实现模板化远程通信
本文主要记录Springboot集成OpenFeign实现模板化远程通信。对本文中内容有不了解的,建议先看前面的文章,底部有导航基于,一个order服务一个user服务1.2 yaml配置order调用端,配置的超时设置注释掉了,后面文章分享熔断限流用user服务仅需要注册远程调用依赖于注册中心,这里用的是nacos,其他的eureka也可以的客户端代码1.4.服务端暴露接口1.5.测试日志以上就是本章的全部内容了。上一篇:SpringCloud第三话 – 基于Nacos实现注册原创 2022-07-07 18:09:04 · 346 阅读 · 0 评论 -
SpringCloud第三话 -- 基于Nacos实现注册中心以及远程服务调用
本文主要记录基于Nacos实现服务注册中心和远程服务调用基于,order服务和user服务1.2 yaml配置order服务application.ymluser服务application.yml1.4 添加启动注解,需要注册到Nacos的服务都需要添加1.3 启动服务,查看控制台控制台地址,账号密码都是,查看服务列表服务详情图如果未配置,ip则显示外网ip,也会用于服务调用2.2 客户端调用代码2.3 服务端暴露接口2.4 服务调用测试访问客户端调用接口,截图原创 2022-07-07 16:29:22 · 622 阅读 · 0 评论 -
JVM第一话 -- JVM入门详解以及运行时数据区分析
JVM(Java Virtual Machine) 是Jvm虚拟机的一种规范。当安装了JDK以后,可以看到默认是已安装HotSpot虚拟机的,Java程序需要运行在虚拟机上,所以Java语言是跨平台语言。Java语言的特点: 一处编译,多处执行,跨平台,安全性(1.摒弃指针 2、GC垃圾回收机制:(自动释放回收长时间不使用对象的内存))结构:JDK & JRE & JVM上一篇:MongoDB第二话 – MongoDB高可用集群实现下一篇:JVM第二话 – JVM内存模型以及垃圾回收.........原创 2022-06-29 17:20:56 · 347 阅读 · 0 评论 -
RabbitMQ第三话 -- RabbitMQ高可用集群搭建
本文主要记录RabbitMQ的高可用集群搭建。liunx centos7,docker-compose,镜像rabbitmq:3.9-management,两个节点5672和56733.初始化集群进入容易内部执行,指定某一台机器为master,master不需要执行该操作也可以使用shell脚本4.web管理控制台访问15672或者15673均为以下界面,则搭建成功RabbitMQ第二话 – Springboot基于四种Exchange......原创 2022-06-23 16:31:31 · 364 阅读 · 0 评论 -
通信框架之Netty第二话 - 终极理解HTTP协议以及手写一个Tomcat
源码全贴了,就不上云了,原理应该了解了吧,下篇文章会改造成Netty版本的。以上就是本章的全部内容了。上一篇:通信框架之Netty第一话 - NIO的超神发展之路下一篇:通信框架之Netty第三话 - Netty的使用以及使用Netty改造Tomcat不见只今汾水上,唯有年年秋雁飞原创 2022-05-02 12:00:33 · 723 阅读 · 0 评论 -
通信框架之Netty第一话 - NIO的超神发展之路
上一篇:mysql第十话 - mysql+springboot之sharding-JDBC分表分库实战下一篇:通信框架之Netty第二话 - 深层次理解HTTP协议并手写一个Tomcat路漫漫其修道远,吾将上下而求索原创 2022-04-26 18:27:39 · 436 阅读 · 0 评论 -
mysql第八话 - mysql的其它懒人用法
作用:批量一次性循环插入操作,多级关联查询(A关联B,B关联C。。。等等)以上就是本章的全部内容了。上一篇:mysql第七话 - mysql性能优化总结下一篇:mysql第九话 - mysql+springboot之sharding-JDBC分表分库实战不见只今汾水上,唯有年年秋雁飞原创 2022-04-11 11:15:00 · 176 阅读 · 0 评论 -
mysql第七话 - mysql性能优化总结
这么说吧,我觉得在服务运行保证响应快的同时还要跑的久。作为开发人员,在这里分享几点经验:不要无脑的添加索引尽量减少非必要的关联查询,在多张大数据量表不用做分页的情况下,宁愿多次查询查询尽量走索引,长一点的sql一定要先看执行计划统计尽量做读写分离,没这个条件的尽量异步定时跑,尽量不用实时。统计表尽量单表查询,不要一条sql查询整个统计(随着数据量增大数据库压力越来越大,而且还伴随着定期优化)经常调用的数据可以维护一套到redis,减少数据库查询次数定期清理无用的数据定期移动历史数据原创 2022-04-10 12:30:00 · 241 阅读 · 0 评论 -
mysql第六话 - mysql事务与锁详解
1.脏读(可能会回滚)一个事务读到另一个还未提交的数据A开启了事务查询id=10的数据,B开启了事务更新了id=10的数据但还未提交,A查询时能查到B已修改的数据2.不可重复读(update/delete)3.幻读(insert)上一篇:mysql第五话 - mysql索引原理分析下一篇:mysql第七话 - mysql性能优化总结一日难再晨,岁月不饶人原创 2022-04-07 17:25:35 · 2802 阅读 · 0 评论 -
mysql第五话 - mysql索引原理分析
本文探索了可以作为索引的数据结果对比,最终得知B+树最为适合。同时分析了mysql中最为经典的两种数据引擎InnoDB和Myisam,在索引的底层实现上各有不同,但也各有千秋。对比InnoDB和Myisam的特点:Myisam查询性能好。InnoDB可以实现行级别的锁,事务处理起来更加合适。上一篇:mysql第四话 - mysql bin log的开启及使用下一篇:mysql第六话 - mysql事务与锁详解原创 2022-04-02 18:49:00 · 3606 阅读 · 0 评论 -
mysql第三话 - mysql内存结构详解以及事务的更新语句的执行过程
Mysql是最流行的关系型数据库,关系型数据库具有的特点有如下几个:数据以表格的形式存在每行为各种记录数据每列为数据对应的值一个database有若干个表上一篇:mysql第二话 - mysql架构和执行流程下一篇:mysql第四话 - mysql bin log的开启及使用三更灯火五更鸡,正是男儿读书时。黑发不知勤学早,白首方悔读书迟原创 2022-03-30 16:41:25 · 2868 阅读 · 0 评论 -
mysql第二话 - mysql架构和执行流程
mysql对于做程序的肯定很熟悉吧,本文主要记录一下mysql架构和一条sql执行的整个流程在mysql中,存在两个非常相似的概念,即数据库和数据库实例。在mysql中的定义如下:* 数据库:存储数据的集合* 数据库实例:操作数据库的集合一个数据库实例可以操作多个数据库,一对多的关系。mysql是一个单进程多线程的服务,客户端每建立起一个连接,服务端都会用一个线程去处理这个连接。这中间都存在一一对应关系。下一篇:[mysql第三话 - mysql索引原理分析]原创 2022-03-25 16:00:00 · 3378 阅读 · 0 评论 -
mybatis第十一话 - mybaits getConnection连接数据库的源码分析
到本篇文章,整个Mybatis框架的分析应该是都完了,但是也在我心中产生了几个想法,为什么看不到连接数据库的源码,连接数据库的流程是怎么样的?为什么项目重启的第一次连接查询会很慢?本文主要探索一下mysql数据库的连接过程!上一篇:mybatis第十话 - mybaits整个事务流程的源码分析下一篇:mysql第一话 - mysql基于docker的安装及使用云想衣裳花想容,春风拂槛露华浓原创 2022-03-19 18:59:59 · 1285 阅读 · 0 评论 -
mybatis第十话 - mybaits整个事务流程的源码分析
4 总结>1.事务是根据Spring的AOP机制去完成的2.AOP生是根据类生成代理类的,所以事务代码块执行时使用`this.addMoney(事务块代码)`是无效的,只能重新获取该代理类执行事务块代码才会生效3.事务是每次处理完都会被回收掉的。上一篇:[mybatis第九话 - 手写实现一个简单的mybatis版本]下一篇:[mybatis第十一话 - mybaits getConnection连接数据库的源码分析]原创 2022-03-17 13:15:23 · 682 阅读 · 0 评论 -
Springboot源码分析第二弹 - 自动配置实现
**自动配置实现分析就到这里了,这个比自动装配简单多了,主要是要了解spring.factories其中的Listener配置**以上就是本章的全部内容了。上一篇:[Springboot源码分析第一弹 - 自动装配实现](https://blog.csdn.net/qq_35551875/article/details/122407383)下一篇:[Springboot源码分析第三弹 - 自动装配扩展,手动实现一个starter](https://blog.csdn.net/qq_35551875原创 2022-01-19 17:03:53 · 313 阅读 · 0 评论 -
Springboot源码分析第一弹 - 自动装配实现
到这里,整个自动装配的流程就结束了,源码比较绕,需要很有耐心看上一篇:[SpringMvc源码分析第六弹 - 基于SpringMvc源码后的手写高仿版](https://blog.csdn.net/qq_35551875/article/details/122407291)下一篇:[Springboot源码分析第二弹 - 自动配置实现](https://blog.csdn.net/qq_35551875/article/details/122407401)东隅已逝,桑榆原创 2022-01-15 10:45:00 · 249 阅读 · 0 评论 -
SpringMvc源码分析第六弹 - 基于SpringMvc源码后的手写高仿版
SpringMvc源码分析第六弹 - 基于SpringMvc源码后的手写高仿版上一篇:Spring源码分析第五弹 - 神级的spring还有其他什么功效?下一篇:Springboot源码分析第一弹 - 自动装配实现问渠那得清如许,为有源头活水来原创 2022-01-12 14:30:00 · 257 阅读 · 0 评论