![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring cloud
我小叮当无可奈何
孤独且自由、无欲也无求
展开
-
分布式事务的原理及实际工作中遇到的解决方案
一、为什么存在分布式事务?因为系统微服务化后,服务拆分,数据库拆分导致一次更新可能在多服务(多JVM实例)下更新多数据源,无法应用单机事务,所以产生了分布式事务。二、 为什么分布式事务无法套用单机事务?由于多数据源,多服务实例导致服务调用需要使用远程调用等网络请求,网络请求会超时,如果套用单机事务会导致如下情况:A服务更新A库请求到达B服务请求返回A服务B服务更新B库最终结果成功成功成功失败a回滚b回滚成功成功失败成功a回滚b不回滚无原创 2020-09-21 17:59:58 · 382 阅读 · 0 评论 -
消息队列(RocketMQ):事务消息实现以及最终一致性
最近项目中有一个高并发的更新数据库单表单记录的功能,为了避免数据库压力,采取了更新该记录时候发送mq,进行流量消峰。但是该记录的更新要和其他表更新一起,就会有分布式事务的问题。所以就采用了RocketMQ的事务消息来实现分布式事务的一致性。RocketMQ前文中的阿里的rocketMq集成的ons框架配置以及普通、延时、定时消息实现的文章一、事务消息类型RockectMQ事务消息提供了X/Open XA的分布式事务的功能,能实现分布式事务的最终一致性。二、 X/Open XA规范是什么?X/OP原创 2020-09-18 15:31:01 · 4386 阅读 · 1 评论 -
SpringBoot :API接口拦截器验证(Token验证)并将数据存入Request中供接口调用
一、为什么需要拦截器?在前后端分离的现在,项目中的所有的前端的页面都需要通过调用后台的Api进行获取数据接口的功能点不同,就会有很多种情况,比如说涉及敏感数据(登录,获取个人信息,个人金额修改)相关的接口需要token验证获取不敏感数据则不需要进行校验vue等前端调用后台api,如果没有引入(nginx),则有可能有跨域问题所以说需要一个拦截器去区分哪些路径下需要token校验,那...原创 2020-04-29 15:41:20 · 11509 阅读 · 1 评论 -
@ControllerAdvice:全局异常处理示例
全局异常处理用@ControllerAdvice标记全局异常处理的类@ControllerAdvice这是一个增强的 Controller标签。使用这个 ControllerAdvice,可以实现三个方面的功能:全局异常处理设置全局变量,也就是设置完,每个接口能获取到整个参数数据预处理@ControllerAdvice修饰的类package com.example.demo.c...原创 2020-04-28 16:07:52 · 294 阅读 · 0 评论 -
消息队列(RocketMQ):springcloud结合ONS实现Tcp/Http通信方式的生产者和消费者实例
RocketMQ新公司的消息队列用的是RocketMQ,但是不是直接使用RocketMq,而是采用了阿里分布式开放消息服务(ONS)一、阿里分布式开放消息服务(ONS)ONS(Open Notification Service)即开放消息服务,是基于阿里开源消息中间件MetaQ(RocketMQ)打造的一款云消息产品。实现生产者与消费者的代码稍微和原生的有点差别二、阿里云中配置Rocket...原创 2020-04-27 18:00:06 · 5272 阅读 · 3 评论 -
Spring Cloud项目(三): 服务注册与发现(Eureka)、原理及其常见问题
Eureka一、简介Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。注:AWS(亚马逊云计算服务),其中重要组成部分有Region(区域)和Availa...原创 2020-03-04 20:37:34 · 984 阅读 · 0 评论 -
Spring Cloud项目(二): spring cloud config + eureka + git 远程仓库配置文件
Config远程git仓库操作分布式配置中心所有服务的配置文件归于中心仓库管理,spring cloud config 提供了将配置服务放在本地,也提供了远程仓库中,提供了两个角色,一是config server,二是config clientgit---->config 1,config 2,congfig3(可以看成一个仓库的不同分支,为不同服务提供定制的配置文件)—>...原创 2020-03-02 17:04:58 · 812 阅读 · 0 评论 -
SpringBoot:文件上传至阿里云
正常的项目中通常会有存放文件的需求,例如用户头像,用户简历等,我们需要把它存放在专门存放数据的云服务器上。Spring Boot 项目上传文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ma原创 2020-05-09 16:17:49 · 2032 阅读 · 3 评论 -
ElasticSearch在项目中使用场景以及本地demo实现
公司在使用ElasticSearch,放置一些数据,所以打算整理一下基础知识以及本地实现一下一个demo一、windows安装ElasticSearch和kibana(这里用作es数据可视化)安装ElasticSearch安装jdk1.8+版本下载ElasticSearch由于官网版本实在是太慢,所以ElasticSearch 7.6的百度云链接:ElasticSearch 7....原创 2020-05-07 15:44:13 · 1840 阅读 · 0 评论 -
Spring Cloud项目(一) springboot版本和cloud version的对应关系
SpringBoot 和 SpringCloud 版本大体对应(表粗为当前公司项目使用的版本)spring-boot-starter-parent(Spring Boot)spring-cloud-dependencie (SpringCloud版本名称由伦敦地铁站)1.2.xAngel版本1.3.xBrixton版本1.4.xCamden版本1.5....原创 2020-02-25 11:57:26 · 9992 阅读 · 0 评论