码迷,mamicode.com
首页 > 编程语言 > 详细

Spring cloud基础模块学习

时间:2019-01-05 22:42:15      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:data   git   读取   wrap   方法   spring   技术栈   file   eureka   

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基础模块学习

标签:data   git   读取   wrap   方法   spring   技术栈   file   eureka   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!