前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >01. SpringCloud实战项目-五分钟搞懂分布式基础概念

01. SpringCloud实战项目-五分钟搞懂分布式基础概念

作者头像
悟空聊架构
发布2020-04-13 12:49:19
3080
发布2020-04-13 12:49:19
举报

SpringCloud实战项目全套学习教程连载中

PassJava 学习教程

简介

  • PassJava-Learning项目是PassJava(佳必过)项目的学习教程。对架构、业务、技术要点进行讲解。
  • PassJava 是一款Java面试刷题的开源系统,可以用零碎时间利用小程序查看常见面试题,夯实Java基础。
  • PassJava 项目可以教会你如何搭建SpringBoot项目,Spring Cloud项目
  • 采用流行的技术,如 SpringBoot、MyBatis、Redis、 MySql、 MongoDB、 RabbitMQ、Elasticsearch,采用Docker容器化部署。

更好的阅读体验

文档连载目录

01.分布式基础概念

1、微服务

拒绝大型单体应用,基于业务边界进行服务微化拆分,各个服务独立部署运行

2、集群、分布式、节点

集群

  • 是一种物理形态
  • 将几台服务器集中在一起,实现同一业务

分布式

  • 是一种工作方式
  • 若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统
  • 将不同的业务分布在不同的地方

节点

  • 集群中的一个服务器

3、远程调用

mark
mark

分布式系统中,各个服务可能处于不同主机,但是服务之间不可避免的需要互相调用,我们称为远程调用。

SpringCloud中使用HTTP+JSON的方式完成远程调用。

4、负载均衡

mark
mark

A服务调用B服务,B服务部署在多台机器,A发送请求到任意一个服务器均可完成调用。

为了使每台服务器不至于忙于处理请求,可以将请求均衡到每一个服务器,提升网站的可用性。

负载均衡算法:

  • 轮询:请求依次按顺序分发到不同的可用服务器执行,循环分发请求。
  • 最小连接:分发请求到连接数最少的服务器。场景:处理请求用时较长的场景。
  • 散列:根据用户请求的IP地址的散列(hash)来选择要转发的服务器。场景:需要处理状态而要求用户能连接到相同服务器。

5、服务注册、服务发现、注册中心

mark
mark

A服务调用B服务、C服务,但是A服务不知道B、C服务所在的服务器是正常还是下线,注册中心可以帮助解决。

注册中心实时知道哪些服务正常,哪些服务下线,也能记录新增的正常服务。服务之间调用不需要去判断哪些服务正常,注册中心会告诉服务有效的调用地址。

服务注册:服务将自己的IP和端口报告给注册中心的过程。

服务发现:查询可用微服务列表及其网络地址的机制。

注册中心:集中记录每个服务的地址,注册和注销服务。

服务检查:检查已注册的服务,如发现某服务长时间无法访问,则会从注册中心移除该服务。

6、配置中心

每个服务都有大量配置,更新一个配置,需要同步到每个服务,如何修改每个服务的配置呢?

每个服务从配置中心获取配置,自动更新自己的配置。

7、服务熔断、服务降级

mark
mark

下单场景:用户下单了一个商品,客户端调用订单服务来生成预付款订单,订单服务调用商品服务查看下单的哪款商品,商品服务调用库存服务判断这款商品是否有库存,如有库存,则可以生成预付款订单。

雪崩场景:

  • 第一次滚雪球:库存服务不可用(如响应超时等),库存服务收到的很多请求都未处理完,库存服务将无法处理更多请求。
  • 第二次滚雪球:因商品服务的请求都在等库存服务返回结果,导致商品服务调用库存服务的很多请求未处理完,商品服务将无法处理其他请求,导致商品服务不可用
  • 第三次滚雪球:因商品服务不可用,订单服务调用商品服务的的其他请求无法处理,导致订单服务不可用。
  • 第四次滚雪球:因订单服务不可用,客户端将不能下单,更多客户将重试下单,将导致更多下单请求不可用。

服务熔断:

设置服务的超时,当被调用的服务某段时间内失败率达到某个阈值,则对该服务开启短路保护,后来的请求不调用这个服务,直接返回默认的数据。

服务降级:

对非核心业务降级运行:某些服务不处理,或者简单处理(抛异常、返回Null、返回Mock数据)

8、API网关

mark
mark
  • 抽象了微服务中都需要的公共功能
  • 提供了负载均衡、自动熔断、灰度发布、统一认证、限流、日志统计功能公众号
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-04-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • PassJava 学习教程
    • 简介
      • 更好的阅读体验
        • 文档连载目录
        • 01.分布式基础概念
          • 1、微服务
            • 2、集群、分布式、节点
              • 集群
              • 分布式
              • 节点
            • 3、远程调用
              • 4、负载均衡
                • 5、服务注册、服务发现、注册中心
                  • 6、配置中心
                    • 7、服务熔断、服务降级
                      • 8、API网关
                      相关产品与服务
                      容器镜像服务
                      容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档