Spring Cloud 微服务框架使用快速掌握及源码分析

news/2024/7/3 11:29:59 标签: java, 数据库, python

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

一.Spring Cloud 简介

     SpringCloud是一个机遇SpringBoot实现的微服务框架开发工具,它为微服务架构中涉及的配置管理,服务治理,断路器,智能路由,微代理,控制总线,全局锁,决策竞选,分布式会话和集群状态管理等操作提供了一种简单的开发方式;
  • Spring Cloud Config : 配置管理工具 支持使用Git存储配置内容,实现应用配置的外部化存储,并支持客户端配置信息刷新、加解密配置等内容;

  • Spring Cloud Netflix : 核心组件,对多个Netflix OSS开源套件进行整合;

    • Eureka : 服务治理组件,包含服务注册中心、服务注册与发现机制实现;
    • Hystrix : 容错管理组件,实现断路器模式,为服务依赖中出现的延迟和故障提供强大的容错能力;
    • Ribbon : 客户端负载均衡的服务调用组件;
    • Feign : 基于Ribbon和Hystrix的声明式服务调用组件;
    • Zuul : 网关组件,提供智能路由,访问过滤等功能;
    • Archaius : 外部化配置组件
  • Spring Cloud Bus : 事件消息总线,用于传播集群中的状态变化或事件,以触发后续处理,如动态刷新配置等;

  • Spring Cloud Cluster :针对Zookeeper、Redis、Hazelcast、Consul的选举算法和通用状态模式的实现;

  • Spring Cloud Cloudfoundry : 与Pivotal Cloudfoundry的整合支持;

  • Spring Cloud Consul :服务发现与配置管理工具;

  • Spring Cloud Stream : 通过Redis、Rabbit或者Kafka实现消息微服务,通过简单的声明式模型来发送和接收消息;

  • Spring Cloud AWS : 简化整合Amazon Web Service的组件;

  • Spring Cloud Security : 安全工具包,提供在Zuul代理中对OAuth2客户端请求的中继器;

  • Spring Cloud Sleuth : springcloud应用分布式跟踪实现,完美整合Zipkin;

  • Spring Cloud Zookeeper : 基于Zookeeper的服务发现与管理组件;

  • Spring Cloud Starters : SpringCloud 的基础组件,基于SpringBoot风格项目的基础依赖;

  • Spring Cloud CLI : 用于在Groovy中快速创建Spring Cloud 应用的SpringBoot CLI插件

    … …

二.快速开始

    以下为Spring Cloud 各模块组件的快速使用,不涉及实现源码的分析,后续可能会开放第三标题;
  • Eureka服务注册中心
  • Eureka服务注册中心的高可用
  • Ribbon负载均衡实现
  • Hystrix断路器使用
  • Feign使用
  • Config配置中心

三.源码分析

随着时间推移,会有不同的理解,下面内容会及时更新;
  • Spring Cloud Eureka 源码分析(零)配置参数详解

  • Spring Cloud Eureka 源码分析(一) 服务端启动过程

  • Spring Cloud Eureka 源码分析(二) 客户端启动过程

转载于:https://my.oschina.net/JackieRiver/blog/1920407


http://www.niftyadmin.cn/n/1383222.html

相关文章

突破R内存限制的企业级大数据挖掘利器:Microsoft R Server 快速上手

R语言是一款非常优秀的数据挖掘工具,拥有顶尖的数据处理、数据挖掘课数据可视化。是数据从业者必备的一把利器。但是其基于内存的诟病也一直被人所嫌弃,虽然这几年很多优秀的扩展包极大提升了R语言的性能,但是在面对企业级大数据挖掘面前&…

081 关于微信支付的回调Notify_url

一、你一定要有毅力!心平气和,慢慢来!(微信扫码支付PC端,模式二) 二、ri,这个一点要仔细读一下,好不好,大胸弟!!!https的改成http&am…

web性能优化指南

1、精简你的资源 构建高性能应用程序的有效方法是审核发送给用户的资源。虽然Chrome开发人员工具中的网络面板可以很好地总结给定页面上使用的所有资源,但如果您到目前为止尚未考虑性能,那么知道从哪里开始是很重要的。以下是一些建议: 如果您…

My Interface

一、创建Myinterface接口 public interface Myinterface {static final String MyifName"我的接口";static final String MyifPrice"价格";public double getprice(); } 二、创建引用接口的类 public class UseMyinterface {public static void main(Strin…

157 TP5报错Fatal error: require(): Failed opening required '/home/www/xx/public/../thinkphp/start.php

https://jingyan.baidu.com/article/afd8f4deb784fe34e386e97b.html https://www.cnblogs.com/300js/p/9224567.html 搜一下百度经验就行了!

vIDC v2.0 强大的端口转发神器使用总结-开放内网tfs代码服务

vIDC2.0 端口映射工具,最近在公司闲来无事,想自己整个tfs来管理自己的研究代码. 本来是想用微软Visual Studio提供的免费tfs,但是无奈速度太慢.他们的服务器在美国,中国也没有代理.签入签出一个东西要老命了 .那怎么办呢. 后来想想自己家里有台牛B的机器,我为什么不自己搭一个呢…

Android设计模式(七)--原型模式

1、定义: 用原型实例指定创建对象种类,并通过拷贝这些原型创建新的对象。2、目的: 从一个对象创建另外一个可定制的对象,而不须要知道不论什么创建细节。 3、作用: 3.1、简化对象的创建。 3.2 、对于处理大对象。性能上…

Java编程——服务器设计方案之应用限流

前言 在一个高并发系统中对流量的把控是非常重要的,当巨大的流量直接请求到我们的服务器上没多久就可能造成接口不可用,不处理的话甚至会造成整个应用不可用。 比如最近就有个这样的需求,我作为客户端要向kafka生产数据,而kafka的…