
Spring Cloud
微服务就是一种将一个单一应用程序拆分为一组小型服务的方法,拆分完成后,每一个服务
都运行在独立的进程中,服务与服务之间采用轻量级的通信机制来进行沟通(Spring Cloud 中采用基于
HTTP 的 RESTful API)。
李多肉同学
求知若饥 虚心若愚
展开
-
Hystrix的简单介绍与使用
Hystrix 是 Netflix 针对微服务分布式系统采用的熔断保护中间件,相当于电路中的保险丝。在分布式环境中,许多服务依赖项中的一些必然会失败。Hystrix 是一个库,通过添加延迟容忍和容错逻辑,帮助你控制这些分布式服务之间的交互。Hystrix 通过隔离服务之间的访问点、停止级联失败和提供回退选项来实现这一点,所有这些都可以提高系统的整体弹性。在微服务架构下,很多服务都相互依赖,如果不能对依赖的服务进行隔离,那么服务本身也有可能发生故障,Hystrix 通过 HystrixCommand 对调原创 2020-10-24 07:45:17 · 213 阅读 · 0 评论 -
Spring Cloud Alibaba 从入门到放弃
NacosSpring Cloud Alibaba简介1. Nacos 简介1.1 Nacos 安装 + 配置中心1.2 注册中心2. SentinelSpring Cloud Alibaba简介Spring Cloud Alibaba 致力于提供微服务开发一站式解决方案。此项目包括开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。依托 Spring Cloud Alibaba,你只需要添加一些注解和少量配置,就可以将 Sprin原创 2020-12-09 10:50:41 · 569 阅读 · 0 评论 -
Spring Cloud Sleuth 笔记补充
Spring Cloud Sleuth1. 简介2. 简单应用2.1 异步任务2.1.1 Spring Cloud Sleuth 中也可以收集到异步任务中的消息2.1.2 Spring Cloud Sleuth 中也可以手机设定定时任务3. Zipkin3.1 准备工作3.2 实践1. 简介在大规模的分布式系统中,一个完整的系统是由很多种不同的服务来共同支撑的。不同的系统可能分布在上千台服务器上,横跨多个数据中心。一旦系统出问题,此时的问题定位就比较麻烦。分布式链路追踪:在微服务环境下,一次客户端请原创 2020-12-08 09:05:46 · 214 阅读 · 0 评论 -
Spring Cloud Stream (消息驱动)笔记补充
Spring Cloud Stream 笔记补充简介HelloWorld简介Spring Cloud Stream 是一个用来为微服务应用构建消息驱动能力的框架。它可以基于 Spring Boot 来创建独立的、可用于生产的 Spring 应用程序。Spring Cloud Stream 为一些供应商的消息中间件产品提供了个性化的自动化配置实现,并引入了发布-订阅、消费组、分区这三个核心概念。通过使用 Spring Cloud Stream,可以有效简化开发人员对消息中间件的使用复杂度,让系统开发人员可原创 2020-12-03 11:35:01 · 506 阅读 · 0 评论 -
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详细步骤可参考 Docker一键安装RabbitMQ 这篇文章。安装完成后,...原创 2020-11-26 15:04:14 · 149 阅读 · 0 评论 -
Spring Cloud Config 笔记补充
Spring Ccloud Config1. 基本用法1.1 简介1.2 准备工作-提交文件三级目录配置文件加解密安全管理服务化动态刷新请求失败重试1. 基本用法1.1 简介Spring Ccloud Config 是一个分布式系统配置管理的解决方案,它包含了 Client 和 Server 。配置文件放在 Server 端,通过接口的形式提供给 Client。主要功能:集中管理各个微服务/环境的配置文件(中央仓库 统一打包 发快递)支持多种开发语言和高并发查询提供server(服务端)和客原创 2020-11-24 14:33:12 · 180 阅读 · 0 评论 -
Spring Cloud Gateway 笔记补充
Spring Cloud Gateway简介基本用法首先来看编码式:yml 配置与微服务结合PredicateFilter简介SpringCloud Gateway 旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。SpringCloud Gateway 作为 Spring Cloud 生态系统中的网关,目标是替代 Zuul,使用的是Spring Boot和Spring Webflux提供的Netty底层环境,不能和传统的Servlet容器一起使用,也不能打包成一个WAR包。Sprin原创 2020-11-19 11:10:31 · 923 阅读 · 0 评论 -
Zuul 笔记补充
Zuul 笔记补充1. 服务网关2. Zuul 简介2.1 初识 Zuul2.2 zuul过滤2.3 Zuul 中的其他配置2.3.1 匹配规则2.3.2 忽略路径2.3.3 前缀1. 服务网关由于每个微服务的地址都有可能发生变化,无法直接对外公布这些服务地址,基于安全以及高内聚低耦合等设计,我们有必要将内部系统与外部系统做一个切割。一个专门用来处理外部请求的组件就是服务网关。好处:客户端调用更加简单权限问题统一处理数据分割和拼接不同客户端可提供不同的网关支持Spring Cloud原创 2020-11-18 14:33:09 · 140 阅读 · 0 评论 -
服务监控
微服务由于服务数量众多,所以出故障的概率很大,这种时候不能单纯地依靠人肉运维。早期的 Spring Cloud 中,服务监控主要使用 Hystrix Dashboad ,集群数据库监控使用 Turbine。在 Greenwich 版本中,官方的建议监控工具使用 Micrometer。Micrometer:提供了度量指标,例如 timers、counters一揽子开箱即用的解决方案,如缓存、类加载器、垃圾收集等等。新建一个 Spring Boot 项目, 添加 Actuator 依赖。项目创建原创 2020-11-16 11:50:04 · 976 阅读 · 0 评论 -
Linux 快速安装 Prometheus
安装:# 下载Prometheus wget https://github.com/prometheus/prometheus/releases/download/v2.16.0/prometheus-2.16.0.linux-amd64.tar.gz# 解压tar -zxvf prometheus-2.16.0.linux-amd64.tar.gz解压完成后,配置一下数据路径和要监控的服务地址:cd prometheus-2.16.0.linux-amd64/vi prometheu原创 2020-11-16 11:46:14 · 308 阅读 · 0 评论 -
Resilience4j 从入门到放弃
Resilience4j 简介1.基本用法1.1熔断器1.1.1 首先看一个**正常**的断路器:1.1.2 一个**异常**的断路器:1.1.3 断路器重置简介Resilience4j 是 Spring Cloud Greenwich 版推荐的容错解决方案,相比 Hystrix ,Resilience4j 专为 Java8 以及函数编程而设计。Resilience4j 主要有以下功能:CircuitBreaker(熔断器)RateLimiter(限流)Retry(请求重试)限时缓存信号原创 2020-11-13 17:38:40 · 2695 阅读 · 0 评论 -
OpenFeign 从入门到放弃
OpenFeign前言HelloWorld二级目录三级目录前言之前使用的eureka/hystrix 都是调用RestTemplate(繁琐 重复高) 。而OpenFeign对请求进行简化。Feign停更了 OpenFeign是在Feign基础上开发出来的。常用的几种接口调用方法:Httpclient 易用 灵活Okhttp 处理网络请求 轻量级 支持多协议。。HttpURLConnection 使用复杂RestTemplate Rest服务的客户端 提供多种便携访问HTTP服务的方法H原创 2020-11-04 15:18:20 · 1190 阅读 · 2 评论 -
Hystrix 简单请求合并
频繁的调用provider接太浪费了, 就有了将多个请求合并为一个请求的方式。首先在provider中提供一个请求合并的接口:@RestControllerpublic class UserController { /**【既可以处理多个,也可以处理单个请求】 *单个请求的话,List中只有一项数据 *假设 consumer 传过来的多个id格式是 1,2,3,4....*/ @GetMapping("/user/{ids}") public List<U原创 2020-10-26 10:39:24 · 370 阅读 · 0 评论 -
Hystrix 请求命令 & 异常处理
1.请求命令请求命令就是以继承类的方式来代替前面的注解方式。接着上文,首先定义一个helloCommand:public class HelloCommand extends HystrixCommand<String> { RestTemplate restTemplate; public HelloCommand(Setter setter,RestTemplate restTemplate) { super(setter);原创 2020-10-26 09:46:41 · 721 阅读 · 0 评论 -
Consul 的使用、集群注册与消费简单案例
1.Consul 使用首先创建一个服务提供者consul-provider。新建一个Spring Boot项目,添加如下依赖:项目创建成功后,application.properties 添加如下配置:spring.application.name=consul-providerserver.port=2000# Consul 相关配置spring.cloud.consul.host=192.168.1.111 #写自己的ipspring.cloud.consul.port=85.原创 2020-10-21 17:33:59 · 490 阅读 · 0 评论 -
阿里云Centos 7.x 安装Consul
1.1 下载consul下载链接选择linux版本 下载好后 在传到服务器上或者直接在linux wget下载:wget https://releases.hashicorp.com/consul/1.7.1/consul_1.7.1_linux_amd64.zip然后进入根目录解压:unzip consul_1.7.1_linux_amd64.zip解压完成后,在根目录 可以看到Consul文件,然后执行以下命令,启动Consul. #此处ip也可写0.0.0.0./原创 2020-10-21 17:03:26 · 393 阅读 · 0 评论 -
RestTemplate 操作详细笔记
RestTemplate介绍spring3.0开始支持 Http请求工具 该工具与springboot或springcloud无关 提供常见的REST请求模版 例如支持GET、PUT、POST、DELETE 通用请求方法 --> exchange和execute 实现RestOperations接口 该接口定义了常见的RESTful操作 1.GET操作首先在provider中定义一个 hello2 接口: @GetMapping("/hello2") pu原创 2020-10-21 16:41:03 · 638 阅读 · 0 评论 -
Eureka 服务注册与消费(超详细)
1.服务注册服务注册就是把一个微服务注册到 Eureka Server 上,当其它服务需要调用该服务时,只需从Eureka Server 上查询该服务的信息即可。下面创建一个provider,作为服务提供者,创建项目时,选择Eureka Client 依赖,这样,当服务创建成功后,简单配置一下,就可以被注册到Eureka Server 上了。项目创建成功后,只需在 application.properties 中配置一下项目的注册地址即可。注册地址的配置,和Eureka Server 集..原创 2020-10-21 15:03:26 · 1136 阅读 · 0 评论 -
Spring Cloud Eureka 搭建 & 集群
关于Eureka的介绍已经在上篇文章通俗的讲了。Eureka 本身是使用java 来开发的,Spring cloud 使用 Spring Boot 技术对 Eureka进行了原创 2020-10-21 12:24:57 · 411 阅读 · 1 评论 -
Spring Cloud Eureka(详细介绍) 大白话
笔记补录:Spring CloudEureka 是Spring Cloud Netflix 微服务套件的一部分,基于 Netflix Eureka 做了二次封装,主要负责实现微服务架构中的服务治理功能。服务治理是微服务架构中必不可少的一部分,阿里开源的 Dubbo 框架就是针对服务治理的。服务治理必须要有一个注册中心,除了用 Eureka 作为注册中心外,我们还可以使用 Consul、Etcd、Zookeeper 等来作为服务的注册中心。用过 Dubbo 的读者应该清楚,Dubbo 中也有几..原创 2020-09-21 23:30:47 · 832 阅读 · 0 评论 -
解决Consul启动后Service Check报红叉的错误
consul启动后,访问http://ip:8500/ui ,提示报错(xxx是服务器的主机名):Get "http://xxx:2000/actuator/health": dial tcp: lookup xxx on 100.100.2.136:53: no such host解决方法:在Consul所在的服务器上配置host映射,将报错中的 xxx 映射到127.0.0.1 ,即可解决。1. 编辑hosts文件vim /etc/hosts2.在127.0.0.1 的...原创 2020-09-17 14:31:17 · 7201 阅读 · 5 评论 -
解决Consul 启动后访问不了原因
笔记补录:在阿里云上安装并启动了consul,以开发模式启动,如下:./consul agent -dev -ui -node=consul-dev -client=ip地址于是我在浏览器输入http://ip地址:8500/ui时一直访问不了。然后查看服务器安全组是否开放8500端口。开放8500端口后还是访问不了。解决方法:-client加上的指定其他机器即可。./consul agent -dev -ui -node=consul-dev -client=0.0.0.0.原创 2020-09-17 14:14:45 · 10404 阅读 · 3 评论 -
Spring Cloud 入门
简单粗暴的记录一下微服务以及spring cloud1.什么是微服务 简单来说,微服务就是一种将一个单一应用程序拆分为一组小型服务的方法,拆分完成后,每一个服务都运行在独立的进程中,服 务于服务之间采用轻量级的通信机制来进行沟通(Spring Cloud 中采用基于HTTP 的 RESTful API)。 每一个服务,都是围绕具体的业务进行构建,例如一个电商系统...原创 2020-04-07 11:32:48 · 274 阅读 · 0 评论