2 weixin_43925059

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 5w+

树的前序遍历(递归与非递归)

节点:class Node { public int val; public List<Node> children; public Node() {} public Node(int _val) { val = _val; } public Node(int _val, List<Node> _children) { val = _val; children = _childre

2020-09-13 09:51:58

springcloud alibaba——seata的应用举例(@GlobalTransactional注解的使用)

@GlobalTransactional(name = “dc-order-service”, rollbackFor = Exception.class)相当于单体应用的@transactional注解,作用是当整个项目中任何一处发生异常,会发生回滚。1、订单微服务2、库存微服务3、账户微服务...

2020-08-19 19:35:42

springcloud alibaba——seata前言

分布式事务处理过程的ID+三组件模型Transaction ID XID:全局唯一的事务ID。Transaction Coordinator(TC|事务协调者):事务协调器,维护全局事务的运行状态,负责协调并驱动全局事务的提交或回滚。Transaction Manager(TM|事务管理器):控制全局事务的边界,负责开启一个全局事务,并最终发起全局提交或全局回滚的决议。Resource Manager(RM|资源管理器):控制分支事务,负责分支注册,状态汇报,并接收事务协调器的指令,驱动分支(本地)

2020-08-19 18:03:43

springcloud alibaba——sentinel规则的持久化

1、将sentinel相关配置写进nacos2、微服务主配置文件的相关配置spring: application: name: cloud-alibaba-sentinel-service cloud: #nacos服务注册中心地址 nacos: discovery: server-addr: localhost:8848 sentinel: transport: #配置sentinel dashboa

2020-08-16 09:35:29

springcloud alibaba——sentinel@sentinelResource注解中的blockHandler与fallback

@sentinelResource注解中存在blockHandler与fallback这两个相似的属性,其中blockHandler属性处理的是通过sentinel控制台来配置的属性(如流控、热点等等),而fallback属性处理的是java代码运行时产生的异常(如空指针异常,运算异常等等),相同的是这两个都有兜底的方法来应对异常产生时的情况,当产生异常时则会进入兜底方法执行。当程序中这两个都存在时,这两个属性则会互不影响对方,各自监控。通俗一点说,这相当于springMVC框架中的异常处理器。..

2020-08-15 16:31:28

springcloud alibaba——@sentinelResource注解的使用(全局)

传统@sentinelResource注解使用的缺陷:1、系统默认的,没有体现我们自己的业务要求。2、依照现有条件,我们自定义的处理方法又和业务代码耦合在一块,不直观。3、每个业务方法都添加一个兜底的,那代码膨胀加剧。4、全局统一的处理方法没有体现。解决办法:定义一个兜底方法的工具类,全局都可以使用。1、工具类package com.springcloud.myHandler;import com.alibaba.csp.sentinel.slots.block.BlockExcepti

2020-08-15 15:59:18

springcloud alibaba——@sentinelResource注解的使用

注:sentinel中的@sentinelResource注解的使用相当于Hystrix中的@HystrixCommand注解,目的是当微服务系统中出现异常时,能够反馈给客户我们自己定义的页面,如果不使用该注解也可以,那么出现异常反馈给客户的页面是由系统自定义的(比较的单调)。@GetMapping("/byResource") @SentinelResource(value = "byResource", blockHandler = "handleException") public

2020-08-15 15:53:25

springcloud alibaba——sentinel服务热点key

1、主配置文件server: port: 8401spring: application: name: cloud-alibaba-sentinel-service cloud: #nacos服务注册中心地址 nacos: discovery: server-addr: localhost:8848 sentinel: transport: #配置sentinel dashboard地址

2020-08-15 15:03:54

springcloud alibaba——将微服务程序连接到sentinel

需要启动的客户端:nacos、sentinel点击startup.cmd启动nacos命令行启动该jar包启动sentinel监视面板1、主配置类server: port: 8401spring: application: name: cloud-alibaba-sentinel-service cloud: #nacos服务注册中心地址 nacos: discovery: server-addr: localhost:884

2020-08-15 12:13:32

springcloud alibaba——nacos持久化切换配置(由derby嵌入式数据库切换到本地mysql数据库)

注:nacos中存在嵌入式的数据库derby,所以当我们在nacos进行相关配置之后,其数据会保存在该数据库中,但是当重启nacos时,客户端的数据还是消失,因此我们可以把nacos中嵌入的数据库derby换成我们本地的mysql数据库来实现数据的持久化。操作1根据D:\nacos\conf目录下的nacos-mysql.sql文件里面的提示在mysql数据库中创建指定名字的数据库,然后执行里面的代码,在新创建的数据库中创建了若干个表。操作2在D:\nacos\conf目录下德application

2020-08-11 17:21:01

springcloud alibaba——nacos作为配置中心

注:spring cloud alibaba不会像以前的springcloud一样由ConfigServer先从github上获取文件,再由微服务从ConfigServer上读取文件;springcloud alibaba技术直接把nacos作为配置中心,文件在nacos上面创建,也不需要由人为的手动动态刷新。在nacos上存在namespace、group、dataId等概念,这些概念等同于:namespace——java类中的一级包,group——java类中的二级包,dataId——java类名,这

2020-08-11 16:25:19

springcloud alibaba——nacos作为注册中心

一、服务提供者11、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.org/POM/4.0.0 http://maven.a

2020-08-11 11:11:53

springcloud alibaba——nacos基础知识

2020-08-11 11:02:27

springcloud——sleuth(zipkin)服务调用路径跟踪

在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的服务节点调用来协同产生最后的请求结果,每一个前段请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环出现高延时或错误都会引起整个请求最后的失败。SpringCloud Sleuth提供了一套完整的服务跟踪的解决方案,在分布式系统中提供追踪解决方案并且兼容支持了zipkin。1、额外添加的依赖<dependency> <groupId>org.springframework.cloud</gr

2020-08-10 18:29:59

springcloud——stream(消息驱动)解决消息的重复消费和持久化问题

注:消息的重复消费和持久化问题都是通过对消息消费者(consumer)的分组实现的。同一个组之间的消息消费者存在消息的竞争关系,通过轮询的方式来实现消息的消费,同一个组之内的消息消费者(consumer)不能同时接收到相同的消息,只有其中一个能接收到这一消息。消息的持久化:如果给消息消费者配置相应的分组,那么即使当消息消费者宕机时,消息提供者发送消息,在消息消费者启动应用成功之后也能接收到消息提供者发来的消息。一、消息提供者1、pom文件<?xml version="1.0" encodin

2020-08-10 10:16:08

springcloud——stream(消息驱动)基础概念原理

消息驱动的作用(SpringCloudStream):屏蔽底层消息中间件的差异,降低切换成本,统一消息的编程模型。SpringCloudStream:是一个构建消息驱动微服务的框架。应用程序通过inputs或者outputs来与SpringCloudStream中的binder对象交互。通过我们配置来(binding)绑定,而SpringCloudStream的binder对象负责与消息中间件交互。所以,我们只需要搞清楚如何与SpringCloudStream交互就可以方便使用消息驱动的方式。通过

2020-08-10 09:56:34

springcloud——消息总线动态刷新(定点刷新)

使用的命令:curl -X POST “http://localhost:3344/actuator/bus-refresh/config-client:3355”config-client:指定被刷新的微服务的名称3355:指定被刷新的微服务的端口号

2020-08-08 14:27:11

springcloud——消息总线演示程序

一、configServer(3344)1、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.org/POM/4.0.0 ht

2020-08-08 11:48:27

springcloud——消息总线(bus)

什么是总线:在微服务架构的系统中,通常会使用轻量级得消息代理来构建一个共用的消息主题,并让系统中所有微服务实例都连接上来。由于该主题中产生的消息会被所有的实例监听和消费,所以称它为消息总线。在总线上的各个实例,都可以方便地广播一些需要让其它连接在该主题上的实例都知道的消息。基本原理:ConfigClient实例都监听MQ中同一个topic(默认是springCloudBus)。当一个服务刷新数据的时候,它会把这个消息放入到Topic中,这样其它监听同一Topic的服务就能得知通知,然后去更新自身的配

2020-08-08 11:08:51

springcloud——Config动态刷新(手动)

解决的问题:该技术解决了github上内容修改,不能同步到微服务的问题,这就需要Config手动动态刷新的技术。1、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="

2020-08-06 15:50:34

查看更多

勋章 我的勋章
  • 阅读者勋章Lv1
    阅读者勋章Lv1
    授予在CSDN APP累计阅读博文达到3天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。