SpringCloud Alibaba技术栈(一)微服务介绍
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技术栈(一)微服务介绍的更多相关文章
- Alibaba Spring Cloud 微服务介绍(一)
" Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案.此项目包含开发分布式应用服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件 ...
- SpringCloudAlibaba 微服务讲解(一)微服务介绍
微服务介绍 1.1 系统架构的演变 随若互联网的发展,网站应用的规模也在不断的扩大,逬而导致系统架构也在不断的进行变化.从互联 网早起到现在,系统架构大体经历了下面几个过程:单体应用架构一蟻直应用架构 ...
- 搞懂分布式技术28:微服务(Microservice)那点事
搞懂分布式技术28:微服务(Microservice)那点事 微服务(Microservice)那点事 肥侠 2016-01-13 09:46:53 浏览58371 评论15 分布式系统与计算 微服务 ...
- SpringCloud Alibaba微服务实战三 - 服务调用
导读:通过前面两篇文章我们准备好了微服务的基础环境并让accout-service 和 product-service对外提供了增删改查的能力,本篇我们的内容是让order-service作为消费者远 ...
- Chris Richardson微服务翻译:微服务介绍
作者简介:Chris Richardson,世界著名的软件架构师,经典著作<POJOS IN ACTION>的作者,cloudfoundry.com 的创始人 微服务目前正受到大量的关注, ...
- 【微服务目录】.NET Core 微服务介绍
介绍: 写这篇文章有多方面的原因,第一当然是为了以后自己可以随时翻阅,第二也算是一种积累吧.因为有些东西你弄个之后,过了很长时间不用,可能会有些忘却,但是你因为以前弄个吧,有不是那种小白,需要去找示例 ...
- 《2016ThoughtWorks技术雷达峰会----微服务架构》
微服务架构 王键,ThoughtWorks, 首席咨询师 首先微服务架构的定义,thoughtWorks在2012年3月的技术雷达中这样定义: “微服务架构是一种架构,它提倡将单一应用程序划分为一 ...
- 微服务介绍及Asp.net Core实战项目系列
0.目录 整体架构目录:ASP.NET Core分布式项目实战-目录 二.目录 0.微服务介绍 1.RESTful API 规范介绍 2.asp.net core介绍及swagger使用 3.asp. ...
- SpringCloud(一)之微服务核心组件Eureka(注册中心)的介绍和使用
一 Eureka服务治理体系1.1 服务治理服务治理是微服务架构中最为核心和基础的模块,它主要用来实现各个微服务实例的自动化注册和发现. Spring Cloud Eureka是Spring Clou ...
- 微服务介绍和springCloud组件
微服务架构模式是:将整个web服务 组织成一系列小的web 服务,这些小的web服务可以进行独立的编译和部署,并通过各自暴露的API接口 进行相互通信,他们相互协作,作为一个整体,为客户提供服务功 ...
随机推荐
- python中四种方法提升数据处理的速度
在数据科学计算.机器学习.以及深度学习领域,Python 是最受欢迎的语言.Python 在数据科学领域,有非常丰富的包可以选择,numpy.scipy.pandas.scikit-learn.mat ...
- Java笔记——常用类
一.API概述 JDK中提供的各种功能的Java类 二.Object类 概述 类层次结构的根类 所有类都直接或间接的继承自该类 Class Object是类object结构的根.每个Class都有ob ...
- Taro:高性能小程序的最佳实践
前言 作为一个开放式的跨端跨框架解决方案,Taro 在大量的小程序和 H5 应用中得到了广泛应用.我们经常收到开发者的反馈,例如"渲染速度较慢"."滑动不够流畅" ...
- JOISC2020题解
\(\text{By DaiRuiChen007}\) Contest Link A. Building 4 Problem Link 题目大意 给 \(2n\) 个数对 \((a_i,b_i)\), ...
- 高斯朴素贝叶斯(Gaussian Naive Bayes)原理与实现——垃圾邮件识别实战
朴素贝叶斯(Naive Bayes): 根据贝叶斯定理和朴素假设提出的朴素贝叶斯模型. 贝叶斯定理: 朴素假设(特征条件独立性假设): 代入可知朴素贝叶斯模型计算公式: 因为朴素贝叶斯是用来分类任务, ...
- Kernel Memory 入门系列:文档预处理
Kernel Memory 入门系列:文档预处理 Embedding为我们提供了问题理解和文档检索的方法,但是面对大量的文档,如果在用于提问的时候再进行文档的Embedding的话,那这个过程是非常耗 ...
- 数字孪生和GIS的融合能够为智慧水务带来什么帮助?
数字孪生和地理信息系统(GIS)的融合在智慧水务领域有着重要的应用前景.让我们一起探讨数字孪生和GIS如何合作,为智慧水务系统带来了哪些帮助. GIS系统提供了准确的地理数据,包括水资源.管道网络.水 ...
- 关于SpringBoot中出现的循环依赖问题
环境: SpringBoot2.7.8 背景: 在增加出库订单时需要对物品表的的数量进行修改 因此我在OutboundController中创建了几个公共方法,并将其注入到Spring中,结果给我报了 ...
- MinIO客户端之ping
MinIO提供了一个命令行程序mc用于协助用户完成日常的维护.管理类工作. 官方资料 mc ping 检查指定的MinIO节点的服务是否可用. 不带参数,命令如下: ./mc ping local1 ...
- 构建 dotnet&vue 应用镜像->推送到 Nexus 仓库->部署为 k8s 服务实践
前言 前面分享了 k8s 的部署安装,本篇来点实操,将会把一个 .net core + vue 的项目(zhontai),打包构建成 docker 镜像,推送到 nexus 镜像仓库,并部署到 k8s ...