B 站黑马视频教程:Here

源码-笔记:Code for Github

第一章 微服务总览

1. 软件系统架构的历史

软件系统架构大致经历了:单体应用架构—>垂直应用架构—>分布式架构—>SOA架构—>微服务架构的演变

单体应用架构:一个项目一个tomcat。优点:简单维护简单。缺点:紧密耦合容错低,扩展性差,不适合大项目。

垂直应用架构:对单体应用架构拆分,多个项目多个tomcat。

分布式架构:对垂直应用架构拆分,把整个系统分为展现层和服务层

SOA架构(面向服务):对分布式架构优化,展现层和服务层中间多了个服务治理中心。

微服务架构:把SOA架构中的服务层拆分成原子状态。

2. 微服务架构的常见问题

这部分基本照抄视频内容。是本次学习的提纲,所要学习的各种技术栈就是为了解决以下问题而产生的解决方案。

这么多小服务,如何管理他们? (服务治理 注册中心[服务注册 发现 剔除])

这么多小服务,他们之间如何通讯? (restful rpc)

这么多小服务,客户端怎么访问他们? (网关)

这么多小服务,一旦出现问题了,应该如何自处理? (容错)

这么多小服务,一旦出现问题了,应该如何排错? (链路追踪)

这里再借用尚硅谷的思维导图帮助整理。

2.1 服务治理

相关技术栈有 Nacos,Eureka,Consul,Zookeeper

涉及到CAP三特性

服务注册,服务发现,服务剔除

使用 Nacos 进行服务治理:详细章节

2.2 服务调用

REST:HTTP调用的格式

RPC:进程间通信方式

具体技术有feign,RestTemplate

2.3 服务网关

把网关相当于一个微服务,用网关的接口把其他接口覆盖,想要使用某一个接口的时候,只需要通过网关的接口访问即可。

利用Spring Cloud Gateway实现网关:详细章节

2.4 服务容错

预防雪崩。服务降级,限流,熔断。具体技术:sentinel

限制某一接口(资源)的被访问频率,涉及到 fallBack,fallBackFactory的使用。

利用sentinel服务容错:详细章节

2.5 链路追踪

对一次请求进行追踪,追踪其涉及的模块,数据中心,服务器。进行性能分析,异常处理等等等。

SpringCloud Alibaba技术栈(一)微服务介绍的更多相关文章

  1. Alibaba Spring Cloud 微服务介绍(一)

    " Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案.此项目包含开发分布式应用服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件 ...

  2. SpringCloudAlibaba 微服务讲解(一)微服务介绍

    微服务介绍 1.1 系统架构的演变 随若互联网的发展,网站应用的规模也在不断的扩大,逬而导致系统架构也在不断的进行变化.从互联 网早起到现在,系统架构大体经历了下面几个过程:单体应用架构一蟻直应用架构 ...

  3. 搞懂分布式技术28:微服务(Microservice)那点事

    搞懂分布式技术28:微服务(Microservice)那点事 微服务(Microservice)那点事 肥侠 2016-01-13 09:46:53 浏览58371 评论15 分布式系统与计算 微服务 ...

  4. SpringCloud Alibaba微服务实战三 - 服务调用

    导读:通过前面两篇文章我们准备好了微服务的基础环境并让accout-service 和 product-service对外提供了增删改查的能力,本篇我们的内容是让order-service作为消费者远 ...

  5. Chris Richardson微服务翻译:微服务介绍

    作者简介:Chris Richardson,世界著名的软件架构师,经典著作<POJOS IN ACTION>的作者,cloudfoundry.com 的创始人 微服务目前正受到大量的关注, ...

  6. 【微服务目录】.NET Core 微服务介绍

    介绍: 写这篇文章有多方面的原因,第一当然是为了以后自己可以随时翻阅,第二也算是一种积累吧.因为有些东西你弄个之后,过了很长时间不用,可能会有些忘却,但是你因为以前弄个吧,有不是那种小白,需要去找示例 ...

  7. 《2016ThoughtWorks技术雷达峰会----微服务架构》

    微服务架构   王键,ThoughtWorks, 首席咨询师 首先微服务架构的定义,thoughtWorks在2012年3月的技术雷达中这样定义: “微服务架构是一种架构,它提倡将单一应用程序划分为一 ...

  8. 微服务介绍及Asp.net Core实战项目系列

    0.目录 整体架构目录:ASP.NET Core分布式项目实战-目录 二.目录 0.微服务介绍 1.RESTful API 规范介绍 2.asp.net core介绍及swagger使用 3.asp. ...

  9. SpringCloud(一)之微服务核心组件Eureka(注册中心)的介绍和使用

    一 Eureka服务治理体系1.1 服务治理服务治理是微服务架构中最为核心和基础的模块,它主要用来实现各个微服务实例的自动化注册和发现. Spring Cloud Eureka是Spring Clou ...

  10. 微服务介绍和springCloud组件

      微服务架构模式是:将整个web服务 组织成一系列小的web 服务,这些小的web服务可以进行独立的编译和部署,并通过各自暴露的API接口 进行相互通信,他们相互协作,作为一个整体,为客户提供服务功 ...

随机推荐

  1. C语言根据公式Cnm= 算出从n个不同元素中取出m个元素(m≤n)的组合数。建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double。

    /* 开发者:慢蜗牛 开发时间:2020.5.28 程序功能:开发公式Cnm */ #include<stdio.h> long fact_1(int m); long fact_2(in ...

  2. 在路上---学习篇(一)Python 数据结构和算法 (1)

    数据结构和算法 现阶段的肤浅理解数据结构是各式各样的类型数据在内存中是如何构造的,原理是怎么样的. 了解了其本质后,在面对问题时候,根据数据结构利用算法计算可以最快,最有效的完成任务.通常情况下,精心 ...

  3. 基于TensorFlow 2与PaddlePaddle 2预测泰坦尼克号旅客生存概率的比较

    ​  目录 1,程序比较 2,训练过程对比: 3,训练结果对比 AI框架经过大浪淘沙之后,目前真正能够完整用于生产.科研.学术的只剩下了谷歌.脸书.百度三家的框架,本文通过一个泰坦尼克号旅客生存概率预 ...

  4. 主界面(零基础适合小白)基础javaweb前端项目实战【包含增删改查,mysql】三

    首先编写sp文件(index.jsp) <%@ page contentType="text/html;charset=UTF-8" language="java& ...

  5. 三分钟使用github的技巧

    一.GitHub搜索技巧--找开发者 搜索条件 备注 location: location:china,匹配用户填写的地址在china language: language:javascript,匹配 ...

  6. C++ Qt开发:Qt的安装与配置

    Qt是一种C++编程框架,用于构建图形用户界面(GUI)应用程序和嵌入式系统.Qt由Qt公司(前身为Nokia)开发,提供了一套跨平台的工具和类库,使开发者能够轻松地创建高效.美观.可扩展的应用程序. ...

  7. ORCAD BOM制作

    1.导出BOM增加/TPCB Footpint和/tOptionnal 选项 2.器件选焊的optionnal设置/X符号, 3.导出BOM后选择/X的,删除,不出现加工的BOM中

  8. [USACO2007FEB S] The Cow Lexicon S

    题目描述 Few know that the cows have their own dictionary with W (1 ≤ W ≤ 600) words, each containing no ...

  9. python生成列表的时间复杂度

    在刷题的时候,经常碰到需要生成非常大的邻接矩阵,往往我们都是用 list 存储,但是我在最近刷题的过程中就遇上了TLE的情况,原因就是生成邻接矩阵时间太花时间了. 先说结论:[ ]* n 比 [ fo ...

  10. 在arm架构的银河麒麟系统部署Nginx

    以下是在arm架构的银河麒麟系统上部署Nginx的详细步骤: 1. 创建文件夹 首先,在合适的位置创建必要的文件夹.在本例中,我们将创建/opt/nginx和/usr/src/nginx两个文件夹. ...