狂神-SpringCloud笔记目录


文章目录

  • 一、微服务与分布式架构
    • 1.1分布式架构
    • 1.2微服务架构
    • 1.3分布式架构的四个核心问题 与解决方案
    • 1.4 Spring Cloud 五大组件
    • 1.5面试常见问题

一、微服务与分布式架构

1.1分布式架构

将一个大的系统,划分为多个业务模块,业务模块分别部署在不同的机器上,各个业务模块之间通过接口进行数据交互。区别分布式的方式是根据不同机器不同业务。

  • 上图中的ServiceA,B,C,D分别是业务组件,通过API Geteway进行业务访问。(分布式需要做好事务管理)

1.2微服务架构

  • 微服务的设计是为了不因为某个模块的升级和BUG影响现有的系统业务。
  • 微服务与分布式的细微差别是,微服务的应用不一定是分散在多个服务器上,他也可以是同一个服务器。分布式和微服务的架构很是相似,只是部署的方式不一样。
  • 分布式也是属于微服务的,微服务的意思也就是将功能模块拆分成多个独立的服务单元通过接口来实现数据的交互,每个功能元素(服务单元)都是一个可替换的、可独立升级的软件代码。

1.3分布式架构的四个核心问题 与解决方案

  • 微服务架构问题,分布式架构会遇到的四个问题?

    • 这么多的服务,客户端该如何去访问?(API网关,服务路由)
    • 这么多的服务,服务之间如何通信?(HTTP,RPC框架,异步调用,通信问题)
    • 这么多的服务,如何治理?(服务注册与发现,注册中心)
    • 如果服务挂了,怎么办?(熔断机制)
  • 为什么要解决这些问题呢?这些问题是怎么样产生的?

    • 本质:网络不可靠

解决方案:

  • 第一种解决方案:SpringCloud NetFlix(已停止维护),是一套生态,就是用来解决以上分布式架构的四个问题。一站式解决方案

    • 访问:Api网关 zuul组件
    • 通信:Feign --> HttpClient —> HTTP的通信方式,同步并阻塞
    • 服务治理:服务注册与发现,Eureka
    • 服务意外停止:熔断机制,Hystrix
  • 第二种解决方案:Dubbo+zookeeper(半自动,需要整合别人)
    • 访问:API : 没有! 要么找第三方组件, 要么自己实现
    • 通信:Dubbo是一个高性能的基于Java实现的RPC通信框架! (使用起来就是一个jar包)
    • 服务治理:服务注册与发现,zookeeper: 动物园管理者(Hadoop , Hive),服务注册中心
    • 服务意外停止:熔断机制,没有,借助了Hystrix
  • 第三种解决方案:SpringCloud Alibaba:目前最新的一站式解决方案!可解决上述4个核心问题,更简单,(关于SpringCloud Alibaba 的一些介绍可参考:springcloud阿里巴巴五大组件)
    • API网关:Zuul 和 Gateway组件
    • 通信:Dubbo
    • 服务注册和发现:Nacos。
    • 熔断机制:Sentinel

1.4 Spring Cloud 五大组件

  • 服务网关——Netflix Zuul
  • 服务注册与发现——Netflix Eureka
  • 负载均衡:
    • 客户端负载均衡——Netflix Ribbon
    • 服务端负载均衡:——Feign(其也是依赖于Ribbon,只是将调用方式RestTemplete 更改成Service 接口)
  • 断路器——Netflix Hystrix
  • 分布式配置——Spring Cloud Config

1.5面试常见问题

  • 什么是微服务?
  • 微服务之间是如何独立通讯的?
  • SpringCloud 和 Dubbo有那些区别?
  • SpringBoot 和 SpringCloud,请谈谈你对他们的理解
  • 什么是服务熔断?什么是服务降级?
  • 微服务的优缺点分别是什么?说下你在项目开发中遇到的坑
  • 你所知道的微服务技术栈有哪些?列举一二
  • Eureka和Zookeeper都可以提供服务注册与发现的功能,请说说两者的区别

一、【SpringCloud】微服务与分布式架构相关推荐

  1. 微服务【分布式架构认识微服务SpringCloud】第1章

    目录 1,认识微服务 1.1,单体架构 1.2,分布式架构 1.3,微服务 1.4,SpringCloud 1.5,总结

  2. 微服务(分布式架构)

    分布式微服务: 一.微服务:服务拆分+远程调用+服务集群 (一)服务:1个业务=1个项目=1个服务 (二)特征:高内聚.低耦合 1.单一职责: 2.面向服务: 3.自治: 4.隔离性强: (三)组件: ...

  3. 支付宝二面微服务、分布式架构?太真实了!

    最近跟我的一些读者交流,有一位读者的经历让我记忆深刻: "有一次和大学同学聚会,和几个在BAT的同学聊了聊技术,发现自己在创业公司这几年,完全是吃老本的状态,没有什么机会精进技术,同样是工作 ...

  4. SpringCloud微服务架构分布式组件如何共享session对象

    参考文章: https://www.cnblogs.com/fengli9998/p/7881331.html https://blog.csdn.net/dsen726/article/detail ...

  5. Java生鲜电商平台-SpringCloud微服务架构中分布式事务解决方案

    Java生鲜电商平台-SpringCloud微服务架构中分布式事务解决方案 说明:Java生鲜电商平台中由于采用了微服务架构进行业务的处理,买家,卖家,配送,销售,供应商等进行服务化,但是不可避免存在 ...

  6. SpringCloud微服务架构实战库存管理与分布式文件系统

    库存管理与分布式文件系统 在电商平台的库存管理系统设计中,将涉及商品和本地图库的管理,这里我们将使用另一种数据开发框架 MyBatis进行数据库访问方面的设计,还将实现与分布式文件系统的对接使用. 本 ...

  7. 分布式微服务企业快速架构之SpringCloud分布式、微服务、云架构快速开发平台

    鸿鹄云架构系统管理平台是一个大型企业.分布式.微服务.云架构的JavaEE体系快速研发平台,基于模块化.微服务化.原子化.热部署的设计思想,使用成熟领先的无商业限制的主流开源技术(Spring Clo ...

  8. 微服务框架 SpringCloud微服务架构 分布式事务 38 动手实践 38.2 实现XA 模式

    微服务框架 [SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务] 分布式事务 文章目录 微服务 ...

  9. SpringCloud 微服务架构,适合接私活(附源码)

    欢迎关注方志朋的博客,回复"666"获面试宝典 今天给大家推荐一个牛逼的接私活项目,SpringCloud微服务架构项目! 一个由商业级项目升级优化而来的微服务架构,采用Sprin ...

最新文章

  1. MSSQL 漏洞利用与提权
  2. 新的旅程:NodeJS - 环境篇
  3. IDEA安装class文件分析工具(binEd 和 JClassLib)
  4. Wing IDE 4.1破解教程
  5. SQL基础知识:DDL、DML、DQL
  6. 使用thymeleaf的时候报元素类型“meta“必须由匹配的结束标记
  7. oracle rollup分组没有数据时为0_数据库周刊19│GBASE适配鲲鹏;MySQL窗口函数;OGG双向数据同步……...
  8. python爬虫爬取音乐单曲_Python爬取qq音乐的过程实例
  9. java+arrayblockquene_Java源码分析-ArrayBlockingQueue
  10. c语言 随机漫步,随机漫步理论
  11. 拓端tecdat|Python用Markowitz马克维兹有效边界构建最优投资组合可视化分析四只股票
  12. Java Web——基于Servlet、JSP(无框架版)电影网站项目总结(一)
  13. win10 jungo windriver
  14. SPSS分析技术:神经网络算法;源于人的思维结构的数据分析算法
  15. 开源、私有化部署,这款知识管理系统还有多少惊喜是我们不知道的
  16. jmeter 网页登陆_JMeter无法登录网站 – JMeter noob
  17. 教你一步一步用 Node.js 制作慕课网视频爬虫
  18. 几何光学基础(1):基本定律
  19. linux驱动开发篇(三)—— 总线设备驱动模型
  20. 软件测试——常用的测试工具

热门文章

  1. vue 实现多个空白占位符
  2. 【python爬虫】爬取ajax数据-马蜂窝旅游网
  3. 2020年山西职称英语计算机,山西2020年起推行职称“电子证书”
  4. 如何在桌面上创建程序文件夹让每个登录用户都能访问呢?
  5. 挑战阿里社招:这位阿里P7大牛分析总结的属实到位,面试必问
  6. 大聊Python----quene队列
  7. 深度学习入门~激活函数③
  8. C++对象实现原理(附常见面试题)
  9. llt自发光_X射线激发荧光光谱仪的建立及闪烁晶体发光表征
  10. ASP.NET Aries 入门开发教程6:列表数据表格的格式化处理及行内编辑