自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Anoraker的小屋

学渣笔记

  • 博客(152)
  • 资源 (2)
  • 收藏
  • 关注

原创 Stream手动分页

使用Stream流分页

2022-11-15 11:52:10 307 1

原创 JVM内存结构

直接内存,方法区,堆,虚拟机栈,程序计数器,本地方法栈

2022-10-19 14:14:26 229

原创 JVM引言

Java Virtual Machine - Java 程序的运行环境

2022-10-17 15:14:29 255

原创 Mysql 列传行

MYSQL行转列

2022-09-21 17:29:28 494

原创 MySQL解析

工具和源文件我使用的是Macos系统,下便有思维导图软件的安装包https://www.aliyundrive.com/s/aJFUajoEUva思维导图

2022-02-08 16:54:15 436

原创 关于EasyPoi导出Excel公式Cell不计算的问题

问题描述我们在业务场景中会遇到一些关于报表的开发,如果指定导出的模板并且其中还包含了一些公式的运算,那我们就可能会遇到公式的Cell运算失效的问题。解析我使用的是easypoi,是一家公司自己开发的excel导出工具。之所以会使用是网上呼声高,但是后续确实也遇到了一些问题,才明白网上为什么呼声高。easypoi是基于poi进行增强的Excel读写工具。需要注意的是我导出的报表就只有一个Sheet。代码// 渲染导出Workbook workbook = ExcelExportUtil.expor

2022-01-24 12:26:26 1112

原创 SpringCloud-组件总结(Day16)

组件简介分类官网EurekaEureka is the Netflix Service Discovery Server and Client服务注册中心官网ZookeeperZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group serv...

2022-01-19 11:40:48 112

原创 SpringCloud-Seata原理解析(Day16)

Seata架构图执行流程TM开启分布式事务(TM向TC注册全局事务记录) ;按业务场景,编排数据库、服务等事务内资源(RM向TC汇报资源准备状态) ;TM结束分布式事务,事务一阶段结束(TM通知TC提交/回滚分布式事务) ;TC汇总事务信息,决定分布式事务是提交还是回滚;TC通知所有RM提交/回滚资源,事务二阶段结束。AT模式的历程流程第一阶段(在每一个分库下完成,保证原子性)我们已经配置了代理数据源,也就是Seata会第一时间拦截到业务SQL,当其获取到业务SQL后就会执行一下三个

2022-01-15 15:35:38 645

原创 SpringCloud-Seata分布式事务服务案例之测试案例(Day16)

正常的请求情况(没有使用Seata)订单表账户表库存表异常的请求情况(没有使用Seata)我们通过修改代码的方式来模拟异常的情况,在账户模块的控制层设置Sleep,使其超过Feign的调用时间,使其调用超时./** * 扣减账户余额 */@RequestMapping("/account/decrease")public CommonResult decrease(@RequestParam("userId") Long userId, @RequestParam("money.

2022-01-15 14:49:27 253

原创 MySQL同表相邻数据比对查询

需求我们将会比对相邻的数据,其中value是递增的,但也会存在清零的情况。我们的需求是计算当天的分钟递增量。SQL语句中需要解释一下参数** ctc_etl.1_1_1907/sum.out_2021 :表名**** WHEREitem_timestamp > “2021-12-01 00:00:00”AND item_timestamp < “2021-12-02 00:00:00” 是我自己加的筛选条件**SELECT b.id,( b.item_value - a.

2022-01-14 11:52:12 1220

原创 Mybatis从Mysql存储过程接受List<Map<String, Object>>

DaoList<Map<String,Object>> minuteSum(@Param("tableName") String tableName,@Param("dayTime") Date dayTime);Mapper<resultMap type="java.util.HashMap" id="resultMapMinute"> <result column="value" property="value" javaType="java.l

2022-01-14 11:22:43 949

原创 SpringCloud-Seata分布式事务服务案例之账户Account服务搭建(Day16)

搭建seata-account-service2003账户模块pom文件的编辑<?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://maven.apache.o

2022-01-09 21:41:05 430

原创 SpringCloud-Seata分布式事务服务案例之库存Storage服务搭建(Day16)

搭建seata-storage-service2002库存服务模块pom文件的编辑<?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://maven.apache

2022-01-09 21:22:39 254

原创 SpringCloud-Seata分布式事务服务案例之订单Order服务搭建(Day16)

订单服务解析我们的总服务接口是需要与三个微服务模块单独分开的,但是此案例有没有那么复杂,所以我们就将对外提供全面服务的接口放在订单模块中,其次我们来分析一下这个订单Order模块应该有哪些功能:创建订单记录,需要注意的是我们需要获取到插入订单信息的主键ID,即链式调用.状态为创建中.调用库存模块和账户模块进行相应的扣减更改订单信息的状态为已完结.搭建seata-order-service2001订单服务模块pom文件的编辑<?xml version="1.0" encoding

2022-01-09 20:53:36 413

原创 SpringCloud-Seata分布式事务服务案例架构分析和数据库准备(Day16)

Seata分布式服务案例架构分析这里我们会创建三个服务,一个订单服务Order,一个库存服务Storage,一个账户服务Account。当用户下单时,会在订单服务中创建一个订单, 然后通过远程调用库存服务来扣减下单商品的库存,然后再通过远程调用账户服务来扣减用户账户里面的余额,最后在订单服务中修改订单状态为已完成。这个操作会跨越三个数据库,有两次远程调用,很明显会有分布式事务问题。即下订单—>扣库存—>减账户(余额)。业务数据库准备CREATE DATABASE seata_order;

2021-12-29 15:48:41 1706

原创 SpringCloud-Seata分布式事务服务(Day16)

Seata介绍Seata(Simple Extensible Autonomous Transaction Architecture)即简单可扩展自治事务框架,是由蚂蚁金服和阿里巴巴共同开源的分布式事务解决方案,Seata致力于在微服务架构下提供高性能和简单易用的分布式事务服务。Seata组件术语Transaction ID XID 全局唯一的事务IDTC (Transaction Coordinator) - 事务协调者维护全局和分支事务的状态,驱动全局事务提交或回滚。TM (Tran

2021-12-27 16:51:56 378

原创 SpringCloud-Sentinel的规则持久化以及和Hystrix的对比(Day15)

Sentinel规则持久化pom<!--SpringCloud ailibaba sentinel-datasource-nacos sentinel做持久化用到--><dependency> <groupId>com.alibaba.csp</groupId> <artifactId>sentinel-datasource-nacos</artifactId></dependency>ymls

2021-12-24 14:05:04 2242

原创 SpringCloud-Sentinel和Feign的整合(Day15)

整合Sentinel和Feignpom<!--SpringCloud openfeign --><dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId></dependency>yml# 激活Sentinel对Feign的支持

2021-12-24 10:27:59 2054

原创 SpringCloud-Sentinel的服务熔断(Day15)

无任何配置时我们当前没有配置对服务的降级和限流,所以如果当接口出现异常时就会直接将异常打印到前端。只配置fallback时

2021-12-24 09:51:28 2198

原创 SpringCloud-Sentinel的服务熔断环境准备(Day14)

创建支付模块cloudalibaba-provider-payment9003/9004支付模块cloudalibaba-provider-payment9003和支付模块cloudalibaba-provider-payment9004,的代码是一样的,只有服务端口不同。本篇只介绍一个支付模块即可。设置支付模块的pom<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/P

2021-12-22 16:51:32 2281

原创 SpringCloud-Sentinel的@SentinelResource注解(Day14)

@SentinelResource注解@SentinelResource 用于定义资源,并提供可选的异常处理和 fallback 配置项。value:资源名称,必需项(不能为空entryType:entry 类型,可选项(默认为 EntryType.OUT)blockHandler / blockHandlerClass: blockHandler 对应处理 BlockException 的函数名称,可选项。blockHandler 函数访问范围需要是 public,返回类型需要与原方法相匹配,参

2021-12-22 11:48:09 2309

原创 SpringCloud-Sentinel系统规则(Day13)

系统规则Sentinel 系统自适应限流从整体维度对应用入口流量进行控制,结合应用的 LOAd、CPU 使用率、总体平均 RT、入口 QPS 和并发线程数等几个维度的监控指标,通过自适应的流控策略,让系统的入口流量和系统的负载达到一个平衡,让系统尽可能跑在最大吞吐量的同时保证系统整体的稳定性。系统保护规则是应用整体维度的,而不是资源维度的,并且仅对入口流量生效。入口流量指的是进入应用的流量。Load 自适应(仅对 Linux/Unix-like 机器生效):系统的 load1 作为启发指标,进行自适

2021-12-21 16:44:48 1964

原创 SpringCloud-Sentinel热点规则(Day13)

热点规则热点即用户经常访问的数据。我们希望统计某个热点数据中访问频次最高的 数据,并对其访问进行限制。如下图所展示的案例。热点限流会统计传入参数中的热点参数,并根据配置的限流阈值的设置模式,对包含热点参数的资源调用请求进行限流。热点限流可以看做是一种特殊的流量控制,仅对包含热点参数的资源调用请求生效。Sentinel 利用 LRU 策略统计最近最常访问的热点参数,结合令牌桶算法来进行参数级别的流。控制层代码 @GetMapping("/testHotKey") @SentinelRe

2021-12-21 16:15:16 2200

原创 SpringCloud-Sentinel降级规则(Day13)

降级规则Sentinel熔断降级会在调用链路中某个资源出现不稳定状态时(例如调用超时或异常比例升高),对这个资源的调用进行限制,让请求快速失败,避免影响到其它的资源而导致级联错误。当资源被降级后,在接下来的降级时间窗口之内,对该资源的调用都自动熔断(默认行为是抛出 DegradeException)。Sentinei的断路器是没有类似Hystrix半开状态的。(Sentinei 1.8.0 已有半开状态) 半开的状态系统自动去检测是否请求有异常,没有异常就关闭断路器恢复使用,有异常则继续打开断路器不可用。

2021-12-20 17:08:09 2273

原创 SpringCloud-Sentinel流控规则(Day12)

Sentinel流控规则简介资源名唯一名称,默认请求路径。针对来源Sentinel可以针对调用者进行限流,填写微服务名,默认default(不区分来源)。阈值类型QPS : 当调用该API的QPS达到单机阈值的时候,进行限流。线程数 : 当调用该API的线程数达到单机阈值的时候,进行限流。流控模式直接:API达到限流条件时,直接限流。关联:当关联的资源达到阈值时,就限流自己。只记录指定链路上的流量(指定资源从入口资源进来的流量,如果达到阈值,就进行限流流控效果快速失败:

2021-12-17 17:15:52 4020

原创 SpringCloud-SpringCloud Alibaba Sentinel服务哨兵初步的运行以及与Nacos的整合(Day12)

Sentinel本机安装与运行说明我们使用的环境需要和学习的教程保持一致,我去Sentinel官网下载了1.7.0的jar包,具体的安装包和代码可以到我的码云去下载,其中使用的安装包放在了ApplicationFiles文件夹下。初步的单机安装和使用java -jar sentinel-dashboard-1.7.0.jar 运行后打开浏览器搜索http://127.0.0.1:8080即可进入到登录界面,登录界面的账号和密码都是nacos创建Sentinel和Nacos整合模块cloud

2021-12-17 16:09:28 4167

原创 SpringCloud-SpringCloud Alibaba Sentinel服务哨兵简介(Day12)

Sentinel服务哨兵随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。完备的实时监控:Sentinel 同时提供实时的监控功能。您可以在控制台中看到接入应用的单台机器秒级数据,甚至 500 台以下规模的集

2021-12-17 14:57:33 3766

原创 SpringCloud-Spring Cloud Alibaba Nacos集群架构(Day11)

Nacos集群架构nacos默认自带的是嵌入式数据库derby,在0.7版本之前,在单机模式时nacos使用嵌入式数据库实现数据的存储,不方便观察数据存储的基本情况。0.7版本增加了支持mysql数据源能力,具体的操作步骤:安装数据库,版本要求:5.6.5+初始化mysq数据库,数据库初始化文件: nacos-mysql.sql修改conf/application.properties文件,增加支持mysql数据源配置(目前只支持mysql),添加mysql数据源的url、用户名和密码。##

2021-12-16 17:32:56 7079 1

原创 SpringCloud-Spring Cloud Alibaba Nacos服务配置中心(Day11)

Nacos服务配置中心模型其架构思想如下图所示创需配置模块cloudalibaba-config-nacos-client3377更改需配置模块的pom<?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"

2021-12-16 16:55:56 4562

原创 SpringCloud-Spring Cloud Alibaba Nacos服务注册中心对比(Day11)

Nacos生态全景图Nacos与其他注册中心对比Nacos服务发现实例模型

2021-12-16 16:15:45 4460

原创 SpringCloud-Spring Cloud Alibaba Nacos服务注册之消费模块注册(Day11)

我们之前已经创建了cloudalibaba-provider-payment9001,我们仿照这个支付模块创建cloudalibaba-provider-payment9002。目的是为了创建多个提供微服务的实例。创建消费模块cloudalibaba-consumer-nacos-order9083更改消费模块的pom<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/PO

2021-12-16 16:04:16 4629

原创 SpringCloud-Spring Cloud Alibaba Nacos服务注册之生产模块注册(Day11)

创建支付模块cloudalibaba-provider-payment9001更改支付模块的pom<?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://mave

2021-12-16 15:35:01 4581

原创 SpringCloud-Spring Cloud Alibaba Nacos服务注册和配置中心(Day11)

说明由于需要和学习的教程保持一致,我去Nacos官网下载了1.1.4的安装包,具体的安装包和代码可以到我的码云去下载,其中使用的安装包放在了ApplicationFiles文件夹下。初步的单机安装和使用tar -zxvf nacos-server-1.1.4.tar.gzrm -r -f nacos-server-1.1.4.tar.gzcd nacos/bin./startup.sh安装完成后打开浏览器搜索http://127.0.0.1:8848/nacos即可进入到登录界面,登录界面的

2021-12-16 15:18:42 4430

原创 SpringCloud-Spring Cloud Sleuth服务跟踪使用案例(Day10)

改造已有程序改造cloud-consumer-order8080pom添加依赖<!--包含了sleuth+zipkin--><dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zipkin</artifactId></dependency>yml添加配置sprin

2021-12-16 10:08:33 6338

原创 SpringCloud-Spring Cloud Sleuth服务跟踪(Day10)

Sleuth介绍在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的的服务节点调用来协同产生最后的请求结果,每一个前段请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环出现高延时或错误都会引起整个请求最后的失败。我们通过使用Sleuth来监控各个微服务之间的调用逻辑,通过对调用的分析以及其调用链路Sleuth设计思路—条链路通过Trace ld唯一标识,Span标识发起的请求信息,各span通过parent id关联起来,每个节点都记录自己的标识以及其父级的标识Trac

2021-12-15 20:50:44 4888

原创 SpringCloud-SpringCloud Stream消息驱动之多消费者(Day10)

架构解析我们目前的架构是一个消费者对应一个生产者,我们需要设置多个消费者,其中需要确定的问题是,是否会有消息重复消费的问题以及消息持久化的问题。由于我们之前已经创建了一个信息消费者cloud-stream-rabbitmq-consumer8802,我们参照这个消费模块创建cloud-stream-rabbitmq-consumer8803。由于过程不太复杂,我这里也就不一一截图展示了。运行我们启动Eureka服务端,一个生产模块,两个消费模块,然后调用生产模块接口四次。生产者8801消费者8

2021-12-15 17:30:01 6058

原创 SpringCloud-SpringCloud Stream消息驱动之消息消费者(Day10)

创建消息消费模块cloud-stream-rabbitmq-consumer8802更改消费模块的pom<?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://m

2021-12-15 16:49:19 5942

原创 SpringCloud-SpringCloud Stream消息驱动之消息生产者(Day10)

创建消息生产模块cloud-stream-rabbitmq-provider8801更改生产模块的pom<?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://m

2021-12-15 16:15:50 5464

原创 SpringCloud-SpringCloud Stream消息驱动的介绍(Day10)

SpringCloud StreamSpringCloud官方定义Spring Cloud Stream是一个构建消息驱动微服务的框架。应用程序通过inputs或者 outputs 来与Spring Cloud Stream中binder对象交互。通过我们配置来binding(绑定),而Spring Cloud Stream 的binder对象负责与消息中间件交互。所以,我们只需要搞清楚如何与Spring Cloud Stream交互就可以方便使用消息驱动的方式。Spring Cloud Stream为一

2021-12-15 15:21:11 5886

原创 SpringCloud-SpringCloud Bus服务总线的实际使用(Day9)

安装RabbitMQ**因为我之前已经学过RabbirMQ了,我这里放出CentOS7安装RabbitMQ的链接

2021-12-14 17:14:58 5689

Springboo整合RabbitMQ并测试五种模型

切记要把rabbitmq改成自己,我的服务器有可能重置系统或者到期。

2021-12-02

hadoop和spark文件.rar

hadoop和spark文件

2020-03-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除