Spring cloud基础模块学习

1、微服务架构构成

单体架构(通过应用集群和数据库集群来提高性能,多余模块存在浪费)

垂直架构(新的功能模块通过新项目来实现,数据库之间存在交叉关联。存在数据冗余,和单体架构一样通过扩展集群结点,成本高,有性能瓶颈。)

SOA架构(ESB服务总线,基于webservice协议的接口调用。)

微服务架构(采用Restful轻量协议进行服务传送)

技术栈

2、相关技术栈简要理解

  • Eureka服务治理

启动类添加注解@EnableEurekaServer,@EnableEurekaClient

  • Ribbon负载均衡

在启动类中添加@EnableDiscoveryClient注解,服务发现;

在具体集群的对象上添加@LoadBalanced注解,如:

<wiz_code_mirror>

@Bean
@LoadBalanced
public RestTemplate restTemplate(){
return new RestTemplate(new OkHttp3clientHttpRequestFactory());
}
  • Hystrix断路容错保护

在启动类上添加@EnableHystrix(fallbackMethod="errorMethod")注解。

在具体的方法上添加@HystrixCommand注解

如请求超时等,调用相应的服务返回结果。

  • Zuul网关

配置文件中添加sso-service配置,

在启动类上添加@EnableZullProxy注解。

不仅用于提供对外的服务的入口,还可以在微服务之间通过zuul进行调用, 常用于请求路由、校验、过滤等功能。

  • Config配置中心

众多微服务的配置文件可以直接统一管理,放在git上,直接读取,修改后不用重启服务。

  • Bus消息总线

微服务之间的异步通信,如微服务A修改用户信息,微服务B需要存在缓存中,不能直接调用微服务B,可以将消息发给消息总线的队列,消息队列来通知微服务B。

  • Sleuth链路跟踪

微服务之间的串联调用,可以跟踪到具体时哪一步出错了。

  • Turbine集群监控

原文地址:https://www.cnblogs.com/shuchen007/p/10226324.html

时间: 2024-11-09 06:27:48

Spring cloud基础模块学习的相关文章

Spring Cloud Commons模块

上一篇介绍了 Spring Cloud Context模块 ,本文介绍SpringCloud的另一个基础模块 SpringCloud Commons模块 .只要在项目的pom文件中引入了spring-cloud-starter 依赖包 ,就可以保证 spring-cloud-commons 的 jar被引入. Spring Cloud Commons模块设计的目的,Spring Cloud Commons模块是为了对微服务中的服务注册与发现.负载均衡.熔断器等功能提供一个抽象层代码,这个抽象层与

Spring cloud Feign 深度学习与应用

简介 Spring Cloud Feign是一个声明式的Web Service客户端,它的目的就是让Web Service调用更加简单.Feign提供了HTTP请求的模板,通过编写简单的接口和插入注解,就可以定义好HTTP请求的参数.格式.地址等信息.Feign会完全代理HTTP请求,开发时只需要像调用方法一样调用它就可以完成服务请求及相关处理.开源地址:https://github.com/OpenFeign/feign.Feign整合了Ribbon负载和Hystrix熔断,可以不再需要显式地

Spring Cloud Alibaba 的学习之feign篇

是什么? Feign 是一个声明式的伪 HTTP 客户端,它使得写 HTTP 客户端变得更简单 为什么? 使用 Feign,只需要创建一个接口并注解.它具有可插拔的注解特性.Feign 支持可插拔的编码器和解码器.Feign 默认集成了 Ribbon,Nacos 也很好的兼容了 Feign,默认实现了负载均衡的效果 怎么做 提供者: yml: spring: application: name: puzzle-provider cloud: nacos: discovery: server-ad

Spring Cloud基础教程

教程 http://blog.didispace.com/Spring-Cloud%E5%9F%BA%E7%A1%80%E6%95%99%E7%A8%8B/ 代码 https://gitee.com/didispace/SpringBoot-Learning 原文地址:http://blog.51cto.com/4925054/2084452

基于Spring Cloud的微服务构建学习-3 服务治理:Spring Cloud Eureka

基于Spring Cloud的微服务构建学习-3 服务治理:Spring Cloud Eureka 什么是服务治理 服务治理可以说是微服务架构中最为核心和基础的模块,它主要用来实现各个微服务实例的自动化注册与发现. 为什么需要服务治理模块 在最初构建微服务系统的时候可能服务并不多,我们可以通过做一些静态配置来完成服务调用 此时看着一切都还正常. 随着项目逐渐接近尾声,维护人员需要维护的服务越来越多,越来越复杂,最终形成大量的配置文件,维护将会变得越来越困难.此时,微服务应用实例自动化管理框架变得

Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现

自Spring Cloud Alibaba发布第一个Release以来,就备受国内开发者的高度关注.虽然Spring Cloud Alibaba还没能纳入Spring Cloud的主版本管理中,但是凭借阿里中间件团队的背景,还是得到不少团队的支持:同时,由于Spring Cloud Alibaba中的几项主要功能都直指Netflix OSS中的重要组件,而后者最近频繁宣布各组件不在更新新特性,这使得Spring Cloud Alibaba关注度不断飙升,不少开发者或团队也开始小范围试水.笔者对此

Spring Cloud Alibaba基础教程:Nacos配置的加载规则详解

前情回顾: <Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现> <Spring Cloud Alibaba基础教程:支持的几种服务消费方式(RestTemplate.WebClient.Feign)> <Spring Cloud Alibaba基础教程:使用Nacos作为配置中心> 上一篇,我们学习了如何在Nacos中创建配置,以及如何使用Spring Cloud Alibaba的Nacos客户端模块来加载配置.在入门例子中,我们只配

Spring Cloud Alibaba基础教程:Nacos配置的多文件加载与共享配置

前情回顾: <Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现> <Spring Cloud Alibaba基础教程:支持的几种服务消费方式> <Spring Cloud Alibaba基础教程:使用Nacos作为配置中心> <Spring Cloud Alibaba基础教程:Nacos配置的加载规则详解> <Spring Cloud Alibaba基础教程:Nacos配置的多环境管理> 对于Nacos作为配置中

Spring Cloud Alibaba基础教程:Sentinel使用Apollo存储规则

上一篇我们介绍了如何通过Nacos的配置功能来存储限流规则.Apollo是国内用户非常多的配置中心,所以,今天我们继续说说Spring Cloud Alibaba Sentinel中如何将流控规则存储在Apollo中. 使用Apollo存储限流规则 Sentinel自身就支持了多种不同的数据源来持久化规则配置,目前包括以下几种方式: 文件配置 Nacos配置 ZooKeeper配置 Apollo配置 本文我们就来一起动手尝试一下,如何使用Apollo来存储限流规则. 准备工作 下面我们将同时使用