`
fhadmin框架平台
  • 浏览: 19682 次
文章分类
社区版块
存档分类
最新评论

spring cloud 简介 内置服务 zuul、Eureka、Ribbon、Hystrix 等

 
阅读更多

一、什么是springcloud,有什么作用

  Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。

Spring Cloud是一个全家桶式的技术栈,包含了很多组件。实例 www.b123.com  。先从其最核心的几个组件入手,来剖析一下其底层的工作原理。也就是Eureka、Ribbon、Feign、Hystrix、Zuul这几个组件。

Eureka

 Eureka是微服务架构中的注册中心,专门负责服务的注册与发现。库存服务、仓储服务、积分服务中都有一个Eureka Client组件,Eureka Client这个组件专门负责将这个服务的信息注册到Eureka Server中(就是告诉Eureka Server,自己在哪台机器上,监听着哪个端口)。而Eureka Server是一个注册中心,里面有一个注册表,保存了各服务所在的机器和端口号。

订单服务里也有一个Eureka Client组件,这个Eureka Client组件会找Eureka Server问一下:库存服务在哪台机器啊?监听着哪个端口啊?仓储服务呢?积分服务呢?然后就可以把这些相关信息从Eureka Server的注册表中拉取到自己本地缓存起来。

总结:

Eureka Client:负责将这个服务的信息注册到Eureka Server中

Eureka Server:注册中心,里面有一个注册表,保存了各个服务所在的机器和端口号

Feign

Feign的一个关键机制就是使用了动态代理。

 首先,如果你对某个接口定义了@FeignClient注解,Feign就会针对这个接口创建一个动态代理

接着你要是调用那个接口,本质就是会调用 Feign创建的动态代理,这是核心中的核心

Feign的动态代理会根据你在接口上的@RequestMapping等注解,来动态构造出你要请求的服务的地址

最后针对这个地址,发起请求、解析响应

Ribbon

Ribbon的作用是负载均衡,会帮你在每次请求时选择一台机器,均匀的把请求分发到各个机器上。Ribbon的负载均衡默认使用的最经典的Round Robin轮询算法。

Ribbon是和Feign以及Eureka紧密协作,完成工作的,具体如下:

首先Ribbon会从 Eureka Client里获取到对应的服务注册表,也就知道了所有的服务都部署在了哪些机器上,在监听哪些端口号。

然后Ribbon就可以使用默认的Round Robin算法,从中选择一台机器

Feign就会针对这台机器,构造并发起请求。

Hystrix

Hystrix会搞很多个小小的线程池,比如订单服务请求库存服务是一个线程池,请求仓储服务是一个线程池,请求积分服务是一个线程池。每个线程池里的线程就仅仅用于请求那个服务。

降级:每次调用积分服务,你就在数据库里记录一条消息,说给某某用户增加了多少积分,因为积分服务挂了,导致没增加成功!这样等积分服务恢复了,你可以根据这些记录手工加一下积分。这个过程,就是所谓的降级。

Zuul

Zuul,也就是微服务网关。这个组件是负责网络路由的。所有请求都往网关走,网关会根据请求中的一些特征,将请求转发给后端的各个服务。有一个网关之后,还有很多好处,比如可以做统一的降级、限流、认证授权、安全,等等。

总结:

Eureka:各个服务启动时,Eureka Client都会将服务注册到Eureka Server,并且Eureka Client还可以反过来从Eureka Server拉取注册表,从而知道其他服务在哪里

Ribbon:服务间发起请求的时候,基于Ribbon做负载均衡,从一个服务的多台机器中选择一台

Feign:基于Feign的动态代理机制,根据注解和选择的机器,拼接请求URL地址,发起请求

Hystrix:发起请求是通过Hystrix的线程池来走的,不同的服务走不同的线程池,实现了不同服务调用的隔离,避免了服务雪崩的问题

Zuul:如果前端、移动端要调用后端系统,统一从Zuul网关进入,由Zuul网关转发请求给对应的服务

1.代码生成器: [正反双向](单表、主表、明细表、树形表,快速开发利器)
freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面、建表sql脚本、处理类、service等完整模块
2.多数据源:(支持同时连接无数个数据库,可以不同的模块连接不同数的据库)支持N个数据源
3.阿里数据库连接池druid,安全权限框架 shiro(菜单权限和按钮权限, 缓存框架 ehcache
4.代码编辑器,在线模版编辑,仿开发工具编辑器
5.调用摄像头拍照 自定义裁剪编辑头像,头像图片色度调节
6.websocket 及时站内信并声音提醒、实时在线管理、websocket及时刷新页面(完胜ajax技术)
7.redis存储分布式缓存 自windows redis 绿色版,方便开发者本地开发测试
-----------------------------------------------------------------------------------------------------------------
服务介绍 (各个服务单独运行,高可用、低耦合
一:springcloud服务 -------------------------------------------------------------------------------------
1.eureka 注册中心:做了两个eureka服务,以此类推可以做多个,互相注册,高可用,集群部署
2.zipkin跟踪服务:分布式跟踪日志,基于内存存储记录
3.zuul网关路由服务:分发请求,统一管理过滤,结合 ribbon 负载均衡、feign服务调用、 hystrix断路器
4.springboot-admin 监控中心服务:统一界面管理,查看各个服务运行状态 actuator健康检查

二:工作流服务 --------------------------------------------------------------------------------------------
1.模型管理web在线流程设计器、导入导出xml、复制流程、部署流程,选择办理人

 

 

2.流程管理 :导入导出流程资源文件、查看流程图、根据流程实例反射出流程模型、激活挂起

3.运行中流程:查看流程信息、当前任务节点、当前流程图、作废暂停流程、指派待办人,自由跳转

4.历史的流程:查看流程信息、流程用时、流程状态、查看任务发起人信息

5.待办任务 :查看本人个人任务以及本角色下的任务、办理、驳回、作废、指派一下代理人

6.已办任务 :查看自己办理过的任务以及流程信息、流程图、流程状态(作废 驳回 正常完成)

注:当办理完当前任务时,下一任务待办人会即时通讯收到新任务消息提醒,当作废和完结任务时,
任务发起人会收到站内信消息通知
主流工作流引擎 Flowable
 官网 http://www.fhadmin.org/  

 


1
0
分享到:
评论

相关推荐

    spring cloud eureka zuul ribbon hystrix feign config 示例

    在给定的标题和描述中,我们看到了几个关键组件:Eureka、Zuul、Ribbon、Hystrix 和 Feign,这些都是Spring Cloud生态中的重要组成部分。下面将详细阐述这些组件及其在实际应用中的作用。 1. **Eureka**:它是...

    springcloud2.0+版本集成eureka注册中心、feign、zuul、ribbon、hystrix、turbine监控

    springcloud高版本的整合:包括eureka注册中心、feign、zuul、ribbon、hystrix、turbine监控,如有需要后续上传sleuth+elk、config服务集群、admin等demo,这些资源都是我亲自编写,绝对可用

    springcloud全家桶(eureka+ribbon+feign+hystrix+turbine)

    spring cloud eureka,服务注册和服务发现 spring cloud config,动态配置项 ribbon,客户端负载均衡 feign, hystrix,熔断 turbine Spring Cloud Starters 同一个服务中的多数据库支持(AOP) 全链路traceId追踪 ...

    spring cloud 组件整合 eureka gateway feign hystrix,各个模的整合,供大家一起学习

    总之,Spring Cloud Eureka、Gateway、Feign和Hystrix是构建微服务架构的重要工具,它们共同构建了一套完整的服务治理框架,提高了系统的可扩展性、稳定性和容错性。学习并熟练掌握这些组件的使用,对于提升微服务...

    springcloud-ribbon-feign-hystrix-zuul-config

    在Spring Cloud框架中,"springcloud-ribbon-feign-hystrix-zuul-config"这个标题涉及到四个关键组件:Ribbon、Feign、Hystrix和Zuul,以及配置管理Config。这些组件都是构建分布式系统时常用的服务发现、客户端负载...

    Spring Cloud+maven+Eureka+zuul+微服务+客户端+feign+hystrix+ribbon

    3. **Zuul**: Zuul是Spring Cloud的边缘服务和动态路由组件,作为微服务架构的入口,负责对所有请求进行路由转发,同时可以提供过滤功能,如认证、限流、熔断等。 4. **微服务**: 微服务架构将单一应用拆分为一组小...

    Spring Cloud 之 Eureka集群整合Zuul、Feign-源码

    在实际开发中,还需要考虑安全、性能优化等因素,例如使用Ribbon进行客户端负载均衡,添加Hystrix熔断机制以防止服务雪崩,以及使用Spring Cloud Gateway替换Zuul以获取更多高级特性。 总之,通过Eureka集群实现...

    SpringCloud zuul jar包

    4. 启动Zuul:将Zuul配置为一个独立的服务实例,或者将其与其他Spring Cloud服务(如Eureka)结合部署。 在提供的"zuulTest"文件名中,可能包含的是一个测试用例或样例代码,用于演示如何在实际项目中使用和测试...

    SpringCloud项目源码下载.docx

    尽管文档标题和描述较为简单,但可以从这些信息中提炼出关于Spring Cloud项目的源码下载、Spring Cloud的基本概念、用途及其核心组件等方面的内容。 ### Spring Cloud 概念 Spring Cloud 是一个基于Spring Boot...

    SpringCloud基础概念与入门+SpringCloud核心组件Eureka服务注册与发现等全套教程

    SpringCloud核心组件Ribbon负载均衡 SpringCloud核心组件Feign声明式服务调用 SpringCloud核心组件Hystrix断路器与容错机制 SpringCloud核心组件ZuulAPI网关 SpringCloud核心组件Config分布式配置中心 SpringCloud...

    springCloud 框架,整合feign,ribbon,熔断器

    SpringCloud 是一个基于 Spring Boot 实现的云应用开发工具,它为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)...

    17.Spring Cloud集群中使用Zuul

    在Spring Cloud生态系统中,Zuul是一个至关重要的组件,它被用作边缘服务或API网关,负责处理所有客户端的入站请求。本教程将深入探讨如何在Spring Cloud集群环境中集成并利用Zuul实现动态路由,以及Zuul的各种配置...

    Spring Cloud实战 _springcloud实战_springcloud_

    Hystrix是Spring Cloud提供的容错管理工具,它通过隔离请求、降级策略、超时控制等机制,确保在高并发、网络延迟或服务故障时,系统仍然能够稳定运行。Hystrix的断路器模式是其核心特性,能够防止服务雪崩效应,提高...

    springcloud之eureka注册服务与发现

    在Spring Cloud生态系统中,Eureka是核心组件之一,主要用于服务的注册与发现。Eureka的工作原理、使用方式以及...在实际项目中,结合Spring Cloud其他组件如Zuul、Ribbon、Hystrix等,可以构建出强大的分布式系统。

    Spring Cloud(zuul)使用例子.zip

    2. **microservice-springcloud**:这个文件夹可能是Spring Cloud的通用组件或配置示例,包含了一些基础的Spring Cloud服务,如Eureka(服务发现)、Config Server(配置中心)等。 3. **microservice-gateway-zuul...

    Spring Cloud之一 Spring Cloud简介

    Spring Cloud 是一个基于Spring Boot实现的云应用开发工具集,为开发人员提供了一套快速构建分布式系统中一些常见模式的工具,包括服务发现、配置管理、消息总线、负载均衡、断路器、网关等。它所依赖的基础是Spring...

    spring cloud 使用Zuul 实现API网关服务问题

    Spring Cloud 使用 Zuul 实现 API 网关服务问题 在本文中,我们将主要介绍如何使用 Spring Cloud 的 Zuul 组件来实现 API 网关服务问题。 Zuul 是一个基于 Netflix Zuul 的 API 网关组件,它可以解决路由规则和服务...

    Spring Cloud 各组件Demo

    Spring Cloud 各组件Demo ,包含 Spring Cloud Eureka ,Spring Cloud Zuul , Spring Cloud Ribbon , Hystrix-Dashboard-Turbine 如有错误 ,请于本人联系 ,自会及时修改 , 防止误导他人

    Spring Cloud Eureka源码分析

    Eureka可以与Spring Cloud其他组件如Zuul、Ribbon、Hystrix等无缝集成,构建完整的微服务架构。例如,Zuul作为API网关,Ribbon负责客户端负载均衡,Hystrix提供熔断和降级策略,共同构建出高可用的服务架构。 通过...

    spring-cloud项目_springcloud_springcloud项目_springcloud_spring-clou

    3. **Zuul**: Zuul 是 Spring Cloud 的边缘服务和动态路由组件,它可以为微服务架构提供动态路由、过滤和安全等功能。作为 API 网关,Zuul 可以处理所有进入和离开系统的请求。 4. **Hystrix**: Hystrix 是一个延迟...

Global site tag (gtag.js) - Google Analytics