SpringCloud:浅谈分分布式系统微服务架构

前言:

  srping‘Cloud不容置疑他是基于springboot的,通俗的说就是每一个speingboot表明一个微服务,springCloud就是用来管理他们的,因此说学习spring cloud本质上学的是组件(中间件),目的是经过相关指定的中间件管理微服务,通常中间件所要解决的问题是,微服务之间的通讯,服务的治理,客户端的访问,和开发人员的维护。面试

 

 

1,我对微服务架构的理解

  微服务架构是一种思想,本质是将项目的各功能模块拆分红能够独立运行的小项目,各项目之间依然有联系(经过相关分布式组件),项目与项目之间经过联系又造成一个完整的项目,目的是充分利用和节省了计算机资源,让每一个小项目(微服务)只干本身的事spring

 

2.为何选择SpringCloud做为微服务架构

  总体的解决方案齐全,成熟度高(稳定)缓存

  生态好,社区热度高安全

  可维护性强springboot

 

3.当前各大IT公司用的微服务架构

  阿里:dubbo+HFS服务器

  京东:JSF架构

  新浪:Motan负载均衡

  当当:DubboX框架

 

4.分布式架构/微服务架构会遇到的四个核心问题

  1.这么多服务,客户端如何去访问? 异步

  通常会一个代理或者叫API Gateway,他的做用包括

  • 提供统一服务入口,让微服务对前台透明
  • 聚合后台的服务,节省流量,提高性能
  • 提供安全,过滤,流控等API管理功能

  2.服务之间如何通讯?

  • 同步调用
    • REST(JAX-RS)
    • RPC(Dubbo)
  • 异步消息调用(Kafka, Notify, MetaQ),所谓的消息队列mq

  3.微服务该如何治理?

  注册中心(zookeeper):注册与发现

  4,服务挂了怎么办?

  首先为了不各服务分配的服务器资源不合理状况?负载均衡

  好比微服务a的使用率要远远小于微服务b,那么就应该自动的给a少分些服务器资源,给b多份一些,而这个过程就叫作负载均衡,其中使用比较普遍的就是dubbo框架

  熔断机制

  微服务有时会由于依赖关系复杂,或者服务拆分不够规范产生雪崩效应,而熔断机制就是其中的解决方案之一

  降级(本地缓存)

  限流

  

5.微服务完整架构图

 

6.微服务相关技术栈

 

 

  

 

7.常见面试题:

相关文章
相关标签/搜索