springCloud
文章平均质量分 83
微服务实战
ZNineSun
大道至简,返璞归真
展开
-
服务网关与流量网关
在了解这个问题 之前,我们需要知道什么是网关,很多地方将网关比如成门, 没什么问题, 但是需要区分网关与网桥的区别。工作在数据链路层,在不同或相同类型的LAN之间存储并转发数据帧,必要时进行链路层上的协议转换。可连接两个或多个网络,在其中传送信息包。是一个大概念,不具体特指一类产品,只要连接两个不同的网络都可以叫网关,网桥一般只转发信息,而网关可能进行包装。原创 2022-10-09 19:11:00 · 2805 阅读 · 0 评论 -
负载均衡的常见几种算法
我们不管是使用nginx还是使用分布式架构下的路由组件都一定会遇到负载均衡的问题,因为在分布式架构下,一般都不会中提供一个单独的数据服务结点,而是通过若干个服务集群的形式保证系统的高可用。下面我们来谈一谈负载均衡的一些常见的算法。......原创 2022-08-31 18:21:42 · 580 阅读 · 0 评论 -
一文梳理SpringCloud常见知识点
Spring cloud 流应用程序启动器是基于 Spring Boot 的 Spring 集成应用程序,提供与外部系统的集成。Spring cloud Task,一个生命周期短暂的微服务框架,用于快速构建执行有限数据处理的应用程序。微服务架构是一种架构模式或者说是一种架构风格,它提倡将单一应用程序划分为一组小的服务,每个服务运行在其独立的自己的进程中,服务之间相互协调、互相配合,为用户提供最终价值。...原创 2022-08-29 17:55:32 · 386 阅读 · 0 评论 -
Spring Cloud Gateway夺命连环10问,带你彻底了解gateway
Predicate来自于java8的接口。Predicate接受一个输入参数,返回一个布尔值结果。该接口包含多种默认方法来将Predicate组合成其他复杂的逻辑(比如:与,或,非)。可以用于接口请求参数校验、判断新老数据是否有变化需要进行更新操作。Spring Cloud Gateway内置了许多Predict,这些Predict的源码在org.springframework.cloud.gateway.handler.predicate包中,有兴趣可以阅读一下。原创 2022-08-19 23:31:43 · 1464 阅读 · 0 评论 -
一文理解分布式开发中的服务治理
我们在分布式开发中经常听到的一个词就是“服务治理”。在理解“服务治理”的概念之前让我们先理解什么是分布式系统,分布式系统之间如何通过RPC(RemoteProcedureCall,远程过程调用)方式通信,以及如何解决RPC框架存在的问题,这样才能真正地理解服务治理的核心思想。.........原创 2022-07-29 15:01:59 · 384 阅读 · 0 评论 -
springCloud alibaba:Nacos Config-服务配置
文章目录1.为什么要引入配置中心2.Nacos Config入门2.1 搭建nacos环境2.2 添加依赖2.3 新建bootstrap.yml,后面的配置都要写在这个文件里2.4 在naco服务里添加配置3.Nacos Config深入3.1 配置动态刷新3.2 配置共享同一个微服务的不同环境之间共享配置不同微服务之间的配置共享1.为什么要引入配置中心配置文件相对分散。在一个微服务架构下,配置文件会随着微服务的增多变的越来越多,而且分散在各个微服务中,不好统一配置和管理。配置文件无法区原创 2022-05-25 14:42:54 · 548 阅读 · 0 评论 -
解决docker项目部署之Nacos服务注册IP选择
前段时间为了方便项目的快速部署,我便将其项目部署到了docker中,后来有一次项目调试的时候我发现我在本地启动的项目,无法通过fegin调用我部署在docker里面的服务我就立刻去nacos里查看项目的启动情况,突然发现其注册的地址是docker内部的物理机地址然后我就去查了一下SpringCloud的官方文档,发现有一项配置如下:Sometimes, it is useful to ignore certain named network interfaces so that they can原创 2022-04-20 19:49:58 · 15439 阅读 · 4 评论 -
美团Leaf实战(分布式Id算法)
文章目录1、 Leaf-segment号段模式1.1 数据库配置1.2 导入并修改leaf项目1.3 Leaf-segment双buffer模式1.4 Leaf segment监控1.5 优缺点2.Leaf-snowflake2.1 Leaf-snowflake的启动过程2.2 优缺点目前主流的分布式ID生成方式,大致都是基于数据库号段模式和雪花算法(snowflake),而美团(Leaf)刚好同时兼具了这两种方式,可以根据不同业务场景灵活切换。1、 Leaf-segment号段模式Leaf-segm原创 2022-04-07 21:26:32 · 11677 阅读 · 3 评论 -
分布式id解决方案
文章目录1.分布式id实现方案1.1.uuid1.2 数据库主键自增1.3 Redis自增1.4 号段模式1.5 雪花算法(snowflake)1.5.1 百度(uid-generator)1.5.2 美团(Leaf)所谓id就是能够用作唯一标识的记号。在我们日常的设计中,对于单体架构,我们一般使用数据库的自增Id来作为表的主键,但是对于一个分布式系统,就会出现ID冲突,所以对于分布式ID而言,也需要具备分布式系统的特点:高并发,高可用,高性能等特点。1.分布式id实现方案我们先看看常见的分布id解原创 2022-04-04 18:29:41 · 10379 阅读 · 4 评论 -
SpringCloud alibaba实战
1.什么是Spring cloud Alibaba1.1 简介Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。1.2 主要功能服务限流降级:默认支持 We原创 2022-03-03 22:48:14 · 3191 阅读 · 1 评论 -
SpringCloud09—消息总线:Spring Cloud Bus
9.消息总线:Spring Cloud Bus在微服务架构的系统中,我们通常会使用轻量级的消息代理来构建一个共用的消息主题让系统中所有微服务实例都连接上来,由于该主题中产生的消息会被所有实例监听和消费,所以我们称它为消息总线。在总线上的各个实例都可以方便地广播一些需要让其他连接在该主题上的实例都知道的消息,例如配置信息的变更或者其他一些管理操作等。由于消息总线在微服务架构系统中被广泛使用,所以它同配置中心一样,几乎是微服务架构中的必备组件。Spring Cloud作为微服务架构综合性的解决方案,对此自然原创 2021-10-26 20:52:52 · 1015 阅读 · 0 评论 -
SpringCloud01—基础知识
1.什么是微服务架构2.产生原因3.如何实施微服务4.微服务的九大特性4.1 服务组件化4.2 按业务组织团队4.3 做“产品的态度4.4 智能端点与哑管道4.5 去中心化治理4.6 去中心化管理数据4.7 基础设施自动化4.8 容错设计4.9 演进式设计5.SpringCloud简介1.什么是微服务架构简单来说微服务是系统架构上的一种设计风格,他的主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间通过基于HTTP的RE..原创 2021-06-22 11:03:39 · 224 阅读 · 0 评论 -
SpringCloud02—微服务构建:SpringBoot
在构建springCloud框架之前,先通过本章了解一下用于构建微服务的基础框架–springBoot在如今容器化大行其道的时代,Spring Boot除了可以很好融入Docker之外,其自身就支持嵌入式的Tomcat、Jetty 等容器。所以,通过Spring Boot构建的应用不再需要安装Tomcat,将应用打包成war,再部署到Tomcat这样复杂的构建与部署动作,只需将SpringBoot应用打成jar包,并通过java -jar命令直接运行就能启动一个标准化的Web应用,这使得Spring Bo原创 2021-06-22 16:20:47 · 262 阅读 · 0 评论 -
SpringCloud03—服务治理:SpringCloud Eureka
3.服务治理:SpringCloud EurekaSpring Cloud Eureka是Spring Cloud Netflix微服务套件中的一部分,它基于NetflixEureka做了二次封装,主要负责完成微服务架构中的服务治理功能。Spring Cloud通过为Eureka增加了Spring Boot风格的自动化配置,我们只需通过简单引入依赖和注解配置就能让 Spring Boot构建的微服务应用轻松地与Eureka服务治理体系进行整合。3.1 服务治理服务治理可以说是微服务架构中最为核心和基础原创 2021-06-23 19:58:51 · 363 阅读 · 1 评论 -
SpringCloud04—客户端负载均衡 SpringCLoud Ribbon
4.客户端负载均衡 SpringCLoud Ribbon4.1 客户端负载均衡4.2 RestTemplate 详解4.2.1 GET 请求4.2.2 POST 请求4.3 负载均衡策略4.3.1 AbstractLoadBalancerRule4.3.2 RandomRule4.3.3 RoundRobinRule4.3.4 RetryRule4.3.4 WeightedResponseTimeRule4.3.4.1 定时任务4.3.4.2 权重计算4.3.4.3..原创 2021-06-29 10:36:44 · 227 阅读 · 0 评论 -
SpringCloud05—服务容错保护:Spring Cloud Hystrix
5.服务容错保护:Spring Cloud Hystrix5.1 产生来源5.2 快速入门5.3 使用详解5.3.1 创建请求命令5.4 定义服务降级5.5 异常处理5.5.1 异常传播5.5.2 异常获取5.6 命令名称、分组以及线程池的划分5.6.1 通过继承HystrixCommand来实现命令的设置,分组以及线程池的划分5.6.2 使用注解设置命令,分组以及对线程池的划分5.7 请求缓存5.7.1 开启请求缓存的功能5.7.2 清理失效缓存5...原创 2021-07-12 14:49:38 · 430 阅读 · 0 评论 -
SpringCloud06—声明式服务调用:Spring Cloud Feign
6.声明式服务调用:Spring Cloud Feign6.1 快速入门6.2 参数绑定6.3 Ribbon配置6.3.1 全局配置6.3.2 指定服务配置6.3.3 重试机制6.4 Hystrix配置6.4.1 全局配置6.4.2 禁用Hystrix6.4.3 指定命令配置6.4.4 服务降级配置6.4.5 请求压缩6.4.6 日志配置6.声明式服务调用:Spring Cloud Feign本章我们即将介绍的Spring Cloud Feign基于N..原创 2021-07-14 16:42:39 · 355 阅读 · 0 评论 -
SpringCloud07—API网关服务:Spring Cloud Zuul
7.API网关服务:Spring Cloud Zuul7.1 背景介绍通过前几章的介绍,我们对于Spring Cloud Netflix下的核心组件已经了解了一大半。这些组件基本涵盖了微服务架构中最为基础的几个核心设施,利用这些组件我们已经可以构建起一个简单的微服务架构系统比如:通过使用Spring Cloud Eureka实现高可用的服务注册中心以及实现微服务的注册与发现;通过Spring Cloud Ribbon或Feign实现服务间负载均衡的接口调用;同时,为了使分布式系统更为健壮,对于原创 2021-08-31 14:35:24 · 311 阅读 · 0 评论 -
springCloud08—分布式配置中心:Spring Cloud Config
8.分布式配置中心:Spring Cloud ConfigSpring Cloud Config是Spring Cloud团队创建的一个全新项目,用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持,它分为服务端与客户端两个部分。服务端也称为分布式配置中心,它是一个独立的微服务应用,用来连接配置仓库并为客户端提供获取配置信息、加密信息等访问接口;客户端则是微服务架构中的各个微服务应用或基础设施,它们通过指定的配置中心来管理应用资源与业务相关的配置内容,并在启动的时候从配置中心获取和加载配原创 2021-08-23 22:51:53 · 277 阅读 · 1 评论 -
解决zuul启动之后显示HTTP Status 500 – Internal Server Error错误
问题描述:我使用spring cloud集成zuul时,项目可以运行起来,但是当通过路由进行访问时提示HTTP Status 500 – Internal Server Error错误产生原因:springBoot版本和spring-cloud-starter-netflix-zuul版本不一致在未修改之前我的配置如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/原创 2021-08-24 20:49:16 · 1752 阅读 · 0 评论 -
解决Zuul无法通过网关问题
当通过网关进行服务访问时,控制台报以下错误: java.lang.NoSuchMethodError: org.springframework.boot.web.servlet.error.ErrorController.getErrorPath()Ljava/lang/String; 这是由于cloud zuul springBoot版本不适配导致,可以参考我的配置进行自己修改 <parent> <groupId>org.springframework.原创 2021-07-15 11:43:37 · 2091 阅读 · 1 评论 -
解决springCloud2020 feign 熔断失效的问题
我们使用spring cloud做服务熔断时,断开服务进行测试,结果发现提示这是由于feign中没有开启hystrix,于是我们按照网上的教程添加配置进行开启feign.hystrix.enabled=true结果发现没有任何用处,这是因为feign.hystrix.enabled已经找不到了,对应新的控制装配的是# 开启hystrixfeign.circuitbreaker.enabled=true下面贴出我的maven配置<?xml version="1.0" encoding原创 2021-07-14 16:10:44 · 3661 阅读 · 4 评论 -
解决No spring.config.import property has been defined问题
在我们配置spring cloud config的客户端映射时,启动项目之后出现No spring.config.import property has been defined的问题产生问题的原因是bootstrap.properties比application.properties的优先级要高由于bootstrap.properties是系统级的资源配置文件,是用在程序引导执行时更加早期配置信息读取;而application.properties是用户级的资源配置文件,是用来后续的一些配置所需要原创 2021-08-22 17:58:15 · 33660 阅读 · 14 评论 -
解决springcloud访问actuator端点(refresh beans等)返回404的问题
在开发时遇到一个问题就是加入actuator模块之后想动态的刷新拉取远程配置的操作,可是通过/actuator/refresh检测是否有配置的更新时却发现返回404,这是由于我们没有设置springBoot2.0之后的版本将大部分的端点都屏蔽了,此时我们需要手动的去开启management.endpoints.enabled-by-default=truemanagement.endpoint.health.show-details=alwaysmanagement.endpoints.web.exp原创 2021-08-23 22:38:41 · 1988 阅读 · 0 评论