zoukankan      html  css  js  c++  java
  • SpringCloud:浅谈分布式系统微服务架构

    前言:

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

     参考网址:

      SpringCloud中文网:https://www.springcloud.cc

      SpringCloud中国社区:http://www.springcloud.cn

      

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

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

    2.为什么选择SpringCloud作为微服务架构

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

      生态好,社区热度高

      可维护性强

    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.常见面试题:

     

  • 相关阅读:
    奇数阶魔方问题
    《DSP using MATLAB》示例9.3
    《DSP using MATLAB》示例9.2
    《DSP using MATLAB》示例9.1
    找个目标很重要
    《DSP using MATLAB》示例Example 8.30
    《DSP using MATLAB》示例Example 8.29
    《DSP using MATLAB》示例Example 8.28
    《DSP using MATLAB》示例Example 8.27
    《DSP using MATLAB》示例Example 8.26
  • 原文地址:https://www.cnblogs.com/CL-King/p/14304782.html
Copyright © 2011-2022 走看看