当前页共 13 篇文章
2022-04-06
Spring Cloud Alibaba Spring Cloud Alibaba 是阿里巴巴提供的一套微服务开发一站式解决方案。主要提供的功能: 服务限流降级 服务注册与发现 分布式配置中心 消息驱动 分布式事务 阿里云对象存储 阿里云短信 提供的组件: Sentinel Nacos 优势: 中文文档 没有另起炉灶,可以方便的集成到现有项目中 阿里本身在高并发、高性能上的经验,让我们有理由相信这些组件足够可靠 1、Nacos Nacos 主要提供了服务发现、服务配置以及服务管理。基本特性: 服务发现 动态配置 动态 DNS 服务 服务及元数据管理 1.1 安装+配置中心 Docker 安装 下载源码自己编译安装/下
  • 诗与远方
  • 2022年04月06日
  • 873 阅读
  • 0 评论
SpringCloud
2022-04-06
Spring Cloud Sleuth 1.简介 在这种大规模的分布式系统中,一个完整的系统是由很多种不同的服务来共同支撑的。不同的系统可能分布在上千台服务器上,横跨多个数据中心。一旦系统出问题,此时问题的定位就比较麻烦。 分布式链路追踪: 在微服务环境下,一次客户端请求,可能会引起数十次、上百次服务端服务之间的调用。一旦请求出问题了,我们需要考虑很多东西: 如何快速定位问题? 如果快速确定此次客户端调用,都涉及到哪些服务? 到底是哪一个服务出问题了? 要解决这些问题,就涉及到分布式链路追踪。 分布式链路追踪系统主要用来跟踪服务调用记录的,一般来说,一个分布式链路追踪系统,有三个部分: 数据收集 数据存储 数据展示 Spri
  • 诗与远方
  • 2022年04月06日
  • 795 阅读
  • 0 评论
SpringCloud
2022-04-06
Spring Cloud Stream 一、概念 Spring Cloud Stream 用来构建消息驱动的微服务。Spring Cloud Stream 中,提供了一个微服务和消息中间件之间的一个粘合剂,这个粘合剂叫做Binder,Binder 负责与消息中间件进行交互。而我们开发者则通过 inputs 或者 outputs 这样的消息通道与 Binder 进行交互。 二、HelloWorld 创建一个 Spring Cloud Stream 项目,添加三个依赖,web、rabbitmq、cloud stream: 项目创建成功后,添加 RabbitMQ 的基本配置信息: spring.rabbitmq.host=192.168.
  • 诗与远方
  • 2022年04月06日
  • 837 阅读
  • 0 评论
SpringCloud
2022-04-06
Spring Cloud Bus Spring Cloud Bus Spring Cloud Bus 通过轻量级的消息代理连接各个微服务,可以用来广播配置文件的更改,或者管理服务监控。安装 RabbitMQ。Docker 中 RabbitMQ 安装命令: docker run -d --hostname my-rabbit --name some-rabbit -p 15672:15672 5672:5672 rabbitmq:3-management 首先给 config-server 和 config-client 分别加上 Spring Cloud Bus 依赖。 <dependency>    <
  • 诗与远方
  • 2022年04月06日
  • 578 阅读
  • 0 评论
SpringCloud
2022-04-06
Spring Cloud Config 基本用法 分布式配置中心解决方案: 国内: 360:QConf 淘宝:diamond 百度:disconf 阿里: Nacos 国外: Apache Commons Configuration owner cfg4j 简介 Spring Cloud Config 是一个分布式系统配置管理的解决方案,它包含了 Client 和 Server 。配置文件放在 Server 端,通过 接口的形式提供给 Client。Spring Cloud Config 主要功能: 集中管理各个环境、各个微服务的配置文件 提供服务端和客户端支持 配置文件修改后,可以快速生效 配置文件通过 Git/SVn
  • 诗与远方
  • 2022年04月06日
  • 728 阅读
  • 0 评论
SpringCloud
2022-04-06
Spring Cloud Gateway 简介 特点: 限流 路径重写 动态路由 集成 Spring Cloud DiscoveryClient 集成 Hystrix 断路器和 Zuul 对比: Zuul 是 Netflix 公司的开源产品,Spring Cloud Gateway 是 Spring 家族中的产品,可以和Spring 家族中的其他组件更好的融合。 Zuul 不支持长连接,例如 websocket。 3. Spring Cloud Gateway 支持限流。 Spring Cloud Gateway 基于 Netty 来开发,实现了异步和非阻塞,占用资源更小,性能强于Zuul。 基本用法 Spring Cloud
  • 诗与远方
  • 2022年04月06日
  • 665 阅读
  • 0 评论
SpringCloud
2022-04-02
SpringCloud之 Zuul服务网关 服务网关 Zuul 和 Gateway由于每一个微服务的地址都有可能发生变化,无法直接对外公布这些服务地址,基于安全以及高内聚低耦合等设计,我们有必要将内部系统和外部系统做一个切割。一个专门用来处理外部请求的组件,就是服务网关。 权限问题统一处理 数据剪裁和聚合 简化客户端的调用 可以针对不同的客户端提供不同的网关支持 Spring Cloud 中,网关主要有两种实现方案: Zuul Spring Cloud Gateway Zuul Zuul 是 Netflix 公司提供的网关服务。Zuul 的功能: 权限控制,可以做认证和授权 监控 动态路由 负载均衡 静态资源处理Zuul 中的
  • 诗与远方
  • 2022年04月02日
  • 600 阅读
  • 0 评论
SpringCloud
2022-04-02
Resilience4j 简介 Resilience4j 是 Spring Cloud Greenwich 版推荐的容错解决方案,相比 Hystrix,Resilience4j 专为Java8 以及函数式编程而设计。Resilience4j 主要提供了如下功能: 断路器 限流 基于信号量的隔离 缓存 限时 请求重试 基本用法 首先搭建一个简单的测试环境。 <dependency>    <groupId>junit</groupId>    <artifactId>junit</artifactId>    <version>4.12&l
  • 诗与远方
  • 2022年04月02日
  • 566 阅读
  • 0 评论
SpringCloud
2022-04-02
SpringCloud之OpenFeign 教程 1. OpenFeign 前面无论是基本调用,还是 Hystrix,我们实际上都是通过手动调用 RestTemplate 来实现远程调用的。使用 RestTemplate 存在一个问题:繁琐,每一个请求,参数不同,请求地址不同,返回数据类型不同,其他都是一样的,所以我们希望能够对请求进行简化。我们希望对请求进行简化,简化方案就是 OpenFeign。一开始这个组件不叫这个名字,一开始就叫 Feign,Netflix Feign,但是 Netflix 中的组件现在已经停止开源工作,OpenFeign 是 Spring Cloud 团队在 Netflix Feign 的基础上开发出来的声明式服务调
  • 诗与远方
  • 2022年04月02日
  • 771 阅读
  • 0 评论
SpringCloud
2022-04-02
SpringCloud之Hystrix教程 1. 基本介绍 Hystrix 叫做断路器/熔断器。微服务系统中,整个系统出错的概率非常高,因为在微服务系统中,涉及到的模块太多了,每一个模块出错,都有可能导致整个服务出,当所有模块都稳定运行时,整个服务才算是稳定运行。 我们希望当整个系统中,某一个模块无法正常工作时,能够通过我们提前配置的一些东西,来使得整个系统正常运行,即单个模块出问题,不影响整个系统。 2. 基本用法 首先创建一个新的 SpringBoot 模块,然后添加依赖: 项目创建成功后,添加如下配置,将 Hystrix 注册到 Eureka 上: spring.application.name=hystrix server.po
  • 诗与远方
  • 2022年04月02日
  • 609 阅读
  • 0 评论
SpringCloud
2022-04-02
springcloud 之consul教程使用 Consul 在 Spring Cloud 中,大部分组件都有备选方案,例如注册中心,除了常见 Eureka 之外,像zookeeper 我们也可以直接使用在 Spring Cloud 中,还有另外一个比较重要的方案,就是 Consul。Consul 是 HashiCorp 公司推出来的开源产品。主要提供了:服务发现、服务隔离、服务配置等功能。相比于 Eureka 和 zookeeper,Consul 配置更加一站式,因为它内置了很多微服务常见的需求:服务发现与注册、分布式一致性协议实现、健康检查、键值对存储、多数据中心等,我们不再需要借助第三方组件来实现这些功能。 1. 安装 不同于 Eur
  • 诗与远方
  • 2022年04月02日
  • 563 阅读
  • 0 评论
SpringCloud
2022-04-01
服务注册 1. 服务注册 服务注册就是把一个微服务注册到 Eureka Server上,这样,当其他服务需要调用该服务时,只需要从Eureka Server上查询该服务的信息即可。
这里我们创建一个provider,作为我们的服务提供者,创建项目时,选择 Eureka Client 依赖,这样,当服务创建成功后,简单配置一下,就可以被注册到 Eureka Server上了∶ 项目创建成功后,我们只需要在 application.properties中配置一下项目的注册地址即可。注册地址的配置,和 Eureka Server集群的配置很像。配置如下∶
 spring.application.name=p
  • 诗与远方
  • 2022年04月01日
  • 545 阅读
  • 0 评论
SpringCloud
2022-04-01
SpringCloud 之 Eureka 注册中心 1.注册中心 Eureka是 Spring Cloud中的注册中心,类似于Dubbo中的Zookeeper。那么到底什么是注册中心,我们为什么需要注册中心?我们首先来看一个传统的单体应用∶ 在单体应用中,所有的业务都集中在一个项目中,当用户从浏览器发起请求时,直接由前端发起请求给后端,后端调用业务逻辑,给前端请求做出响应,完成一次调用。整个调用过程是一条直线,不需要服务之间的中转,所以没有必要引入注册中心。 随着公司项目越来越大,我们会将系统进行拆分,例如一个电商项目,可以拆分为订单模块、物流模块、支付模块、CMS模块等等。这样,当用户发起请求时,就需要各个模块之间进行协作,这样不可避免的要
  • 诗与远方
  • 2022年04月01日
  • 567 阅读
  • 0 评论
SpringCloud