SpringCloud
文章平均质量分 87
PkyShare
每天进步一点点
展开
-
SpringCloud 分布式配置中心(Config)
1 介绍 在微服务中起码有几十上百的服务,每个服务都有自己的配置文件。若需要修改,则特别麻烦。 Spring Cloud Config 为微服务提供集中化的外部配置支持,配置服务器为各个不同的微服务应用的所有环节提供了一个中心化的外部配置。如下图所示: SpringCloud Config 分为服务端和客户端两部分。 服务端也称为分布式配置中心,它是一个独立的微服务应用,用来连接配置服务器并为客户端提供获取配置信息、加密、解密信息等访问接口。 客户端则通过指定的配置中心来管理应用资源,原创 2021-06-06 18:50:36 · 259 阅读 · 8 评论 -
SpringCloud API 网关(Zuul)
1 介绍 API 网关是对外服务的一个入口,其聚合内部服务,提供统一对外的 API 接口给前端系统,屏蔽内部实现细节,可以为我们管理大量的 API 接口,还可以对接客户、适配协议、进行安全认证、转发路由、限制流量、监控日志、防止爬虫、进行灰度发布等。 Zuul 是一个基于 JVM 路由和服务端的负载均衡器,提供路由、监控、弹性、安全等方面的服务框架。其核心是过滤器,通过这些过滤器我们可以扩展出很多功能,比如:动态路由:动态地将客户端的请求路由到后端不同的服务器,做一些逻辑处理,比如聚合多个服务的原创 2021-05-30 22:10:36 · 547 阅读 · 8 评论 -
SpringCloud 数据监控(Hystrix Dashboard )
1 介绍 微服务中使用 Hystrix 进行服务容错外,还有提供了实时监控功能。Hystrix Dashboard 是一款针对 Hystrix 进行实时监控的工具,通过 Hystrix Dashboard 我们可以在直观地看到各 Hystrix 的请求响应时间, 请求成功率等数据。2 整合 Dashboard 在需要监控的项目里修改如下信息:2.1 pom.xml <dependency> <groupId>org.springframewor原创 2021-05-30 02:27:03 · 724 阅读 · 0 评论 -
SpringCloud 服务熔断降级(Hystrix)
1 介绍1.1 服务雪崩 多个微服务之间调用的时候,假设服务 A 调用服务 B 和服务 C,如果在这条链路上某个服务的调用响应时间过长或不可用,对服务 A 的调用就会占用越来越多的资源,进而导致其他服务不可用,引起系统崩溃,也就是“雪崩效应”。1.2 Hystrix Hystrix 是一个用于处理分布式系统的延迟和容错的开源库,在分布式系统中,许多依赖不可避免的会调用失败,比如超时,异常等,Hystrix 能够保证在一个依赖出现问题的情况下,不会导致整体服务的失败,避免级联故障,以提高分布式系统原创 2021-05-27 22:16:48 · 302 阅读 · 2 评论 -
SpringCloud 负载均衡(Feign)
1 介绍 Feign 是一个声明式的 REST 客户端,它能让 REST 调用更加简单。Feign 提供了 Http 请求的模板,通过编写简单的忌口和插入注解,就可以定义好 Http 请求的参数、格式、地址等信息。 之前使用的是 RestTemplate 访问 Rest 服务,RestTemplate 提供了多种便捷访问远程 Http 服务的方法,能够大大提高客户端的编写效率。 而 Feign 会完全代理 Http 请求,我们只需要湘调用方法一样调用它就可以完成服务请求及相关处理。Feign 可原创 2021-05-27 14:05:18 · 781 阅读 · 2 评论 -
SpringCloud 负载均衡(Ribbon)
1 负载均衡1.1 图解 上图所示,如果客户在不同时间段访问,将会导致不同服务器在某个时间段的压力会很大,而在某个时间段某些服务器又很空闲导致资源的分配不合理而影响体验。 因此如上图需要有个中间件来处理请求的分发。让资源得到充分利用。这就是负载均衡,即将用户请求平躺的分配到多个服务上,从何达到系统的高可用。1.2 分类集中式:即在服务的消费方和提供方之间使用独立的负载均衡设置,如 Nginx(方向代理服务器),由该设施负责把请求通过某种策略转发至服务的提供方。进程式:将负载均衡集成原创 2021-05-27 01:13:06 · 268 阅读 · 0 评论 -
Eureka 和 Zookeeper 的区别(CAP)
1 CAPC(consistency)强一致性A(Availability)可用性P(partition tolerance)分区容错性1.1 概念 CAP 原则又称 CAP 定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。1.2 核心 根据 CAP 原理,将 NoSQL 数据库分成了满足 CA 原子,满足 CP原创 2021-05-26 17:54:25 · 560 阅读 · 0 评论 -
SpringCloud 之服务注册与发现(Eureka)
1 总工程项目 创建 springcloud 总工程项目。2 Eureka 创建 springcloud-eureka 模块。2.1 pom.xml<?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原创 2021-05-23 23:56:02 · 376 阅读 · 5 评论 -
SpringCloud 服务提供者与服务消费者
1. 总工程 创建 springcloud 总工程项目。1.1 pom.xml<?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.or原创 2021-05-23 00:27:01 · 362 阅读 · 0 评论 -
5 API 网关
1、API 网关 API 网关是对外服务的一个入口,其隐藏了内部框架的实现,是微服务架构中必不可少的一个组件。API 网关可以为我们管理大量的 API 接口,还可以对接客户、适配协议、进行安全认证、转发路由、限制流量、监控日志、防止爬虫、进行灰度发布等。 随着业务的发展,服务越来越多,前端用户如何调用微服务就成了一个难题。比如用户评估一个小区,评估完成之后需要展示小区详情、房价走势、成交数...原创 2019-09-03 16:39:46 · 388 阅读 · 0 评论 -
3 声明式 REST 客户端 Feign
1 前言 Java 项目中接口调用是怎么做的?Httpclient:HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 Http 协议的客户端编程工具包,并且它支持 Http 协议最新的版本和建议。HttpClient 相比传统的 JDK 自带的 URLConnection,增加了易用性和灵活性,是客户端发送 Http ...原创 2019-09-03 16:35:53 · 247 阅读 · 0 评论 -
2 Eureka注册中心
1 Eureka 简介 Spring Cloud Eureka 是 Spring Cloud Netflix 微服务条件的一部分,基于 Netflix Eureka 做了二次封装,主要负责实现微服务脚骨中的服务治理功能。Spring Cloud Eureka 是一个基于 REST 的服务,并且提供了基于 Java 的客户端组件,能够非常方便地将服务注册到 Spring Cloud Eureka...原创 2019-09-03 16:34:50 · 875 阅读 · 0 评论 -
4 Hystrix 服务容错处理
1、前言 在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以通过 RPC 相互调用,在 Spring Cloud 中可以用 RestTemplate + Ribbon 和 Feign 来调用。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证 100% 可用,如果单个服务出现问题,调用这个服务就会出现线程阻塞,此时若有大量的请求涌入,Servle...原创 2019-08-11 00:36:32 · 187 阅读 · 0 评论 -
1 Spring Cloud与微服务概述
1 概述本篇文章来源于《Spring Cloud 微服务 —— 尹吉欢 著》 微服务架构师一种架构风格,Spring Cloud 是实现微服务架构的一系列框架的有序集合。2 传统的单体应用 所谓单体应用程序,通俗来说就是所有的功能全部堆积在一起。这个应用大部分都是一个 war 包或者一个 jar 包。随着业务的发展,功能的增加,多年以后这个单体项目将变得越来越臃肿。 这样的单体...原创 2019-07-31 16:40:57 · 197 阅读 · 0 评论