如果对SpringBoot缓存不熟悉的建议先看第一片文章SpringBoot使用caffeine作为缓存,为什么使用分布式缓存?在实际开发场景中,往往单机应用无法满足当前的需求,需要对项目进行分布式部署,由此,每个项目中的缓存都是属于自己独立服务的,并不能共享,其次,当某个服务更新了缓存,其他服务并不知道,当用户请求到其他服务时,获取到的往往还是旧的数据,说到这,就有人会说使用Redis进行代替,
# Spring Boot 如何分布式消费 Kafka 数据 在现代微服务架构中,消息队列已经成为实现服务之间异步通信的重要工具。Kafka 是一种流行的分布式消息队列,适用于高吞吐量、可扩展的应用场景。本文将探讨如何使用 Spring Boot 构建一个分布式消费者来消费 Kafka 数据,同时解决一个具体的问题:订单处理。 ## 问题背景 在一个电子商务系统中,订单服务负责生成订单后,需
原创 2024-10-23 04:07:01
144阅读
Kafka是上个老东家常用中间件。虽然说会用,但是对他的了解其实也并不多,仅仅停留在会用的阶段。最近这两天,工作也比较忙,但还是利用自己的业余时间,在我的SpringBoot工程中,简简单单的集成使用了一下。下面简单的介绍介绍。一、Kafka的定义首先我们应该知道Kafka是什么。Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica)
转载 2023-09-27 11:16:10
7阅读
springBoot中配置mybatis的二级缓存 在结合springBoot和mybatis的时候想用二级缓存怎么办,请耐心看完。 什么是延迟加载         resultMap中的association和collection标签具有延迟加载的功能。  &nbsp
转载 2023-11-21 15:47:56
49阅读
一、部署XXL-JOB任务调度中心下载地址:XXXL开源社区1、初始化数据库 2、修改配置文件 修改数据库密码,注意spring.mail.password设置是邮箱授权码,不是邮箱密码3、启动项目http://localhost:8080/xxl-job-admin/  账号和密码,admin/123456二、使用任务调度中心1、新建执行器 2、新增任务管
1、集群使用定时任务的问题:   目前大部分在集群中处理定时任务的方式不是正真的分布式处理方式,而是一种伪分布式,这种方式存在一个明显的缺陷就是当集群中机器宕机, 那么整个定时任务就会挂掉或者不能一次性跑完,会对业务产生严重的影响。  而且在集群环境中,同样的定时任务,在集群中的每台服务器都会执行,这样定时任务就会重复执行,不但会增加服务器的负担,还会因为定时任务重复
Spring的出现是为了取代EJB(Enterprise JavaBean)的臃肿、低效、脱离现实的缺点。Spring致力于J2EE应用的各层(表现层、业务层、持久层)的解决方案,Spring是企业应用开发的“一站”选择。1.Spring定义:Spring是分层的JavaSE/EE应用一站的轻量级开源框架(官网:http://spring.io/),以Ioc(Inverse of contro
转载 2023-12-09 12:38:34
76阅读
延时队列的三种实现方案什么是延时队列延时队列的应用场景基于Java DelayQueue的实现DelayQueue类图结构源码剖析基于Redis的zset实现实现步骤Redis延时队列优势Redis延时队列劣势基于RabbitMQ的延时队列实现TTL + DXL(死信队列)插件实现总结 什么是延时队列在分布式系统中,延时队列(Delay Queue)是一个常见的工具,它 允许程序能够按照预定时间
分布式延时队列设计V1~2一、引言背景        我们在做系统时,很多时候是处理实时的任务,请求来了马上就处理,然后立刻给用户以反馈。但有时也会遇到非实时的任务,比如确定的时间点发布重要公告。或者需要在用户做了一件事情的X分钟/Y小时后,EG:        “PM:我们需要在这个用户通话开始10分钟后给予提醒给他
# Spring Boot 分布式日志实现指南 在现代微服务架构中,分布式系统的日志管理变得愈发重要。本文将为刚入行的小白开发者详细讲解如何实现 Spring Boot 项目的分布式日志功能,以下是整个流程的步骤概览。 | 步骤 | 描述 | |------|------| | 1 | 选择日志框架 | | 2 | 配置 Spring Boot 项目 | | 3 | 实现日志
1、架构图: 1、UAA认证服务负责认证授权。2、所有请求经过 网关到达微服务3、网关负责鉴权客户端以及请求转发4、网关将token解析后传给微服务,微服务进行授权。2、注册中心所有微服务的请求都经过网关,网关从注册中心读取微服务的地址,将请求转发至微服务。 本节完成注册中心的搭建,注册中心采用Eureka。新建一个module。<?xml version="1.0" encoding="U
写在前面的话各位小伙伴,你们有福了,这一节不仅教大家怎么实现分布式session的问题,还用kotlin开发,喜欢kotlin的小伙伴是不是很开心!以前在写Android的时候,就对客户端请求有一定的认识,比如为什么要用token认证。这一节我们——基于Spring Boot + Redis + ajax + jsonp实现session共享,因为session共享在分布式开发中很常见,所以起“s
转载 2023-11-26 11:16:35
51阅读
1、SpringCloud面试整理Spring cloud流应用程序启动器是基于Spring BootSpring集成应用程 序,提供与外部系统的集成。Spring cloud Task,一个生命周期短暂的微 服务框架,用于快速构建执行有限数据处理的应用程序。2、     使用Spring Cloud有什么优势?使用Spring Boot开发分布式微服务时
2020年是比较难过的一年,IT行业也不例外。平时多学习学习,保持核心竞争力。我始终相信:只要方向对了,努力坚持,该来的始终会来的。 今天来聊聊面试的必聊话题:事务。先抛出几个问题:什么是事务。spring是怎么实现事务的。什么是分布式事务。分布式事务的实现方式。什么是事务? 事务是指一个业务逻辑中的一系列操作作为一个整体,这些操作要么全部成功,要么全部失败回滚。 事务四大特性:原子性,隔离性,
分布式事务单个事务的分布式系统因为微服务用feign远程调用不同服务的接口, 还使用了rest风格如果抛出异常就返回一个状态码, 因为feign的内部实现了 如果发现抛出的异常状态码不是200 左右他就会自动抛出异常,把异常从一个微服务转到另一个微服务.(异常传过来了 事务的特性就传过来了)上面的说明只能是单个事务. . 如果遇到多个事务上面的方案就处理不了了…超过两个事物的分布式系统以后更新,最
项目介绍接口安全设计安全问题及解决方案数据在网络中传输,中间会经历无数路由器,而每个路由器都可以抓包。比如网约车查询用户信息中,有用户身份证,余额等信息。或者订单中用户的行程记录。用fiddler演示一下: 打开fiddler。 浏览器访问:http://localhost:9100/api-driver/test/hello 查看fiddler中:Inspectors下 Headers。为防止被
一、概述  1、业务背景  对老系统进行重构合并,导致新系统需要同时对3个数据库进行管理。由于出现跨库业务,需要实现分布式事务。  2、开发环境  spring框架版本  4.3.10.RELEASE  持久层为结合mybatis写的领域模型,如    每一个entity对应数据库的一张表,@DataSource注解(自定义)了对应数据源的key值。所以一个业务中可能存在数据源的切换。 
转载 2023-10-07 19:15:53
88阅读
Spring配置延迟加载两种方法:1. 使用Spring提供的Open Session In View机制,它有两种配置方式OpenSessionInViewInterceptor和OpenSessionInViewFilter,功能相同,只是一个在web.xml配置,另一个在application.xml配置而已。 Open Session In View在request把session绑定到当
转载 2023-06-29 21:20:43
152阅读
一、简介1.1 概述XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。1.2 特性1、简单:支持通过Web页面对任务进行CRUD操作,操作简单,一分钟上手;2、动态:支持动态修改任务状态、启动/停止任务,以及终止运行中任务,即时生效;3、调度中心HA(中心):调度采用中心设计,“调度中心”基于集群
转载 2023-10-13 21:37:01
52阅读
接上文......(三) LTS简单集成springboot项目特别说明:本示例的主要目的仅仅是告诉大家如何使用LTS,所以偷了个懒,将所有节点都揉合到了一个工程,实际项目是分开部署的,因需而定。整个工程其实很简单:(一定要先搞明白这个项目结构)(1) 准备工作新建SpringBoot工程导入相应的依赖,完成项目pom文件(1.1) 项目依赖<dependencies>
转载 2024-05-18 23:00:50
42阅读
  • 1
  • 2
  • 3
  • 4
  • 5