Spring cloud基础模块学习

Posted dream_sky

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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集群监控
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

以上是关于Spring cloud基础模块学习的主要内容,如果未能解决你的问题,请参考以下文章

Spring Cloud 学习笔记

Spring Cloud Commons模块

spring cloud - particle云架构代码结构

Spring Cloud微服务架构代码结构详细讲解

spring+cloud学习

Spring Cloud 模块简介2