springClound框架总结

SpringClound整体核心架构只有一点:Rest服务,也就是说在整个SpringCloud配置过程之中,所有的配置处理都是围绕着Rest完成的,在这个Rest处理之中,一定要有两个端:服务的提供者(Provider)、服务的消费者(Consumer),
既然SpringCloud的核心是Restful结构,那么如果要想更好的去使用Rest这些微服务还需要考虑如下几个问题。
1、所有的微服务地址一定会非常的多,所以为了统一管理这些地址信息,也为了可以及时的告诉用户哪些服务不可用,所以应该准备一个分布式的注册中心,并且该注册中心应该支持有HA机制,为了高速并且方便进行所有服务的注册操作,在SpringCloud里面提供有一个Eureka的注册中心。

2、对于整个的WEB端的构架(SpringBoot实现)可以轻松方便的进行WEB程序的编写,而后利用Nginx或Apache实现负载均衡处理,但是你WEB端出现了负载均衡,那么业务端呢?应该也提供有多个业务端进行负载均衡。那么这个时候就需要将所有需要参与到负载均衡的业务端在Eureka之中进行注册。
在进行客户端使用Rest架构调用的时候,往往都需要一个调用地址,即使现在使用了Eureka作为注册中心,那么它也需要有一个明确的调用地址,可是所有的操作如果都利用调用地址的方式来处理,程序的开发者最方便应用的工具是接口,所以现在就希望可以将所有的Rest服务的内容以接口的方式出现调用,所以它又提供了一个Feign技术,利用此技术可以伪造接口实现。

3、在进行整体的微架构设计的时候由于牵扯的问题还是属于RPC,所以必须考虑熔断处理机制,实际上所有的熔断就好比生活之中使用保险丝一样,有了保险丝在一些设备出现了故障之后依然可以保护家庭的电器可以正常使用,如果说现在有若干的微服务,并且这些微服务之间可以相互调用,例如A微服务调用了B微服务,B微服务调用了C微服务。
如果在实际的项目设计过程之中没有处理好熔断机制,那么就会产生雪崩效应,所以为了防止这样的问题出现,SpringCloud里面提供有一个Hystrix熔断处理机制,以保证某一个微服务即使出现了问题之后依然可以正常使用。

4、通过Zuul的代理用户只需要知道指定的路由的路径就可以访问指定的微服务的信息,这样更好的提现了java中的“key=value”的设计思想,而且所有的微服务通过zuul进行代理之后也更加合理的进行名称隐藏。

5、学习SpringBoot的时候:在SpringBoot里面强调的是一个“零配置”的概念,本质在于不需要配置任何的配置文件,但是事实上这一点并没有完全的实现,因为在整个在整体的实际里面,依然会提供有application.yml配置文件,那么如果在微服务的创建之中,那么一定会有成百上千个微服务的信息出现,于是这些配置文件的管理就成为了问题。例如:现在你突然有一天你的主机要进行机房的变更,所有的服务的IP地址都可能发生改变,这样对于程序的维护是非常不方便的,为了解决这样的问题,在SpringCloud设计的时候提供有一个SpringCloudConfig的程序组件,利用这个组件就可以直接基于GIT或者SVN来进行配置文件的管理。

springClound的一些概念总结相关推荐

  1. SpringClound(下)2020

    谈谈你对微服务的理解 微服务架构下的一整套解决方案 服务注册与发现 服务调用 服务熔断 负载均衡 服务降级 服务消息队列 配置中心 服务网关 服务监控 全链路追踪 自动化构建部署 服务定时任务调度操作 ...

  2. 微服务框架之SpringClound

    SpringClound体系介绍 Spring Cloud其实是⼀套⽤于构建微服务架构的规范,⽽不是⼀个可以拿来即⽤的框架. 在这个规范之下:Netflix公司 开发了⼀些组件.Spring官⽅开发了 ...

  3. RPC 笔记(03)— gRPC 概念、安装、编译、客户端和服务端示例

    1. gRPC 概念 gRPC 是 Google 开源的一款高性能的 RPC 框架.GitHub 上介绍如下: gRPC is a modern, open source, high-performa ...

  4. RPC 笔记(01)— RPC概念、调用流程、RPC 与 Restful API 区别

    1. 基本概念 PRC 远程过程调用 Remote Procedure Call,其就是一个节点请求另外一个节点提供的服务.当两个物理分离的子系统需要建立逻辑上的关联时,RPC 是牵线搭桥的常见技术手 ...

  5. 数据结构(01)— 算法复杂度概念及常见的复杂度计算

    1. 大 O 表示法 大 O 表示法指出了算法有多快,让你能够比较操作数,它指出了算法运行时间的增速,而并非以秒为单位的速度.大 O 表示法指出了最糟情况下的运行时间.大 O 表示法在讨论运行时间时, ...

  6. OpenCV 笔记(01)— OpenCV 概念、整体架构、各模块主要功能

    1. OpenCV 概念 图像处理( Image Processing )是用计算机对图像进行分析, 以达到所需结果的技术, 又称影像处理. 图像处理技术一般包括图像压缩, 增强和复原, 匹配.描述和 ...

  7. 用男女朋友关系解释计算机常用概念

    运维方面 很多同学对热备,冷备,云备了解不深,我科普一下 IT 行业各种备份术语.以后别闹笑话了. 假设你是一位女性,你有一位男朋友,于此同时你和另外一位男生暧昧不清,比朋友好,又不是恋人.你随时可以 ...

  8. python中的新式类与旧式类的一些基于descriptor的概念(上)

    python中基于descriptor的一些概念(上) 1. 前言 2. 新式类与经典类 2.1 内置的object对象 2.2 类的方法 2.2.1 静态方法 2.2.2 类方法 2.3 新式类(n ...

  9. 【SpringMVC】基本概念

    SpringMVC的基本概念 三层架构 我们的开发一般都是基于c/s或者b/s架构.在JavaEE开发中,几乎全都是基于B/S架构开发.在B/S架构中,系统标准的三层架构包括:表现层,业务层,持久层. ...

最新文章

  1. 第十届蓝桥杯java B组—试题F 特别数的和
  2. unity集成openinstall流程
  3. 用JS实现发邮件的功能 完美解决
  4. CodeFrist基础_迁移更新数据
  5. 存储过程语法 - 变量
  6. ValueError: check_hostname requires server_hostnamejie解决方案
  7. 基于IdentityServer4的单点登录——项目基本结构与流程
  8. xml.dom.minidom 利用hbm.xml批量生成db2注释
  9. 苹果Mac上如何使用预览反转图片?
  10. 分页插件pagehelper ,在sql server 中是怎么配置的
  11. OpenCV学习笔记】二十七、轮廓特征属性及应用(四)——正外接矩形
  12. 直播项目之仿全民TV(已开源)
  13. 用友python模块_最新用友NC6.5文件上传漏洞
  14. 计算机excel怎么删除重复项,在Excel中巧妙提示重复输入和删除重复数据
  15. Mybatis 官网地址
  16. 英文歌曲:Action Songs for kids
  17. 第一章 计算机系统基础知识(1)
  18. 深度学习之数据处理方法概述
  19. 建网站之前要先做好SEO布局工作
  20. SQL Server2012 序列号 注册码

热门文章

  1. 明锐更换变速箱油方法
  2. Windows系统给文件加上备注信息
  3. MySQL学习笔记(基础篇未完待补充)
  4. php数值计算,PHP基础教程——PHP数值计算
  5. 多模块下依赖其他模块(例如Common模块)时的解决办法
  6. Apple Watch 1.0 开发介绍 1.1 简介 开发苹果手表
  7. JSONObject没有parseObject和fromObject方法的巨坑!!!
  8. python字节和字符串互转
  9. lox台式计算机,台式电脑开机黑屏,动下“这里”,基本都能解决问题
  10. 【web前端特效源码】使用HTML5+CSS3制作一个会动的电脑桌面+昼夜变化动画效果~~适合初学者~超简单~ |前端开发