自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (2)
  • 收藏
  • 关注

原创 Mongodb第一篇(下载及安装)

一、简介:MongoDB 是通用、基于文档的分布式数据库,帮助现代应用程序开发人员迎接云时代的到来。二、特点:1、丰富的 JSON 文档自然、高效的数据处理方法。支持将数组和嵌套对象存储为值。支持灵活、动态结构。2、强大的查询语言查询语言丰富和直观,支持通过任何字段进行筛选和排序,而不受其在文档内的嵌套方式影响。支持聚合和其他现代使用案例,如基于地理的搜索、图搜索和文本搜索。查询本身是 JSON 格式,因此很容易进行组合。无需串联字符串即可动态生成 SQL 查询。3、关系数据库

2021-09-24 14:53:03 163 2

原创 Seata第三篇(Seata业务数据库的准备)

Seata业务数据库的准备以下所有演示都需要先启动Nacos后启动Seata,保证两个都正常运行一、分布式事务业务说明1、业务说明这里我们会创建三个服务,一个订单服务,一个库存服务,一个账户服务。当用户下单时,会在订单服务中创建一个订单,然后通过远程调用库存服务来扣减下单商品的库存,再通过远程调用账户服务来扣减用户账户里面的余额,最后在订单服务中修改订单状态为已完成。|该操作跨越三个数据库,有两次远程调用,很明显会有分布式事务问题。2、创建业务数据库创建三个数据库CREATE DA

2021-08-08 13:25:13 520

原创 Seata第二篇(安装)

Seata-Server安装一、下载下载地址:https://github.com/seata/seata/releases二、安装1、解压缩2、修改conf目录下的file.conf配置文件先备份原始file.conf文件3、修改自定义事务组名称+事务日志存储模式为db+数据库连接信息4、在mysql中新建seata库5、在seata库建表新建查询,输入以下sql语句,并执行drop table if exists global_table;create tabl

2021-08-08 12:19:45 227

原创 Seata第一篇(简介)

Seata简介一、Seata是什么Seata 是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。在 Seata 开源之前,Seata 对应的内部版本在阿里经济体内部一直扮演着分布式一致性中间件的角色,帮助经济体平稳的度过历年的双11,对各BU业务进行了有力的支撑。经过多年沉淀与积累,商业化产品先后在阿里云、金融云进行售卖。2019.1 为了打造更加完善的技术生态和普惠技术成果,Seata 正式宣布对外开源,未来 Seata 将以社区共建的形式帮助其技术更加可靠与完

2021-08-05 12:24:41 229

原创 SentinelResource配置(下)

@SentinelResource更多属性说明@SentinelResource 注解注意:注解方式埋点不支持private方法@SentinelResource 用于定义资源,并提供可选的异常处理和 fallback 配置项。 @SentinelResource 注解包含以下属性:value:资源名称,必需项(不能为空)entryType:entry 类型,可选项(默认为 EntryType.OUT)blockHandler / blockHandlerClass: blockHandl

2021-08-03 13:22:42 132

原创 SentinelResource配置(中)

客户自定义限流处理逻辑一、创建CustomerBlockHandler类用于自定义限流处理逻辑package com.junfu.springcloud.myhandler;import com.alibaba.csp.sentinel.slots.block.BlockException;import com.junfu.springcloud.entities.CommonResult;import com.junfu.springcloud.entities.Payment;publ

2021-08-03 13:08:34 103

原创 SentinelResource配置(上)

SentinelResource配置一、按资源名称限流+后续处理

2021-08-03 12:06:28 277

原创 SpringCloud整合订单微服务

SpringCloud整合订单微服务一、创建订单微服务cloud-consumer-order80二、修改pom.xml文件添加spring-cloud-starter-netflix-eureka-client依赖以及其他必要依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eu

2021-07-31 22:02:06 126

原创 Sentinel系统规则

Sentinel系统规则一、介绍系统自适应限流Sentinel 系统自适应限流从整体维度对应用入口流量进行控制,结合应用的 Load、CPU 使用率、总体平均 RT、入口 Q PS 和并发线程数等几个维度的监控指标,通过自适应的流控策略,让系统的入口流量和系统的负载达到一个平衡,让系统尽可能跑在最大吞吐量的同时保证系统整体的稳定性。二、配置说明系统规则系统保护规则是从应用级别的入口流量进行控制,从单台机器的 load、CPU 使用率、平均 RT、入口 QPS 和并发线程数等几个维度监控应用指标

2021-07-31 16:39:03 300 2

原创 Sentinel热点key

Sentinel热点key一、基本介绍官网:https://github.com/alibaba/Sentinel/wiki/%E7%83%AD%E7%82%B9%E5%8F%82%E6%95%B0%E9%99%90%E6%B5%81热点参数限流何为热点?热点即经常访问的数据。很多时候我们希望统计某个热点数据中访问频次最高的 Top K 数据,并对其访问进行限制。比如:商品 ID 为参数,统计一段时间内最常购买的商品 ID 并进行限制用户 ID 为参数,针对一段时间内频繁访问的用户 ID 进行

2021-07-31 15:53:29 125

原创 Sentinel第六篇(Sentinel降级-异常数)

Sentinel降级-异常数一、 是什么异常数 (ERROR_COUNT):当单位统计时长内的异常数目超过阈值之后会自动进行熔断。经过熔断时长后熔断器会进入探测恢复状态(HALF-OPEN 状态),若接下来的一个请求成功完成(没有错误)则结束熔断,否则会再次被熔断。时间窗口一定要大于等于60秒。异常数是按照分钟统计二、测试代码@GetMapping("/testE") public String testE(){ log.info("------testE 异常

2021-07-31 14:06:33 676

原创 Sentinel第五篇(Sentinel降级-异常比例)

Sentinel降级-异常比例一、是什么    异常比例(DEGRADE_GRADE_EXCEPTION_RATIO ):当资源的每秒请求量>=5,并且每秒异常总数占通过量的比值超过阈值( DegradeRule中的count)之后,资源进入降级状态,即在接下的时间窗口( DegradeRule中的 timewindow,以s为单位)之内,对这个方法的调用都会自动地i回。异常比率的阈值范围是[0.0,1.0],代表0% -100%。二、测试代码@G

2021-07-31 13:24:50 874 1

原创 Sentinel第四篇(Sentinel降级-RT)

Sentinel降级-RT一、是什么    平均响应时间( DEGRADE_GRADE_RT ):当1s内持续进入5个请求,对应时刻的平均响应时间(秒级)均超过阈值( count,以ms为单位),那么在接下的时间窗口(( DegradeRule中的timeWindow,以s为单位)之内,对这个方法的调用都会自动地熔断(抛出DegradeException )。注意Sentinel默认统计的RT上限是4900 ms,超出此阈值的都会算作4900 ms,若需要变更

2021-07-31 12:25:23 1041

原创 Sentinel第三篇(Sentinel降级简介)

Sentinel降级简介官网:https://github.com/alibaba/Sentinel/wiki/%E7%86%94%E6%96%AD%E9%99%8D%E7%BA%A7一、基本介绍RT (平均响应时间,秒级)平均响应时间超出阈值 且 在时间窗口内通过的请求>=5,两个条件同时满足后触发降级窗口期过后关闭断路器RT最大4900(更大的需要通过-Dcsp.sentinel.statistic.max.rt=XXXX才能生效)异常比列(秒级)QPS >= 5且异

2021-07-30 13:52:43 170

原创 Sentinel第二篇(Sentinel初始化监控)

Sentinel初始化监控一、新建工程cloudalibaba-sentinel-service8401二、修改pom.xml文件导入spring-cloud-starter-alibaba-sentinel以及其他必要依赖<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</art

2021-07-29 22:56:33 174

原创 Sentinel第一篇(Sentinel介绍及下载)

Sentinel介绍及下载官网:https://github.com/alibaba/Sentinel/wiki/%E4%BB%8B%E7%BB%8D一、介绍Sentinel: 分布式系统的流量防卫兵随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。Sentinel 具有以下特征:丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制

2021-07-29 22:17:02 472

原创 Nacos作为配置中心-基础配置

Nacos作为配置中心-基础配置一、创建工程cloudalibaba-config-nacos-client3377二、修改pom.xml添加spring-cloud-starter-alibaba-nacos-config以及其他必要依赖<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-

2021-07-27 18:53:38 461

原创 基于Nacos的服务消费者

基于Nacos的服务消费者一、 创建工程cloudalibaba-consumer-nacos-order83二、修改pom.xml文件<?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:schemaLoca

2021-07-25 22:48:55 174

原创 基于Nacos的服务提供者

基于Nacos的服务提供者创建工程cloudalibaba-provider-payment9001修改pom.xml文件添加spring-cloud-starter-alibaba-nacos-discovery依赖以及其他必要依赖<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-dis

2021-07-25 22:40:00 110

原创 短路器演示(服务监控hystrixDashboard)

短路器演示(服务监控hystrixDashboard)一、修改cloud-provider-hystrix-payment8001注意:新版本Hystrix需要在主启动类MainAppHystrix8001中指定监控路径Unable to connect to Command Metric Stream.404修改主启动类由于springcloud升级后springboot的默认路径不是"/hystrix.stream",所以我们需要在项目里手动配置路径@Bean publi

2021-07-20 23:02:55 64

原创 服务监控hystrixDashboard

服务监控hystrixDashboard一、概述除了隔离依赖服务的调用以外,Hystrix还提供了准实时的调用监控(Hystrix Dashboard),Hystrix会持续地记录所有通过Hystrix发起的请求的执行信息,并以统计报表和图形的形式展示给用户,包括每秒执行多少请求多少成功,多少失败等。Netflix通过hystrix-metrics-event-stream项目实现了对以上指标的监控。Spring Cloud也提供了Hystrix Dashboard的整合,对监控内容转化成可视化界面。

2021-07-20 22:23:24 64

原创 Hystrix之服务熔断支付侧breaker

服务熔断一、概念类比保险丝达到最大服务访问后,直接拒绝访问,拉闻限电,然后调用服务降级的方法并返回友好提示就是保险丝服务的降级->进而熔断->恢复调用链路二、修改cloud-provider-hystrix-payment8001Hystrix之服务降级支付侧fallbackcloud-provider-hystrix-payment8001:https://blog.csdn.net/qq_45078781/article/details/118854118//=====服务熔

2021-07-20 14:57:28 224

原创 Hystrix之服务降级支付侧fallback

服务降级一、解决的要求超时导致服务器变慢(转圈)出错(宕机或程序运行出错)解决:对方服务(8001)超时了,调用者(80)不能一直卡死等待,必须有服务降级对方服务(8001)down机了,调用者(80)不能一直卡死等待,必须有服务降级对方服务(8001)OK,调用者(80)自己出故障或有自我要求 (自己的等待时间小于服务提供者) ,自己处理降级二、Hystrix之服务降级支付侧fallback1、降级配置@HystrixCommand2、8001从自身找问题设置自

2021-07-17 11:57:35 156

原创 OpenFeign篇

OpenFeign篇一、OpenFeign是什么OpenFeign是一个声明式的Web服务客户端,让编写Web服务客户端变得非常容易,只需创建一个接口并在接口上添加注解即可OpenFeign官方文档https://cloud.spring.io/spring-cloud-static/Hoxton.SR1/reference/htmlsingle/#spring-cloud-openfeign二、OpenFeign能干什么Feign旨在使编写Java Http客户端变得更容易。前面

2021-07-15 17:41:54 311

原创 Consul第二篇(Spring cloud整合consul)

(Consul第二篇)Spring cloud整合consul一、创建cloud-provider-payment8006工程二、修改pom.xml文件添加cloud依赖以及其他必要依赖<!-- SpringBoot整合consul客户端--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-st

2021-07-14 18:52:26 92

原创 Consul第一篇(Consul安装)

Consul安装一、概述Consul 是一种服务网格解决方案,提供具有服务发现、配置和分段功能的全功能控制平面。这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建完整的服务网格。Consul 需要一个数据平面并支持代理和本地集成模型。Consul 附带一个简单的内置代理,因此一切都可以开箱即用,而且还支持 3rd 方代理集成,例如 Envoy。二、下载Consul下载地址:https://www.consul.io/downloads三、安装将下载好的Consul解压缩到自定义目

2021-07-14 13:04:23 138

原创 Zookeeper第四篇(SpringCloud整合zookeeper)

Zookeeper第四篇(SpringCloud整合zookeeper)一、关闭防火墙二、启动zookeeper二、linux虚拟机和本机ip地址ping通三、创建工程cloud-provider-payment8004四、修改pom.xml文件,添加zookeeper依赖以及其他必要依赖注意:这里需要先排除自带的zookeeper3.5.3,并且添加与linux虚拟机zookeeper版本相同的版本zookeeper3.5.8<!-- SpringBoot整合zookeep

2021-07-13 20:56:22 118 1

原创 Zookeeper第三篇(Zookeeper安装)

Zookeeper第三篇(Zookeeper安装)一、下载Zookeeper压缩包Zookeeper所有版本下载地址:https://zookeeper.apache.org/documentation.html二、 安装Zookeeper将Zookeeper压缩包拷贝到虚拟机自定义目录下使用命令行跳转到zookeeper压缩包目录下使用tar -zxvf apache-zookeeper-3.5.8-bin.tar.gz -C /opt/model/命令行将zookeeper安装到指定目

2021-07-13 20:31:19 213

原创 Zookeeper第二篇(在虚拟机上安装jdk1.8)

Zookeeper第二篇(在虚拟机上安装jdk1.8)一、安装jdk1.8官方下载地址:https://www.oracle.com/cn/java/technologies/javase/javase-jdk8-downloads.html将下载的jdk1.8拷贝到linux虚拟中,我的jdk1.8放在了usr/bin/java文件夹下的在linux界面打开终端,使用vi /etc/profile命令行进入环境配置在文件末尾添加export JAVA_HOME=/"你的jdk

2021-07-13 19:44:18 231

原创 Zookeeper第一篇(虚拟机安装)

Zookeeper第一篇(虚拟机安装)一、下载 CentOS Linux ISO 映像最新 CentOS Linux ISO 映像下载地址:https://wiki.centos.org/Download二、VMware 安装 Linux 系统进入VMware 主页面,创建新的虚拟机、这里我们选择“典型(推荐)”,并进入下一步。安装程序光盘映像文件(iso)(M):选择刚才下载好的CentOS-6.4-x86_64-bin-DVD1镜像文件设置登录名和登陆账户设置主机名

2021-07-13 19:18:20 205

原创 actuator微服务信息完善

actuator微服务信息完善一、主机名称:服务名称修改修改payment8001和payment8002中的application.yaml文件效果:访问信息有IP信息提示效果:鼠标放上去有ip提示

2021-07-12 16:47:06 55

原创 支付微服务集群

支付微服务集群一、参考cloud-provider-payment8001工程,创建一个新的cloud-provider-payment8002工程cloud-provider-payment8002工程跟cloud-provider-payment8001工程一样,唯一不同的就是端口号不用,因此我们可以将cloud-provider-payment8001工程复制到cloud-provider-payment8002工程中二、修改application.yaml文件server: port:

2021-07-12 16:12:18 108

原创 订单支付两服务注册进Eureka集群

订单支付两服务注册进Eureka集群一、修改cloud-consumer-order80的pom.xml文件二、修改cloud-provider-payment8001的pom.xml文件三、测试

2021-07-12 14:42:39 71

原创 Eureka集群

Eureka集群一、新建服务工程cloud-eureka-server7002构造流程参考cloud-eureka-server7001二、修改映射配置文件找到host文件添加映射##########SpringCloud2020.1.2### ##################127.0.0.1 eureka7001.com127.0.0.1 eureka7002.com三、修改application.yaml文件文件修改cloud-eureka-server

2021-07-12 14:01:12 98

原创 支付微服务8001入驻EurekaServer

支付微服务8001入驻EurekaServer一、修改支付微服务8001的pom.xml文件<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> <version>3.0.3</version>&lt

2021-07-12 12:06:33 86

原创 Euraka介绍

Euraka介绍1、Spring-Cloud Euraka介绍Spring-Cloud Euraka是Spring Cloud集合中一个组件,它是对Euraka的集成,用于服务注册和发现。Eureka是Netflix中的一个开源框架。它和 zookeeper、Consul一样,都是用于服务注册管理的,同样,Spring-Cloud 还集成了Zookeeper和Consul。在项目中使用Spring Cloud Euraka的原因是它可以利用Spring Cloud Netfilix中其他的组件,如zu

2021-07-12 11:47:10 7846 5

原创 -工程重构-

工程重构一、观察重复部分在我这个项目中,订单模块和支付模块内的entities有重复部分,因此我们可以工程重构,将重复的部分单独提取出来,统一管理。二、新建公共工程 cloud-api-commons创建工程cloud-api-commons三、修改pom.xml文件将基本依赖添加到pom.xml文件中<dependencies> <dependency> <groupId>org.springframe

2021-07-11 21:34:53 122

原创 IDEA热部署devtools

IDEA热部署devtools一、为什么要热部署    为了方便开发者开发,在每次修改源代码之后不至于每次需要程序员手动启动项目,在不重新启动的情况下能够自动把增量内容编译并部署到服务器上,使得修改立即生效。通过热部署从而达到提高开发效率,减轻程序员负担的操作。二、如何实现热部署1.添加devtoolsjar包到工程(Adding devtools to your project)<dependency> <groupI

2021-07-09 20:07:47 142

原创 生产者-消费者问题

线程状态生产者生产了一个产品:0生产者生产了一个产品:1消费者2取消走了产品0消费者1取消走了产品1生产者生产了一个产品:2生产者生产了一个产品:3消费者1取消走了产品2生产者生产了一个产品:4消费者2取消走了产品3生产者生产了一个产品:5生产者生产了一个产品:6消费者1取消走了产品4消费者2取消走了产品5生产者生产了一个产品:7生产者生产了一个产品:8消费者1取消走了产品6生产者生产了一个产品:9消费者2取消走了产品7生产者生产了一个产品:10消费者1取消走了产品

2021-07-08 16:52:40 209

原创 Java中使用Thread线程

Java中使用Thread线程一、进程Process与线程Thread我们手机或者电脑里有很多应用,当我们启动这个应用的时候,也就启动了一个程序,程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。而进程则是执行程序的一次执行过程,它是一个动态的概念。是系统资源分配的最小单位。通常在一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义。线程是CPU调度的最小单位。注意:很多多线程是模拟出来的,真正的多线程是指有多个cpu, 即多核,如服务器。如

2021-07-02 16:52:34 54

基于spring框架搭建的酒店管理系统.zip

基于eclipse为编译器、sql server为数据库存储的酒店管理系统

2021-07-02

基于java语言开发的c语言编译器,javafx实现界面化的LR1编译器

基于java语言开发的c语言编译器,javafx实现界面化的LR1编译器 支持大部分代码编译 不支持多函数编译 支持while循环,不支持do while循环 不支持goto 一些语句 目标代码可以显示、但是无实际作用,就是一个幌子 还有一部分编译功能未能实现(别问,问就是课设结束了,没写完也就搁在那里了) 测试文件在压缩包里面有,可以在编译界面选择文件进行编译

2021-06-25

空空如也

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

TA关注的人

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