如何使用SpringBoot写一个属于自己的Starter
[#](#一-概述) (一)概述 {#一-概述} ------------------------ SpringBoot以其自动装配的能力被广泛应用,我们在写代码时肯定遇到过很多spring-boot-starter命名的依赖,比如spring-boot-starter-web,在pom文件中引入这些starter依赖后,SpringBoot就能通过自动装配的技术扫描到这些类...
[#](#一-概述) (一)概述 {#一-概述} ------------------------ SpringBoot以其自动装配的能力被广泛应用,我们在写代码时肯定遇到过很多spring-boot-starter命名的依赖,比如spring-boot-starter-web,在pom文件中引入这些starter依赖后,SpringBoot就能通过自动装配的技术扫描到这些类...
[#](#前言) 前言 {#前言} ----------------- 前几天有人问了我这样一个问题:在使用多线程的时候,发现有一些数据会在进入到子线程之后丢失,比如用户信息,又比如记录日志的TraceId等等。这个子线程数据丢失的问题我早前也遇到过,刚好来讲讲解决方案。 [#](#前期准备) 前期准备 {#前期准备} ----------------------- 首先...
[#](#前言) 前言 {#前言} ----------------- 上一篇文章介绍了如何使用MyBatis的Plugin,来实现SQL的日志打印,这篇文章介绍一下如何将SpringBoot的请求日志,优雅地打印到日志中。 实现效果是这样的,只需要在需要打印的接口上加上一个注解,或者增加一项配置项,一个很详细的请求出入参等信息就被打印出来了。 ![](http://sta...
[#](#一-概述) (一)概述 {#一-概述} ------------------------ 一般认为,消息中间件属于分布式系统中一个子系统,关注于数据的发送和接收,利用高效可靠的异步消息传递机制对分布式系统中的其余各个子系统进行集成。java中常用的消息中间件有ActiveMQ、RabbitMQ、Kafka等等。 消息中间件的作用主要有系统解耦、异步调用、流量削峰等...
[#](#一-rabbitmq的使用教程) (一)RabbitMQ的使用教程 {#一-rabbitmq的使用教程} --------------------------------------------------------- RabbitMQ的官网提供了RabbitMQ的六种创建消息传递应用程序的方式https://www.rabbitmq.com/getstarted...
[#](#一-rabbitmq工作队列模型结构) (一)RabbitMQ工作队列模型结构 {#一-rabbitmq工作队列模型结构} ------------------------------------------------------------------ 工作队列的模型相比简单队列增加了消费者的数量。 ![](http://static.51tbox.com/s...
[#](#一-发布-订阅模型-publish-subscribe) (一)发布-订阅模型(Publish/Subscribe) {#一-发布-订阅模型-publish-subscribe} ---------------------------------------------------------------------------------------------- ...
[#](#一-概述) (一)概述 {#一-概述} ------------------------ rabbitmq在使用过程中会遇到一个问题:生产者将消息发送出去后,消息有没有达到rabbitmq,默认是不知道的。 有两种解决方式:1.AMQP实现事务机制;2.Confirm模式 [#](#二-事务机制) (二)事务机制 {#二-事务机制} --------------...
[#](#一-routing路由模式) (一)routing路由模式 {#一-routing路由模式} --------------------------------------------------- 在前面一篇博客中讲到了exchange的类型,其中direct类型的exchange就是用于routing路由模式。direct类型的交换机是指:交换机和队列绑定时会设置...
[#](#一-什么是粘包、半包) (一)什么是粘包、半包 {#一-什么是粘包、半包} ------------------------------------------ 在实际的网络开发中或者在面试中,最开始使用TCP协议时经常会碰上粘包和半包的情况,因此我们有必要了解一下什么是粘包,什么是半包,以及如何去解决。 **粘包**:故名思意就是客户端和服务端之间发送的数据包粘...