Mybatis Plus 不常用的功能
## Mybatis Plus 不常用的功能 Mybatis Plus 是 Mybatis 的一个增强工具,官网是 https://mp.baomidou.com/,github 地址是 https://github.com/baomidou/mybatis-plus ,社区还是比较活跃。其中的功能强大有许多人都不太了解,这里做简单的记录。 ### 特性 - 无侵入:只做增强不做
## Mybatis Plus 不常用的功能 Mybatis Plus 是 Mybatis 的一个增强工具,官网是 https://mp.baomidou.com/,github 地址是 https://github.com/baomidou/mybatis-plus ,社区还是比较活跃。其中的功能强大有许多人都不太了解,这里做简单的记录。 ### 特性 - 无侵入:只做增强不做
## Alibaba Seata 实现分布式事务(二) > 之前有学习了 Seata 中的原理及其解决方案,这里就对 Seata 进行真正的落地实现,配置之前的分布式项目实现全局一致性事务。 gitee 项目地址:https://gitee.com/teaegg/spring-cloud-alibaba-template.git ### Nacos 注册中心与配置中心 [参
## Alibaba Seata 实现分布式事务(一) > 分布式事务是指一次大的操作分为不同的小操作,而这些小操作分布在不同的微服务中,分布式事务需要保证这些小操作要么完全地执行,要么完成地不执行。 分布式事务的产生原因 - 业务的微服务化 - 数据库分库分表 ### 分布式事务的解决方案 分布式框架中的两种经典的解决方案:二阶段提交 2PC 和 三阶段提
## 应用性能监控-- SkyWalking > SkyWalking 是中国人吴晟开源的应用性能管理系统(APM)工具,使用 Java 语言开发,现在已属于 Apache 旗下开源项目,官网 https://skywalking.apache.org/ SkyWalking 的核心是数据分析和度量结果的存储平台,通过 HTTP 或 gRPC 方式向 SkyWalking Collec
## Sleuth + ZipKin 实现微服务链路追踪 > 由于微服务架构本身的特性,一个完整的业务逻辑后边有着一些列相对独立的细粒度的服务组成,每个服务由不同的团队开发,且每个服务都分布在不同的机器上,如果在调用的过程发生问题,例如调用失败、调用过程响应很慢或响应失败,我们该如何在这个分布式环境下快速定位问题所在,如何快速分析业务处理中的响应慢的瓶颈在哪?多个微服务的拓扑图关系?如何完整
## 微服务的系统保护 - sentinel ### 微服务的雪崩效应 雪崩效应产生的原因,由于某原因导致某个服务不可用,之后导致上游服务不可用,然后导致级联效应,影响到调用改服务的其他辅,从而引起一系列连锁反应,最后导致整个系统的不可用。 造成雪崩效应常见的原因如下: - 流量突增 - 系统 bug - 硬件或网络异常 - 同步等待 - 缓存击穿 应对的方案
## 简单使用 Ribbon 实现微服务高可用通信 负载均衡按实现分类方式,可以分为服务端负载均衡和客户端负载均衡 ### 服务端负载均衡 在架构中会提供专用的负载均衡器,由负载均衡器持有后端节点的信息,服务消费者发来的请求经由专用的负载均衡器分发给服务提供者,进而实现负载均衡。 常用的负载均衡器硬件有:F5、Nginx、HaProxy 等。 ### 客户端负
## Nacos 搭建与简单的使用 > 随着互联网的快速发展,对开发员的要求越来越高,微服务的框架也是一个合格程序员的必要知识储备,本人又要开始慢慢的着手微服务的开发知识。 Nacos 有以下的特性 - 服务发现 服务发现 权重管理 打标管理 优雅上下线 - 配置管理 在线编辑 历史版本 一键回滚 恢复发布
## IDEA中类与方法自定义注释模板 ### 方法注解模板 在 idea 中的 File -> Settings -> Live Templates 中,新增一个模板注解 ![image-20220303071903692](https://mufeng-blog.oss-cn-beijing.aliyuncs.com/typecho/image-202203030719036
## 分布式调度 > 本博文可以分三部分进行学习,分布式调度的了解,Quartz 使用,Elastic-Job 使用。 ### 分布式调度定义 分布式任务调度有两层含义 1. 运行在分布式集群环境下的调度任务(同一个定时任务部署多分,只应该有一个定时任务在执行) 2. 分布式调度--> 定时任务的分布式 --> 定时任务的拆分 (把一个大的作业任务拆分为多个小的作业)