自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 使用docker在虚拟机实现mysql数据库的主从复制

基于docker实现数据库的主从复制

2022-08-16 11:03:23 548 1

原创 SpringCloud Alibaba Seata处理分布式事务

一、Seata简介Seata是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务官网地址:http://seata.io/zh-cn/下载地址:https://github.com/seata/seata/releases分布式事务处理过程的-ID+三组件模型:Transaction ID XID:全局唯一的事务ID3组件概念Transaction Coordinator(TC) 事务协调器,维护全局事务的运行状态,负责协调并驱动全局事务的提交或回滚T

2021-12-30 17:49:01 591

原创 SpringCloud Alibaba Sentinel实现熔断与限流

一、Sentinel介绍官网:https://github.com/alibaba/Sentinel官网中文:https://github.com/alibaba/Sentinel/wiki/%E4%BB%8B%E7%BB%8D下载地址:https://github.com/alibaba/Sentinel/releases安装Sentinel控制台前提:java8环境OK,8080端口不能被占用命令:java -jar sentinel-dashboard-1.7.0.jar访问senti

2021-12-29 17:24:06 323

原创 SpringCloud Alibaba Nacos服务注册和配置中心

一、Nacos简介为什么叫NacosNacos前四个字母分别为Naming和Configuration的前两个字母,最后的s为ServiceNacos是什么一个更易于构建云原生应用的动态服务发现,配置管理和服务管理中心Nacos:Dynamic Naming and Configuration ServiceNacos就是注册中心+配置中心的组合,等价于Eureka+Config+BusNacos既能替代Eureka做服务注册中心,又能替代Config做服务配置中心下载地址:https://

2021-12-28 17:25:14 142

原创 SpringCloud微服务-SpringCloud Sleuth分布式请求链路追踪

一、概述Spring Cloud Sleuth提供了一套完整的服务跟踪的解决方案,在分布式系统中提供追踪解决方案并且兼容支持了zipkin官网:https://github.com/spring-cloud/spring-cloud-sleuth二、搭建链路监控步骤(1)SpringCloud从F版起已不需要自己构建Zipkin server了,只需要调用jar包即可下载地址:https://zipkin.io/pages/quickstart.html运行jar(2)运行控制台地址:ht

2021-12-27 17:05:40 86

原创 SpringCloud微服务-SpringCloud Stream消息驱动

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

2021-12-27 16:48:32 99

原创 SpringCloud微服务-SpringCloud Bus 消息总线

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

2021-12-27 11:36:56 115

原创 SpringCloud微服务-config分布式配置中心

一、概述(1) 分布式系统面临的配置问题微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务。由于每个服务都需要必要的配置信息才能运行,所以—套集中式的、动态的配置管理设施是必不可少的。SpringCloud提供了ConfigServer来解决这个问题,我们每一个微服务自己带着一个application.yml,上百个配置文件的管理…/八(ToT)/~~(2) 什么是config分布式配置中心SpringCloud Config为微服务架构中的微

2021-12-22 17:31:02 85

原创 SpringCloud微服务-Gateway网关

一、Gateway简介(1)官网: https://cloud.spring.io/spring-cloud-static/spring-cloud-gateway/2.2.1.RELEASE/reference/html/(2)官网介绍:Gateway是在Spring生态系统之上构建的API网关服务,基于Spring 5,Spring Boot 2和Project Reactor等技术。Gateway旨在提供一种简单而有效的方式来对API进行路由,以及提供一些强大的过滤器功能例如︰熔断、限流、重试

2021-12-20 15:49:26 213

原创 SpringCloud微服务-Hystrix断路器

一、简单介绍服务雪崩多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其它的微服务,这就是所谓的“扇出”。如果扇出的链路上某个微服务的调用响应时间过长或者不可用,对微服务A的调用就会占用越来越多的系统资源,进而引起系统崩溃,所谓的“雪崩效应”。对于高流量的应用来说,单一的后端依赖可能会导致所有服务器上的所有资源都在几秒钟内饱和。比失败更糟糕的是,这些应用程序还可能导致服务之间的延迟增加,备份队列,线程和其他系统资源紧张,导致整个系统发生更多的级联故障。这些都表示需要

2021-12-20 10:41:54 214

原创 SpringCloud微服务-OpenFeign服务接口调用

一、OpenFeign简介官网: https://cloud.spring.io/spring-cloud-static/Hoxton.SR1/reference/htmlsingle/#spring-cloud-openfeignGitHub: https://github.com/spring-cloud/spring-cloud-openfeignFeign是一个声明式WebService客户端。使用Feign能让编写Web Service客户端更加简单。它的使用方法是定义一个服务接口然后在上

2021-12-14 15:38:08 758

原创 SpringCloud微服务-Ribbon负载均衡服务

一、简单介绍spring Cloud Ribbon是基于Netflix Ribbon实现的—套客户端负载均衡的工具。简单的说,Ribbon是Netflx发布的开源项目,主要功能是提供客户端的软件负载均衡算法和服务调用Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,就是在配置文件中列出Load Balancer(简称LB)后面所有的机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随机连接等)去连接这些机器。我们很容易使用Ribbon实现自定义的负载均衡算法。spring

2021-12-14 14:45:03 128

原创 SpringCloud微服务-CAP

一、什么是CAPC:Consistency(强一致性)A:Availability(可用性)P:Partition tolerance(分区容错)CAP理论的核心是:一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性这三个需求,因此,根据CAP原理将NoSQL数据库分成了满足CA原则、满足CР原则和满足AP原则三大类:CA–单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大。CP–满足一致性,分区容错性的系统,通常性能不是特别高。AP–满足可用性,分区容错性的系统,通常可能

2021-12-14 11:06:54 421

原创 SpringCloud微服务-Consul注册中心

官网:https://www.consul.io/intro/index.html简介:服务发现:提供HTTP和DNS两种服务发现方式健康监测:支持多种协议,HTTP、TCP、Docker、Shell脚本定制化KV存储:key , Value的存储方式多数据中心:Consul支持多数据中心可视化Web界面下载地址:https://www.consul.io/downloads.html配置方式:https://www.springcloud.cc/spring-cloud-consul.ht

2021-12-14 09:28:39 790

原创 SpringCloud微服务-Zookeeper注册中心

前言:zookeeper是一个分布式协调工具,可以实现注册中心功能,关闭Linux服务器防火墙后启动zookeeper服务器,zookeeper服务器取代Eureka服务器,zk作为服务注册中心新建一个项目:pom依赖 <dependencies> <dependency> <groupId>com.atguigu.springcloud</groupId> <artifactId

2021-12-13 17:55:07 1386

原创 Eureka自我保护

前言 :某时刻某一个微服务不可用了,Eureka不会立刻清理,依旧会对该微服务的信息进行保存怎么禁止自我保护(一般生产环境中不会禁止自我保护)。出厂默认,自我保护机制是开启的,配置文件中eureka.server.enable-self-preservation = true,使用eureka.server.enable-self-preservation = false可以禁用自我保护模式,在Eureka配置下面加上server: enable-self-preservation: false

2021-12-13 17:39:09 91

原创 SpringCloud微服务-服务发现Discovery

前提:对于注册进eureka里面的微服务,可以通过服务发现来获得该服务的信息(1) 在8001的启动类上面增加注解@EnableDiscoveryClient(2) 修改cloud-provider-payment8001的Controller@Resourceprivate DiscoveryClient discoveryClient; @GetMapping(value = "/payment/discovery")public Object discovery(){ Lis

2021-12-13 17:25:10 258

原创 SpringBoot热部署配置

(1) 相关依赖<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-devtools --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <sco

2021-12-13 17:18:13 52

原创 SpringCloud微服务-Eureka注册中心

一、Eureka的基础功能服务治理SpringCloud封装了Netflix公司开发的Eureka模块来实现服务治理。在传统的rpc远程调用框架中,管理每个服务与服务之间的依赖关系比较复杂,管理起来比较困难,所以需要使用服务治理管理服务与服务之间的依赖关系,可以实现服务调用、负载均衡、容错等,实现服务发现与注册。服务注册与发现Eureka采用了CS的设计架构,Eureka Server作为服务注册功能的服务器,它是服务注册中心。而系统中的其他微服务,使用Eureka的客户端连接到Eureka eve

2021-12-13 15:26:59 208

原创 RestTemplate的使用介绍

一、什么是RestTemplateRestTemplate提供了多种便捷访问远程Http服务的方法,是一种简单便捷的访问restful服务模板类,是Spring提供的用于访问Rest服务的客户端模板工具集。官网:https://docs.spring.io/spring-framework/docs/5.2.2.RELEASE/javadoc-api/org/springframework/web/client/RestTemplate.html二、使用介绍使用RestTemplate访问restf

2021-12-13 14:06:39 577

原创 SpringCloud中各个组件的版本选择

一、SpringCloud的版本SpringCloud官网:https://spring.io/projects/spring-cloud,SpringCloud的版本是根据版本号的首字母,DEFGH这样的顺序来的,每个大版本里面会根据SR1、SR2、SR3分为各个小版本,每个版本都有对应的SrpingBoot版本以及各个微服务组件的版本二、SpringCloud和SrpingBoot的版本对应SpringCloud和SrpingBoot的版本对应很重要,版本对应不上可能会出现对象的类或者方法找不到

2021-12-13 10:55:33 2289

原创 nacos集群配置

(1) 创建/usr/local/nacos文件夹,并且下载nacos,下载地址:https://github.com/alibaba/nacos/tagsmkdir -p /usr/local/nacos && cd /usr/local/nacos将压缩包放置到/usr/local/nacos中,分别解压然后重命名tar -zxvf nacos-server-1.4.1.tar.gz && mv nacos nacos8849tar -zxvf nacos-

2021-12-03 09:54:47 497

原创 nginx 原理与优化参数配置

一、master-workers机制启动一个nginx,通过ps -ef|grep nginx|grep -v grep命令可以查看nginx的相关进程,里面会有一个master进程和至少一个的worker进程,下面就是nginx中master进程和worker进程的关系二、master-workers 的机制的好处首先,对于每个 worker 进程来说,独立的进程,不需要加锁,所以省掉了锁带来的开销,同时在编程以及问题查找时,也会方便很多。其次,采用独立的进程,可以让互相之间不会影响,一个进

2021-12-01 17:18:14 53

原创 nginx 搭建高可用集群

(1) 集群架构图(2) 需要两台linux服务器,分别安装nginx和keepalived,使用 yum 命令安装keepalivedyum install keepalived –y(3) keepalived安装成功后,会在 /etc 里面生成一个keepalived.conf配置文件,进入配置文件所在目录,对主服务器的配置文件进行修改备份原本的配置文件mv keepalived.conf keepalived.conf.default建一个新的配置文件vim keepal

2021-12-01 16:58:22 296

原创 nginx动静分离相关配置

一、什么是动静分离Nginx 动静分离简单来说就是把动态跟静态请求分开,不能理解成只是单纯的把动态页面和静态页面物理分离。严格意义上说应该是动态请求跟静态请求分开,可以理解成使用 Nginx 处理静态页面,Tomcat 处理动态页面。动静分离从目前实现角度来讲大致分为两种,一种是纯粹把静态文件独立成单独的域名,放在独立的服务器上,也是目前主流推崇的方案;另外一种方法就是动态跟静态文件混合在一起发布,通过 nginx 来分开,通过 location 指定不同的后缀名实现不同的请求转发。通过 expires

2021-12-01 14:47:00 77

原创 nginx的负载均衡的配置

一、环境配置(1) 两台启动的tomcat,一台端口号8080,一台端口号8081(2) 在8080的tomcat的webapps目录下面放一个a.html,内容是<h1>8080<h1>在8081的tomcat的webapps目录下面放一个a.html,内容是<h1>8081<h1>(3) 一台配置好的nginx二、配置nginx实现负载均衡(1) nginx的默认安装目录是/usr/local/nginx,进入安装目录,修改配置文件v

2021-11-30 17:11:10 1989

原创 nginx的反向代理功能配置(下)

目的:监听相同的端口,根据url中配置的路径不同,访问不同的服务器一、配置两个tomcat(一) 将之前解压的tomcat文件夹复制一份出来,进入conf文件夹,修改它的端口号:vim server.xml这里改成9005这里改成8081然后进入目录,启动服务./bin/startup.sh在8080服务的webapp文件夹里面创建一个文件夹,并且编写一个文件mkdir aa && cd aa && vim a.html 内容<h1&gt

2021-11-26 17:58:40 2113

原创 nginx的反向代理功能配置(上)

一、安装tomcat(1) 下载tomcat并且解压,官网:https://tomcat.apache.org/download-70.cgi(2) 解压压缩包: tar -zxvf apache-tomcat-7.0.106.tar.gz (3) 进入解压后的文件夹,运行tomcat:./bin/startup.sh(4) 查看是否运行成功:ps -ef|grep tomcat二、配置nginx如果没有安装nginx,请先安装nginx,安装步骤:https://blog.csd

2021-11-26 14:40:51 2146

原创 在linux系统中安装配置nginx

1.下载相关的压缩包(1) 到 nginx 官网下载软件,地址:http://nginx.org/(2) 下载pcre,官网:https://sourceforge.net/p/pcre/activity/?page=1&limit=100#553fce622718464538c5fad4,也可以通过wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz直接在linux系统中下载;2. 配

2021-11-25 17:55:04 878

原创 用glibc的方式在linux系统中安装mysql数据库

**1.**下载并且上传压缩包到linux系统中,选择Linux Genic,下载链接:https://dev.mysql.com/downloads/mysql/**2.**解压压缩包,tar -zxvf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz**3.**移动mysql文件夹到/usr/local目录下面,并且改名为mysql,因为/usr/local文件夹下面没有mysql文件夹,会自动将移动过去的文件加改名为mysqlmv mysql-5.7

2021-11-16 11:09:17 1272

原创 MySQL自定义自增序列,最近一周日期,最近一天,本月日期,本天日期,本年日期,及其相关分组统计查询,日期连续的统计

核心:select @num:=@num+1 num from (select @num:=-1) n定义一个只有一个自增字段表,这张变外联的结果就是生成一个自增序列,起到辅助作用组合使用效果:SQL:select @num:=@num+1 num,name from (select @num:=-1) n,user_area where @num < 10配合其他表的查询,生成一条自增序列,这个属于是基础运用了对日期使用的原理其实一样,主要是配合mysql自带的日期函数,获取自己想要

2021-10-14 10:38:52 1132

原创 RabbitMq的服务名失效(大坑)

首先,如果你在启动服务的时候报这个错,那么不要怀疑,不要在别的地方找原因,肯定是你安装的时候出了问题,至于为什么安装的时候出了问题,是因为你之前的卸载不干净。第一步,win+r,输入control打开控制面板,找到程序和功能卸载RabbitMq。第二步,在你的c盘C:\Users\XXXX\AppData\Roaming下面有个RabbitMq文件夹删掉。第三步,win+R输入regedit打开注册表,在HKEY_LOCAL_MACHINE\HKEY_LOCAL_MACHINE\SOFTWARE\HKEY_

2021-10-10 00:00:29 2272 2

空空如也

空空如也

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

TA关注的人

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