1:集中式架构:就是把所有的功能,模块都集中到一个项目中,部署在一台服务器上,从而对外提供服务(单体架构,单体应用,单体服务),就是只有一个项目 只有一个war

2:分布式架构:就是把所有的功能,模块拆分成不同的子项目中,部署在多台不同的服务器上,这些子项目相互协作、相互调用对外提供服务。

3:微服务架构:分布式架构 强调系统拆分,微服务也是强调系统拆分,微服务属于分布式架构的范畴,现在对微服务并没有一个准确的定义,马丁福勒老爷子

通过http的RestFul ApI进行通信协作,(dubbo-》dubbo协议) 简单来说就是controller 调用controller

4:由于各个服务之间通过http的json作为数据通信的基础,因此这些微服务可以使用不同的语言进行开发。

5:服务注册:将服务器所在主机、端口、版本号、通信协议等信息登记到注册中心中

6:服务发现:服务消费者向注册中心请求已经等级的服务列表,然后得到某个服务的主机,端口、版本号、通信协议等信息,从而实现对服务的调用。

7:eureka采用c/s架构,由服务端和客户端构成。

8:restTemplate 不加  @LoadBalanced 时 显示 不能识别 01-SPRINGCLOUD-SERVICE-GOODS 没有引入ribbon。通过注解引入 ribbon

9:eureka和zookeeper的比较

(1)CAP理论:CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。

(2)因为分区P分区容错性在分布式系统必须要保证。因此eureka保证的是AP 高可用 。 zookeeper保证的是CP,一主多从,如果主节点宕机,需要经过选举产生新的主节点,在选举期间不能使用,类似redis的哨兵模式。

(3)eureka各个节点都是平等的 一个节点断开不影响其它节点的使用,数据一致性不能保证,同步不及时。

(4)分区容错性是指系统能够容忍节点之间的网络通信的故障。

10:在父项目中添加子项目

<!--聚合各个子项目-->
<modules><module>../01-springcloud-server-eureka</module><module>../01-springcloud-service-common</module><module>../01-springcloud-service-goods</module><module>../01-springcloud-service-portal</module>
</modules>

11:在打包过程中报错了 解决方法 在子项目中继承父项目时添加 relativPath 标签中添加父项目的pom的相对路径

<!--集成springboot的父项目-->
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.9.RELEASE</version><relativePath>../01-springcloud-service-parent/pom.xml</relativePath>
</parent>

12:自我保护机制:Eureka 的自我保护模式是有意义的,该模式被激活后,它不会从注册列表中剔除因长时间没收到心跳导致租期过期的服务,而是等待修复,直到心跳恢复正常之后,它自动退出自我保护模式。这种模式旨在避免因网络分区故障导致服务不可用的问题。例如,两个客户端实例 C1 和 C2 的连通性是良好的,但是由于网络故障,C2 未能及时向 Eureka 发送心跳续约,这时候 Eureka 不能简单的将 C2 从注册表中剔除。因为如果剔除了,C1 就无法从 Eureka 服务器中获取 C2 注册的服务,但是这时候 C2 服务是可用的。

13:ribbon: Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,就是在配置文件中列出Load Balancer(简称LB)后面所有的机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随即连接等)去连接这些机器。我们也很容易使用Ribbon实现自定义的负载均衡算法。

硬件负载均衡:比如 F5 深信服,Array等

软件负载均衡:比如 Nginx LVS 和HAproxy等,

ribbon是Netflix公司发布的开源项目(组件,框架,jar包)主要功能是提供客户端的软件负载均衡算法,它会从eureka中获取一个可用的服务端清单,通过心跳检测来剔除故障的服务端节点以保证清单中都是可以访问的服务端节点。

在RestTemplate中添加@LoadBalanced

14:openfeign:集成jar包

<!--集成openfeign-->
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

准备方法

调用

15:hystrix:默认超时时间是1s

<!--引入hystrix的起步依赖-->
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-hystrix</artifactId><version>2.1.3.RELEASE</version>
</dependency>

springcloud -netflix学习总结相关推荐

  1. SpringCloud NetFlix学习笔记(一)

    前言: 学习B站UP主狂神说视频笔记整理视频链接 微服务 服务演进 三层架构+MVC >> SSM >> SpringBoot 它们都属于all in one 单体架构 单体架 ...

  2. spring cloud NetFlix 学习笔记

    spring cloud 1.前言 1.1. 概括 1.2 .常见面试题 2. 微服务概述 2.1 什么是微服务? 2.2 微服务与微服务架构 2.3 微服务优缺点 2.4 微服务技术栈有那些? 2. ...

  3. Day2:SpringCloud入门学习——传智播客学习笔记【微服务电商】

    SpringCloud 0.学习目标 ·了解系统架构的演变 ·了解RPC与Http的区别 ·掌握HttpClient的简单使用 ·知道什么是SpringCloud ·独立搭建Eureka注册中心 ·独 ...

  4. SpringCloud Alibaba 学习圣经,10万字实现 SpringCloud 自由

    40岁老架构师尼恩的掏心窝: 现在拿到offer超级难,甚至连面试电话,一个都搞不到. 尼恩的技术社群中(50+),很多小伙伴凭借 "左手云原生+右手大数据 +SpringCloud Ali ...

  5. SpringCloud Netflix Ribbon

    文章目录 一. Ribbon简介 二. 使用Ribbon开发微服务 1 创建springcloud工程 和 commons子模块 2 开发服务提供者 - ribbonappservice 3 开发服务 ...

  6. 微服务实战系列之SpringCloud Alibaba学习(四)

    微服务实战系列之SpringCloud Alibaba: 微服务实战系列之SpringCloud Alibaba学习(一) 微服务实战系列之SpringCloud Alibaba学习(二) 微服务实战 ...

  7. 【真会玩】- SpringCloud Netflix 实战笔记 -【Eureka】

    文章目录 友情提醒 前置环境搭建 Eureka 概念初识 服务注册 服务发现 续租 拉取注册表 Cancel 同步时间延时 通讯机制 Eureka服务端搭建 Eureka客户端 Provider搭建 ...

  8. SpringCloud Alibaba 学习

    SpringCloud Alibaba 学习 SpringCloud Nacos Config 配置中心 第一步:git上下载nacos源码. # 下载源码 git clone https://git ...

  9. SpringCloud的学习记录(1)

    最近一段时间重新学习一边SpringCloud,这里简单记录一下. 我用的是IntelliJ IDEA开发工具, SpringBoot的版本是2.1.3.RELEASE. 1. 构建Maven项目 整 ...

  10. 史上最全的SpringCloud入门学习教程

    写在前面: 我是「境里婆娑」.我还是从前那个少年,没有一丝丝改变,时间只不过是考验,种在心中信念丝毫未减,眼前这个少年,还是最初那张脸,面前再多艰险不退却. 写博客的目的就是分享给大家一起学习交流,如 ...

最新文章

  1. muduo之Singleton
  2. 申请邓白氏编码和公司开发者账号需要的东西
  3. C#异步编程(一):异步基础
  4. MOV及MP4文件格式中几个重要的Table
  5. Ubuntu下安装Chrome浏览器的两个方法
  6. 支持国产处理器仿真的全数字实时仿真平台SkyEye与可信编译器L2C的核心翻译步骤
  7. 2014年计算机职称考试试题库,2014年职称计算机考试全真模拟试卷(1)
  8. [译]Javascript中的mutators
  9. [转]软件企业的新三十六计
  10. 基于python版本的谷歌GEE云计算平台使用,以DEM数据下载为例(GEE系列1)
  11. Cadence Allegro交换元件位置图文教程及视频演示
  12. 渠道生意宝android版,生意宝app安卓版
  13. Android 实现 Alexa App-to-App Account Linking
  14. 双系统安装deepin20_win10deepin15.10双系统安装教程
  15. 2022-2028年中国幼儿园露天游乐设备行业市场专项调查及投资前景分析报告
  16. BT-3の蓝牙技术原理のBT协议の蓝牙核心协议の链路管理协议(LMP)
  17. 数据结构知识点全面总结—精华版
  18. 3y开发都不的不写单元测试,然后被被批了
  19. 三星s8android pie,三星修改Galaxy S8的Android Pie更新时间表,并添加M2
  20. 免费观看coursera上的课程

热门文章

  1. springboot获取国家法定节假日
  2. RFID工作原理(图)及标签分类(按供电方式)
  3. A1339. JZPLCM(顾昱洲)|树状数组|hash表|逆元|分解质因数
  4. 《大象 Thinking in UML》学习笔记(三)——UML核心元素之参与者、用例
  5. 演进:如何用练习快速提升技术
  6. CSDN Markdown 图片排版显示
  7. 【图像配准】基于sift算法实现图像配准matlab源码
  8. R Fisher精确检验
  9. 编译时的chenk api
  10. 人人网android,人人网Android客户端:真实的在线社交圈