seata 简介Seata 是 阿里巴巴2019年开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。在 Seata 开源之前,Seata 对应的内部版本在阿里内部一直扮演着分布式一致性中间件的角色,帮助阿里度过历年的双11,对各业务进行了有力的支撑。经过多年沉淀与积累,2019.1 Seata 正式宣布对外开源 。目前 Seata 1.0 已经 GA。微服务中的分
一、Quartz 核心概念 我们需要明白 Quartz 的几个核心概念,这样理解起 Quartz 的原理就会变得简单了。1.Job: 表示一个工作,要执行的具体内容。此接口中只有一个方法,如下: void execute(JobExecutionContext context)2.JobDetail: 表示一个具体的可执行的调度程序,Job 是这个可执行程调度程序所要执行的内容,另
转载
2024-03-28 04:43:48
108阅读
文章目录1.Linux1.1 简单介绍1.2 VM使用1.3 配置1.4 虚拟机克隆1.5 Linux命令1.5.1 cd命令集1.5.2 ls目录和文件1.5.3 目录操作1.5.4 Vi/vim创建/查看/编辑文件1.5.5 删除文件1.5.6 复制和移动文件1.5.7 浏览文件1.5.8 打包命令1.5.9 grep命令1.6 Xshell1.7 Linux系统安装JDK总结 前俩节介绍
转载
2024-04-03 15:00:34
135阅读
分布式1. 谈谈业务中使用分布式的场景为什么需要使用分布式:单体项目的性能瓶颈问题,需要分布式提升性能。场景1:服务拆分。 单体项目将不同服务进行拆分,拆分后的服务可以支持横向扩容,避免因为单台服务器问题影响整体项目。场景2:数据库拆分。 数据库读写分离,分库分表等提升性能。2. Session分布式方案项目场景:传统项目:服务器的session保存在本地,每次请求都会在同一个地方, 只要sess
转载
2024-04-01 14:57:21
26阅读
一、分布式应用在分布式系统中,国内常用zookeeper+dubbo组合,而Spring Boot推荐使用全栈的Spring,Spring Boot+Spring Cloud。分布式系统:单一应用架构 当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的数据访问框架(ORM)是关键。垂直应用架构 当访问量逐渐增大,单一应用增加机器带来的加速度
转载
2024-03-22 13:52:07
33阅读
一、创建父项目 pom.xml添加 <packaging>pom</packaging> 二、创建子项目 order、stock 子项目pom.xml加上 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> ...
转载
2021-10-19 22:43:00
572阅读
2评论
docker介绍安装dockerUbuntu安装dockerCentOS安装docker通过脚本安装拉取java环境创建springboot项目打包springboot到dockerdocker查看容器的日志查看log4j2输出问文件日志docker介绍Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows
Spring boot分布式项目实战项目 B站链接:【SpringBoot项目实战】 2020最新在线教育 spring boot分布式项目实战_哔哩哔哩_bilibili 项目中资源: 源码+讲义+笔记 资料:链接:https://pan.baidu.com/s/1JQC99C5sXj2pev94
原创
2022-05-27 22:42:51
1105阅读
1.2 共享资源适用场景两个数据源可共享同一底层资源时。比如ActiveMQ使用DB作为底层资源存储,使用DB的connection控制事务提交,需要数据源支持指定底层资源存储方式。1.3 最大努力一次提交依次提交事务,可能会出错,尽量通过AOP或Listener实现事务直接的同步。1.4 JMS最大努力一次提交+重试适用场景其中一个数据源是MQ,并且事务由读MQ消息开始。利用MQ消息的重试机制,
转载
2024-09-24 09:13:34
14阅读
概述提到分布式锁大家都会想到如下两种:基于Redisson组件,使用redlock算法实现基于Apache Curator,利用Zookeeper的临时顺序节点模型实现今天我们来说说第三种,使用 Spring Integration 实现,也是我个人比较推荐的一种。Spring Integration在基于Spring的应用程序中实现轻量级消息传递,并支持通过声明适配器与外部系统集成。 Sprin
转载
2024-04-03 20:56:27
65阅读
一、 搭建配置中心首先在pom文件中引入配置中心相关的jar包<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
<version>2.2.0
转载
2024-09-28 19:03:45
38阅读
六、API网关:Zuulzuul也叫路由网关,具体啥作用咱目前也不用管,个人喜欢先上手,会用了再去了解它到底是什么。咱们暂时可以参考controller来理解zuul,简单来说就类似于路径带"/order"访问订单服务,带"/goods"访问商品服务。开干,新建模块zuul,pom.xml如下:<?xml version="1.0" encoding="UTF-8"?>
<pro
在这篇博文中,我将探讨如何构建一个 **Spring Boot 项目分布式架构**,分享我在设计和实施过程中所经历的细节与思考。
### 背景定位
随着业务的不断增长,我们的单体架构开始暴露出许多**初始技术痛点**。面对日益增加的用户请求和系统压力,我们逐渐意识到需要将项目迁移到分布式架构以优化性能和扩展性。
在这个阶段,我们使用**四象限图**来评估当前的技术债务分布,发现大部分问题集中
一、分布式应用在分布式系统中,国内常用zookeeper+dubbo组合,而Spring Boot推荐使用全栈的Spring,Spring Boot+Spring Cloud。分布式系统架构:ORM:是通过使用描述对象和数据库之间映射的元数据,将面向对象语言程序中的对象自动持久化到关系数据库中。MVC:用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定
转载
2024-03-21 12:12:50
375阅读
文章目录前言名词解释TM 配置TC 配置LCN (Lock Confirm Notify) 模式TCC (Try Confirm Cancel) 模式参考链接 前言TX-LCN 是一款国产分布式事务协调框架,框架其本身并不操作事务,而是基于对事务的协调从而达到事务一致性的效果。本文讲解如何使用 Springboot 作为基础,来配置使用 TX-LCN。需要 MySQL 和 Redis。名词解释T
转载
2024-03-26 17:09:25
292阅读
一、zookeeper使用
1、进入linux系统使用docker安装zookeeper
docker pull zookeeper
2、运行zookeepe查看zookeeper的docker镜像的id
docker images
官方给出的docker启动命令为:$ docker run --name some-zookeeper --restart always -d zookeeper此镜
转载
2021-07-08 10:13:06
488阅读
第1章 课程介绍【赠送一期源码+一期内容回顾】本章首先会对一期成果进行回顾、然后确定本次进阶课程的演进目标以及进阶课程的内容安排。然后会介绍课程使用各种技术版本,以方便大家的环境和课程保持一致,减少因版本不同而踩的没必要的坑。之后会对二期项目初始化进行讲解,包括IDEA中导入二期源码项目,Maven配置,支付宝本地jar包配置,配置文件的配置。并加以调试,...第2章 Lombok框架集成及原理解
转载
2023-10-12 22:14:50
78阅读
SpringBoot 分布式系统简单了解SpringBoot 框架的使用基本是了解的差不多了,马上就进入微服务的阶段了,在此之前必须要了解什么是分布式系统。1. 分布式系统简介分布式系统(distributed system)是建立在网络之上的软件系统。在《分布式系统原理与范型》书中有分布式系统的定义:“分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统”。分布式系统是由一组
转载
2024-04-16 08:39:59
30阅读
一、SpringCloud1、SpringCloud是什么Spring Cloud是一系列框架的有序集合,这些框架为我们提供了分布式系统构建工具。2、SpringCloud包含那些项目项目项目名称服务注册于发现Alibaba Nacos、Netflix Eureka、Apache Zookper分布式配置中心Alibaba Nacos、Spring Cloud Config网关Spring Clo
转载
2024-08-13 18:48:35
36阅读
分布式id解决方案一、从mysql本身出发专门用一张表记录最后一次的idselect last_insert_id()每个mysql的库中自增的值不一样A库 从0开始每次增加2
B库 从1开始每次增加2同2相似A库 从1开始每次增加1
B库 从100万开始每次增加1二、通过生成的UUID存值String s = UUID.randomUUID().toString();数字生成为32位,浪费资源;
转载
2024-01-03 15:12:46
88阅读