![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring Cloud
文章平均质量分 84
AlvinUnity
这个作者很懒,什么都没留下…
展开
-
25. 尚融宝网关配置
一、创建模块service-gateway1、pom<dependencies> <!-- 网关 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> </dependency>原创 2021-04-28 10:44:23 · 355 阅读 · 0 评论 -
尚硅谷 Spring Cloud 2020 README
模块功能cloud-provider-payment8001支付cloud-consumer-80消费者cloud-api-commons工具包cloud-eureka-server7001Eureka Server端:服务注册中心cloud-eureka-server7002Eureka集群之一cloud-provider-payment8002服务提供者之一:支付集群...原创 2021-04-18 18:41:28 · 190 阅读 · 1 评论 -
22.Spring Cloud Alibaba Seata处理分布式事务
Spring Cloud Alibaba Seata处理分布式事务基于分布式的事务管理前言这篇博客我是不想发的,因为这里面的事务回滚功能,并没有完美实现,如果你看到这篇博客的话,就当做了解即可,以后有了解决方案的话,我再更新。分布式事务分布式之前,单机单库没有这个问题,从 1:1 -> 1:N -> N:N跨数据库,多数据源的统一调度,就会遇到分布式事务问题如下图,单体应用被拆分成微服务应用,原来的三个模板被拆分成三个独立的应用,分别使用三个独立的数据源,业务操作需要调用三个原创 2021-04-14 09:03:45 · 201 阅读 · 0 评论 -
21. Spring Cloud Alibaba Sentinel实现熔断和限流
Spring Cloud Alibaba Sentinel实现熔断和限流简介官网Github:https://github.com/alibaba/SentinelSentinel:分布式系统的流量防卫兵,相当于HystrixHystrix存在的问题需要我们自己手工搭建监控平台没有一套web界面可以给我们进行更加细粒度化的配置,流量控制,速率控制,服务熔断,服务降级。这个时候Sentinel运营而生单独一个组件,可以独立出来直接界面化的细粒度统一配置约定 > 配置 >原创 2021-04-12 16:56:40 · 251 阅读 · 0 评论 -
20. Spring Cloud Alibaba Nacos服务注册和配置中心
NacosNacos简介为什么叫Nacos前四个字母分别为:Naming(服务注册) 和 Configuration(配置中心) 的前两个字母,后面的 s 是 Service什么是Nacos一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos:Dynamic Naming and Configuration ServerNacos就是注册中心 + 配置中心的组合 + 服务总线等价于:Nacos = Eureka + Config + Bus能干嘛替代Eureka做服原创 2021-04-10 17:47:41 · 263 阅读 · 4 评论 -
19. Spring Cloud Alibaba简介
Spring Cloud Alibaba简介Spring Cloud Alibaba诞生的主要原因是:因为Spring Cloud Netflix项目进入了维护模式什么是维护模式维护模式,意味着Spring Cloud Netflix将不再开发新的组件,我们都知道Spring Cloud项目迭代算是比较快的,因此出现了很多重大issue都还来不及Fix,就又推出了另一个Release。进入维护模式意思就是以后一段时间Spring Cloud Netflix提供的服务和功能就这么多了,不会再开发新的组件原创 2021-04-09 20:21:43 · 86 阅读 · 0 评论 -
18. Spring Cloud Sleuth分布式请求链路追踪
Spring Cloud Sleuth分布式请求链路跟踪概述在微服务框架中,一个由客户端发起的请求,在后端系统中会经过多个不同的服务节点调用,来协同产生最后的请求结果,每一个前端请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环出现高延时或错误都会引起整个请求最后的失败。当链路特别多的时候,就需要有一个用于调用链路的监控和服务跟踪的解决方案Spring Cloud Sleuth提供了一套完整的服务跟踪解决方案,在分布式系统中,提供了追踪解决方案,并且兼容支持了zipkin。名词解释T原创 2021-04-09 18:50:02 · 139 阅读 · 0 评论 -
17. Spring Cloud Stream消息驱动持久化
http://localhost:15672/原创 2021-04-09 16:18:28 · 524 阅读 · 0 评论 -
16. Spring Cloud Bus消息总线
Spring Cloud Bus消息总线概述Spring Cloud Bus具有分布式自动刷新配置的功能,配合 Spring Cloud Config,即可实现配置的动态刷新SpringCloudBus是用来将分布式系统的节点与轻量级消息系统链接起来的框架,它整合了Java的事件处理机制和消息中间件的功能。SpringCloudBus目前支持两种消息代理:RabbitMQ和Kafka作用SpringCloudBus能管理和传播分布式系统的消息,就像一个分布式执行器,可用于广播原创 2021-04-08 20:52:49 · 109 阅读 · 0 评论 -
15. Spring Cloud Config分布式配置中心
Spring Cloud Config分布式配置中心前言分布式面临的问题微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务,由于每个服务都需要必要的配置信息才能运行,所以一套集中式,动态的配置管理设施是必不可少的。SpringCloud提供了ConfigServer来解决这个问题,原来四个微服务,需要配置四个application.yml,如果需要四十个微服务,那么就需要配置40份配置文件,我们需要做的就是一处配置,处处生效。所以这个时候就需要一原创 2021-04-08 11:40:15 · 88 阅读 · 0 评论 -
14. Gateway新一代网关
Gateway前言网关在微服务中的位置ZuulZuul是前端(所有设备、web站点)对后端请求的中间件,也就是网关的意思。Zuul升级到Zuul2的时候出现了内部分歧,导致Zuul的核心人员离职,Zuul2则一直跳票,Zuul已经没人维护了,而Zuul2一直在开发中,这期间Spring Cloud自己研发了一个网关替代Zuul,那就是Spring Cloud Gateway。目前主流的服务网关采用的是Spring Cloud社区推出的Gateway简介Gateway是在Spring生态系原创 2021-04-07 21:42:45 · 239 阅读 · 0 评论 -
13. Hystrix断路器
Hystrix断路器概述分布式系统面临的问题复杂的分布式体系结构中,应用程序可能会有有数十个依赖关系,每个依赖关系在某些时候将不可避免地会失败。服务雪崩多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其它的微服务,这就是所谓的“扇出”。如果扇出的链路上某个微服务的调用响应时间过长或者不可用,对微服务A的调用就会占用越来越多的系统资源,进而引起系统崩溃,这就是所谓的“雪崩效应”。对于高流量的应用来说,单一的后端依赖可能会导致所有服务器上的所有资源都在几秒钟原创 2021-04-06 17:03:35 · 470 阅读 · 0 评论 -
12. OpenFeign
OpenFeign概述Feign是一个声明式的web服务客户端,让编写web服务客户端变得非常容易,只需创建一个接口并在接口上添加Feign的注解即可为什么要使用OpenFeign前面在使用Ribbon+ RestTemplate时,利用RestTemplate对http请求进行了封装处理,形成了一套模版化的调用方法。在实际开发中,由于对服务依赖的调用可能不止一处,往往一个接口会被多处调用,所以通常都会针对每个微服务自行封装-些客户端类来包装这些依赖服务的调用。Feign的实现Feign在原创 2021-04-05 14:02:27 · 114 阅读 · 1 评论 -
11. Ribbon
组件名语言CAP服务健康检查对外暴露接口Spring Cloud集成EurekaJavaAP可配支持HTTP已集成ConsulGoCP支持HTTP/DNS已集成ZookeeperJavaCP支持客户端已集成|HTTP/DNS| |客户端已集成.原创 2021-04-04 23:12:47 · 154 阅读 · 1 评论 -
10. Eureka、ZooKeeper、Consul异同点
Eureka、ZooKeeper、Consul异同点组件名语言CAP服务健康检查对外暴露接口Spring Cloud集成EurekaJavaAP可配支持HTTP已集成ConsulGoCP支持HTTP/DNS已集成ZooKeeperJavaCP支持客户端已集成CAPCAP理论关注的粒度是数据,而不是整体系统设计的策略C:Consistency(强一致性)A:Availability(可用性)P:Partition to原创 2021-04-03 21:38:52 · 109 阅读 · 0 评论 -
9. Consul
ConsulConsul是一套开源的分布式服务发现和配置管理系统, 由HashiCorp公司用Go语言开发。简介提供了微服务系统中的服务治理、配置中心、控制总线等功能。这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建全方位的服务网格,总之Consul提供了一种完整的服务网格解决方案。它具有很多优点。包括:基于raft协议,比较简洁;支持健康检查,同时支持HTTP和DNS协议,支持跨数据中心的WAN集群,提供图形界面跨平台,支持Linux、Mac、Windows。功能服务发现:原创 2021-04-03 19:51:03 · 110 阅读 · 0 评论 -
8. ZooKeeper
ZooKeeperZooKeeper是一个分布式协调工具,可以实现注册中心功能,本质上是一个分布式的小文件存储系统。在Linux上部署环境1.准备Zookeeper安装包http://archive.apache.org/dist/zookeeper/选择3.4.9下载完成之后,使用Xftp将其放到/opt目录下2.解压并拷贝到其它目录# 1) 解压tar -xvf zookeeper-3.4.9.tar.gz# 2) 拷贝到其它目录cp -r zookeeper-3.4.9 /u原创 2021-04-03 14:42:07 · 163 阅读 · 0 评论 -
7. Eureka
Eureca服务注册与发现Eureka基础知识服务治理用来专门管理服务与服务之间依赖关系的一种机制,可以实现服务调用、负载均衡、容错等,实现服务发现与注册。Eureka是实现这种机制的一个组件服务注册中心Eureka采用了CS的设计架构,Eureka Server作为服务注册功能的服务器,它是服务注册中心。系统中的其他微服务,使用Eureka的客户端连接到Eureka Server时,会同时维持心跳连接,这样系统的维护人员就可以通过Eureka Server,来监控系统中各个微服务是否正原创 2021-04-02 21:17:40 · 143 阅读 · 0 评论 -
6. 工程重构
工程重构前言通过前面两个项目,我们发现系统有重复的地方,需要将其重构。1.创建cloud-api-commons模块2.修改pom <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime原创 2021-04-01 22:25:22 · 237 阅读 · 0 评论 -
5. 消费者订单模块
消费者订单模块创建cloud-consumer-80模块选择Maven改pom文件添加依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency&原创 2021-04-01 21:22:23 · 138 阅读 · 0 评论 -
4. 热部署Devtools
热部署Devtools1.往要添加热部署的module中添加依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional>原创 2021-04-01 15:35:02 · 107 阅读 · 0 评论 -
3. 构建支付模块
构建支付模块1.建cloud-provider-payment8001模块选择Maven2.改pom文件添加依赖<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <d原创 2021-04-01 14:43:58 · 193 阅读 · 0 评论 -
2. 搭建一个Spring Cloud项目
搭建一个SpringCloud项目1.New Project2.聚合总父工程名字3.Maven选版本4.工程名字5.字符编码6.注解生效激活7.java编译版本选88.File Type过滤9.删除src文件夹10.修改pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://ww原创 2021-03-31 20:19:01 · 248 阅读 · 0 评论 -
1. Spring Cloud是什么
微服务微服务架构是一种架构模式,它提倡将单一应用程序划分成一组组小的服务,SpringBoot就是提供功能的微服务,服务之间互相协调、互相配合,最终每个服务运行在其独立的进程中。可以将其理解成Spring Boot开发的一个个功能单元服务与服务间采用轻量级的通信机制互相协作(通常是基于HTTP协议的RESTful APl)。每个服务都围绕着具体业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。另外,应当尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应该根原创 2021-03-31 18:44:19 · 100 阅读 · 0 评论