---------------------------目录--------------------------------

一、SpringCloud系列组件实战(Eureka、Ribbon、Hystrix、Feign、Getway、Config等组件)

二、SpringCloud系列官方文档

1、架构的演进

2、微服务架构的优缺点

3、微服务架构中的概念

4、SpringCloud系列

---------------------------目录--------------------------------

一、SpringCloud组件实战系列

  SpringCloud--Eureka注册中心

   SpringCloud之Ribbon负载均衡策略

   SpringCloud之(豪猪)Hystrix限流、熔断、降级

Ribbon、Feign和OpenFeign的区别---课外普及

   SpringCloud之远程调用OpenFeign和Ribbon

   SpringCloud之服务网关Gateway,入门+实操

   SpringCloud之配置中心(config)的使用Git+数据库实现

  SpringCloud-Stream消息通信

二、SpringCloud组件官网系列

   SpringCloud官方文档  SpringCloud中文网

1、架构的演进

  • 轻量级、灵活,甚至于 Serverless(无服务)架构
  • 由单体应用 ——> 垂直分层 ——> 面向服务SOA(具体应用例如:Dubbo) ——> 微服务 ——> Serverless(无服务)

2、微服务架构优缺点

首先微服务架构的核心思想是“微”,项目的拆分粒度相对较小,更能提现出单一职责、开发耦合度低、微小的功能可以独立部署、拓展灵活性强、升级改造影响范围小。

微服务的优点:

  • 微服务很小,便于特定的功能聚焦
  • 微服务很小,每个微服务都可以被一个小团队独立实施(开发、测试、部署上线、运维),团队合作便于一定程度解耦、方便敏捷开发。
  • 微服务很小,便于重用和模块之间的组装
  • 微服务独立,不同的微服务可以使用不同的语言开发,松耦合
  • 微服务架构下,方便引入新技术,同时方便更好的实现DevOps开发运维一体化

微服务缺点:

  • 微服务架构下,分布式随着服务数量的增加,管理将越加复杂
  • 微服务架构下,分布式链路跟踪、分布式事务难。

3、微服务架构中的概念

  • 服务注册与发现

  服务注册:服务提供者将提供的服务信息(服务器ip、端口、服务访问协议等)注册到注册中心

  服务发现:服务消费者从注册中心获取实时的服务列表,根据一定的策略选择一个服务访问

  • 负载均衡

  负载均衡即将请求的压力分配到多个服务器,以此来提供服务的性能、可靠性。

  • 熔断、限流、降级

  熔断:即断路保护,在微服务中上游服务因访问压力过大响应变慢或失败,上游服务为保证整体可用性,可以暂时切断对下游服务的调用,牺牲局部保全整体的一种措施。针对下游服务处理。

  限流:高并发的系统保护利器,当突然的高并发流量来袭,进行控制并发/请求量,一旦达到某个极限值,其余的请求拒绝服务或者排队等待。

  降级:服务降级是从整体符合考虑,由于某些服务调用造成整体系统缓慢或者崩溃,而采用虚假的本地服务进行返回,服务降级有一定的代码侵入。

  • 链路追踪

  链路追踪:就是对一次请求设计的很多分物语链路进行日志记录、性能监控。

  • Api网关  

4、SpringCloud微服务

SpringCloud是一系列框架的有序集合(规范),利用SpringBoot开发的便利性简化了分布式系统基础设施的开发,如服务发现与注册、配置中心、消息总线、负载均衡、断路器、数据监控等。

核心组件如下表:

第二代SpringCloud微服务: SpringCloudAlibaba微服务实战教程系列

Spring Cloud 微服务架构整理记录与示例首页的更多相关文章

  1. Spring Cloud 微服务架构学习笔记与示例

    本文示例基于Spring Boot 1.5.x实现,如对Spring Boot不熟悉,可以先学习我的这一篇:<Spring Boot 1.5.x 基础学习示例>.关于微服务基本概念不了解的 ...

  2. 全链路实践Spring Cloud 微服务架构

    Spring Cloud 微服务架构全链路实践Spring Cloud 微服务架构全链路实践 阅读目录: 网关请求流程 Eureka 服务治理 Config 配置中心 Hystrix 监控 服务调用链 ...

  3. 一张图了解Spring Cloud微服务架构

    Spring Cloud作为当下主流的微服务框架,可以让我们更简单快捷地实现微服务架构.Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟.经得起实际考验的服务框架组合起来 ...

  4. Dubbo和Spring Cloud微服务架构比较

    Dubbo 出生于阿里系,是阿里巴巴服务化治理的核心框架,并被广泛应用于中国各互联网公司:只需要通过 Spring 配置的方式即可完成服务化,对于应用无入侵,设计的目的还是服务于自身的业务为主. 微服 ...

  5. Dubbo 和 Spring Cloud微服务架构 比较及相关差异

    你真的了解微服务架构吗?听听八年阿里架构师怎样讲述Dubbo和Spring Cloud微服务架构. 微服务架构是互联网很热门的话题,是互联网技术发展的必然结果.它提倡将单一应用程序划分成一组小的服务, ...

  6. Spring Cloud 微服务架构解决方案

    1 理解微服务 1.1 软件架构演进 软件架构的发展经历了从单体结构.垂直架构.SOA架构到微服务架构的过程. 1.1.1 单体架构 特点: 1.所有的功能集成在一个项目工程中. 2.所有的功能打一个 ...

  7. Spring Cloud 微服务架构的五脏六腑,统统晒一晒!

    Spring Cloud 是一个基于 Spring Boot 实现的微服务框架,它包含了实现微服务架构所需的各种组件. 注:Spring Boot 简单理解就是简化 Spring 项目的搭建.配置.组 ...

  8. 7个点说清楚spring cloud微服务架构

    前言 spring cloud作为当下主流的微服务框架,让我们实现微服务架构简单快捷,spring cloud中各个组件在微服务架构中扮演的角色如下图所示,黑线表示注释说明,蓝线由A指向B,表示B从A ...

  9. Spring Cloud微服务架构升级总结

    ↵ [编者的话]微服务的概念源于 2014 年 3 月 Martin Fowler 所写的一篇文章“Microservices”.文中内容提到:微服务架构是一种架构模式,它提倡将单一应用程序划分成一组 ...

随机推荐

  1. Git:使用远程仓库

    远程仓库可使用Github.Gitee,或自建Gitlab.Gogs服务器,这里使用Github. 配置本地用户名和邮箱 # 配置本地用户的用户名邮箱(保存在用户.gitconfig文件) $ git ...

  2. kubernetes Pod亲和性

    三种调度粘性,主要根据官方文档说明: NodeSelector(定向调度).NodeAffinity(Node亲和性).PodAffinity(Pod亲和性). 1.      nodeSelecto ...

  3. 《吃透MQ系列》核心基础全在这里了

    这是<吃透XXX>技术系列的开篇,这个系列的思路是:先找到每个技术栈最本质的东西,然后以此为出发点,逐渐延伸出其他核心知识.所以,整个系列侧重于思考力的训练,不仅仅是讲清楚 What,而是 ...

  4. 剑指 Offer 53 - II. 0~n-1中缺失的数字 + 二分法

    剑指 Offer 53 - II. 0-n-1中缺失的数字 Offer_53 题目详情 java代码 package com.walegarrett.offer; /** * @Author Wale ...

  5. HDOJ-1074(动态规划+状态压缩)

    Doing Homework HDOJ-1074 1.本题主要用的是状态压缩的方法,将每种状态用二进制压缩表示 2.状态转移方程:dp[i|(1<<j)]=min(dp[i|(1<& ...

  6. HDOJ-1301(最小生成树模板+Prim算法)

    Jungle Roads HDOJ-1301 这是最小生成树的水题,唯一要注意的就是那个n,其实输入只有n-1行. #include<iostream> #include<cstdi ...

  7. HDOJ-4081(次小生成树+Prim算法)

    Qin Shi Huang's National Road System HDOJ-4081 本题考查的是次小生成树的问题,这里的解决方法就是先使用Prim算法求解最小生成树. 在求解最小生成树的时候 ...

  8. 解决:layUI数据表格+简单查询

    解决:layUI数据表格+简单查询 最近在用layui写项目,在做到用户查询时,发现在layui框架里只有数据表格,不能增加查询.于是自己摸索了一下,写个笔记记录一下. 我想要的效果: 1.定义查询栏 ...

  9. day1_安装及建立数据库和表

    #第一份数据库及表create database library; use library; create table book( id int primary key, book_name char ...

  10. HashMap之tableSizeFor方法图解

    目录 普通人的简单粗暴方式 示例代码 问题 大神的实现 移位的思想 全过程示意图 初始值 右移一位+或运算 右移二位+或运算 右移四位+或运算 右移八位+或运算 右移十六位+或运算 结果+1 初始容量 ...