SpringCloud
文章平均质量分 87
SpringCloud学习
bailaoshi666
努力找一份Java工作,成为Java程序员,然后努力发家致富!
展开
-
SpringCloud第十八节内容精简,SpringCloud 整合Skywalking链路跟踪
这里存储方式笔者选择使用ElasticSearch,具体版本是6.5.0,ElasticSearch的构建方式选择使用Dockerdocker pull elasticsearch:6.5.0docker run -d --restart=always --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:6.5.0ElasticSearch6.5.0单节点版已经构建完成,为了方便后续操原创 2020-07-22 15:41:57 · 585 阅读 · 5 评论 -
SpringCloud第十七节内容精简,SpringCloud Alibaba Seata处理分布式事务
一次业务操作需要跨多个数据源或需要跨多个系统进行远程调用,就会产生分布式事务问题所以要用到新的Seata是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务Seata是分布式事务处理过程的-ID+三组件模型Transaction ID XID 全局唯一的事务ID3组件概念Transaction Coordinator(TC) 事务协调器,维护全局事务的运行状态,负责协调并驱动全局事务...原创 2020-07-21 11:30:23 · 433 阅读 · 0 评论 -
SpringCloud第十六节内容精简(下),sentinel整合ribbon+openFeign+fallback以及规则持久化
上一节的84项目<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId></dependency>server: port: 84spring: application: name: nacos-order-consu原创 2020-07-17 14:00:21 · 413 阅读 · 1 评论 -
SpringCloud第十六节内容精简(中),SpringCloud Alibaba Sentinel实现熔断与限流(@SentinelResource)
这里先做按资源名称限流+后续处理8401项目加个 控制器package com.atguigu.springcloud.alibaba.com.atguigu.springcloud.alibaba.controller;import com.alibaba.csp.sentinel.annotation.SentinelResource;import com.alibaba.csp.sentinel.slots.block.BlockException;import com.atguig原创 2020-07-16 17:01:43 · 232 阅读 · 0 评论 -
SpringCloud第十六节内容精简(上),SpringCloud Alibaba Sentinel实现熔断与限流
下载地址:https://github.com/alibaba/Sentinel/releases总的说就是解决 服务雪崩 ,服务降级,服务熔断,服务限流sentinel组件由2部分组成,一个后台,一个前台(端口 8080)下载好后运行,确保本地java8环境OK,8080端口不能被占用启动命令java -jar sentinel-dashboard-1.7.0.jarhttp://localhost:8080,登录账号密码均为sentinel效果新建个...原创 2020-07-15 17:44:11 · 226 阅读 · 0 评论 -
SpringCloud第十五节内容精简,SpringCloud Alibaba Nacos集群和持久化配置(重要)
真是项目中,不可能只有一个注册中心,所以要考虑到集群这时候要考虑到nacos是内嵌式数据库derby,所以要做集群 ,就会有数据一致性的问题。为了解决这个问题,数据库就要用第三方数据库统一管理,而nacos只支持5.6.5+的mysql数据库window上derby到mysql切换配置步骤nacos-server-1.1.4\nacos\conf目录下找到sql脚本nacos-server-1.1.4\nacos\conf目录下找到application.proper..原创 2020-07-15 10:33:27 · 143 阅读 · 0 评论 -
SpringCloud第十四节内容精简,SpringCloud Alibaba Nacos配置中心
nacos也带有配置中心新建模块cloudalibaba-config-nacos-client3377pom。主要是前两个,标配<?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:schemaLoc原创 2020-07-11 15:09:54 · 124 阅读 · 0 评论 -
SpringCloud第十三节内容精简,SpringCloud Alibaba Nacos服务注册
在这里讲一下,SpringCloud Alibaba 就是个组件依赖于Spring Cloud功能依赖在主pom下加一个就好了<!--spring cloud alibaba 2.1.0.RELEASE--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-depende原创 2020-07-11 11:49:58 · 185 阅读 · 0 评论 -
SpringCloud第十二节内容精简,SpringCloud Sleuth分布式请求链路追踪
Spring Cloud Sleuth提供了一套完整的服务跟踪的解决方案,并且在分布式系统中提供追踪解决方案并且兼容支持了zipkinSleuth负责监控,zipkin负责展示开始搭建SpringCloud从F版起已不需要自己构建Zipkin server了,只需要调用jar包即可下载地址:https://dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-server/我下载的是zipkin-server-2.12.9-...原创 2020-07-09 16:45:33 · 167 阅读 · 0 评论 -
SpringCloud第十一节内容精简,SpringCloud Stream消息驱动
平时用的消息组件有,RabbitMQ,RocketMQ,Kafka,ActiveMQ用消息驱动是为了屏蔽底层消息中间件的差异,降低切换版本,统一消息的编程模型举个例子,你不需要学习mysql,sql server,只需要学会hibernate就可以用包装好的方法去调用sql语句目前SpringCloud Stream消息驱动只支持RabbitMQ,Kafka先确定好RabbitMQ启动然后新建三个模块,8801,生产者。8802,8803消费者生产者模块pom..原创 2020-07-09 15:19:49 · 1735 阅读 · 0 评论 -
SpringCloud第十节内容精简,SpringCloudBus,消息总线
分布式配置中心的最后想实现分布式自动刷新配置功能,就要用到消息总线Bus支持两种消息代理,RabbitMQ和kafka接下来配置RabbitMQ环境配置 配置erlang下载地址:https://www.erlang-solutions.com/resources/download.html一直next即可,下载 rabbitMQ下载地址:https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3....原创 2020-07-08 13:56:55 · 201 阅读 · 1 评论 -
SpringCloud第九节内容精简,config分布式配置中心
SpringCloud Config为微服务架构中的微服务提供集中化的外部配置支持,配置服务器为各个不同微服务应用的所有环境提供了一个中心化的外部配置。SpringCloud Config分为服务端和客户端两部分。服务端也称为分布式配置中心,它是一个独立的微服务应用,用来连接配置服务器并为客户端提供获取配置信息,加密/解密信息等访问接口客户端则是通过指定的配置中心来管理应用资源,以及与业务相关的配置内容,并在启动的时候从配置中心获取和加载配置信息。配置服务器默认采用git来存储配置信息,这样就有原创 2020-07-07 15:52:12 · 136 阅读 · 0 评论 -
SpringCloud第八节内容精简,GateWay网关
Spring Cloud 2.0以上的版本中,没有对新版本的Zuul 2.0以上最新高性能版本进行继承,仍然还是使用的Zuul 1.x非Reactor模式的老版本。而Gateway是基于WebFlux框架实现的,而WebFlux框架底层使用了高性能的Reactor模式通信框架Netty。Zuul1.x是基于阻塞I/O的,基于Servlet2.5,不支持长连接Gateway用的非阻塞API,还支持WebSocket路由,断言,过滤。新建一个module模块。pom&l...原创 2020-07-07 11:40:11 · 108 阅读 · 0 评论 -
SpringCloud第七节内容精简(上),Hystrix断路器和服务降级
Hystrix是一个用于处理分布式系统的延迟和容错的开源库,在分布式系统里,许多依赖不可避免的会调用失败,如超时,异常灯,Hystrix能够保证 在一个以来出问题的情况下,不会导致整体服务失败,避免级联故障 ,以提高分布式系统的弹性。通过断路器的故障监控,向调用方返回一个符合预期的,可处理的备选响应,而不是 长时间的等待或者抛出调用方无法处理的异常,这样就保证了服务调用方的现成不会被长时间,不必要的占用,避免故障在分布式系统中的蔓延,乃至雪崩。分为服务降级,服务熔断,服务限流创...原创 2020-07-01 17:56:07 · 160 阅读 · 0 评论 -
SpringCloud第六节内容精简,OpenFeign服务调用和开启日志
新建新的项目模块,端口号80pom<?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:/.原创 2020-07-01 10:54:28 · 205 阅读 · 0 评论 -
rabbon手写轮询算法
在8001和 8002提供者的控制前添加@GetMapping(value = "/payment/lb")public String getPaymentLB(){ return serverPort;}先去掉80项目的注释@LoadBalance@Componentpublic class MyLB implements LoadBalancer{ private AtomicInteger atomicInteger = new AtomicInteger原创 2020-06-30 17:31:30 · 128 阅读 · 0 评论 -
三个注册中心异同点
A高可用,C数据一致,P分区容错性分布式项目必须保证P,所以现在是AP和CP的时代eureka会有90秒等待zookeeper和consul是临时节点了直接去掉原创 2020-06-30 15:01:14 · 252 阅读 · 0 评论 -
SpringCloud第五节内容精简,consul注册与发现
安装可以选择Windows安装,省事我是在docker里安装的,有点坑 ,可以看看安装文章https://blog.csdn.net/bailaoshi666/article/details/107038739还是新建模块,然后提供者,再到消费者application.yml###consul服务端口号server: port: 8006spring: application: name: consul-provider-payment ####con..原创 2020-06-30 14:27:36 · 126 阅读 · 0 评论 -
docker里安装consul,以及遇到的坑
docker pull consul:1.6.4版本随意启动命令docker run --name consul1 -d -p 8500:8500 -p 8300:8300 -p 8301:8301 -p 8302:8302 -p 8600:8600 consul agent -server -bootstrap-expect 1 -ui -bind=0.0.0.0 -client=0 .0.0.0这里有个坑,注意这个数字1,代表的是单机的意思。2是集群一开始写成2,导致web界面.原创 2020-06-30 11:26:17 · 5901 阅读 · 0 评论 -
SpringCloud第四节内容精简,zookeeper注册与发现
首先在linux安装zookeeper,我是在docker里装的,可以参考下面的教程https://mp.csdn.net/console/editor/html/107033477然后新建模块pom。提供者和消费者都是这个依赖。其中要说的就是zookeeper的jar包冲突。<dependencies> <!-- SpringBoot整合Web组件 --> <dependency> <..原创 2020-06-30 10:39:44 · 117 阅读 · 0 评论 -
docker里安装并运行zookeeper
先熟悉命令先查看所有的容器docker ps -a停止容器docker stop 8f0ffb2c345a删除容器docker rm e3274a72e8d6先关闭防火墙docker pull registry.docker-cn.com/library/zookeeperdocker images 检查镜像启动命令docker run --name zk01 -p 2181:2181 --restart always -d 454af3da184czk01是别.原创 2020-06-30 10:32:47 · 1719 阅读 · 0 评论 -
SpringCloud第三节内容精简,Eureka集群和提供者集群
在这里先说个坑,因为新建模块搞错了,删除后重新创建发现无法识别java文件,resource,yml灯文件。打开根模块的.idea下的misc.xml。打开misc.xml后,可以看到以下标签内容。gdutdemo-mapper这个模块名被添加进ignoreFiles的集合中。只需要删除option内的内容即可。先修改host文件先修改eureka的集群设置7001指向7002,7002指向 7001,互相注册server: port: 7001...原创 2020-06-29 15:06:11 · 141 阅读 · 0 评论 -
SpringCloud第二节内容精简,单机Eureka的配置
主要讲单机Eureka的配置先搭建注册中心<?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:原创 2020-06-29 11:06:43 · 151 阅读 · 0 评论 -
SpringCloud第一节内容精简,热部署和模块调用
主要讲热部署和模块调用热部署可以参考http://blog.csdn.net/wjc475869/article/details/52442484目前用最传统的模块调用package com.atguigu.springcloud.controller.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configu..原创 2020-06-28 17:59:05 · 199 阅读 · 0 评论