springCloud笔记一:架构演进与分布式系统基础知识

传统架构演进到分布式系统

  1. 互联网刚开始的架构

springCloud笔记一:架构演进与分布式系统基础知识

  1. 用户增多后

springCloud笔记一:架构演进与分布式系统基础知识

  1. 用户继续增多

增加nginx的集群分发:和网关分发

网关主要用来拦截用户信息,是否登录的。

负载均衡器:高可用,LVS+keepalive

springCloud笔记一:架构演进与分布式系统基础知识

  1. 单体应用

开发速度慢,启动时间长,依赖庞大,等等。

  1. 微服务

易开发,理解和维护。

独立的部署和启动等。

不足:

​ 分布式系统—》分布式事务问题,需要管理多个服务,----》服务治理问。

微服务核心基础讲解

  1. 讲解微服务核心知识

1、网关:路由转发+过滤器。

​ api/v1/product 商品模块

​ api/v1/user 用户模块

​ 过滤器用来检测用户是否登录系统,动态插拔作用

2、服务注册发现:调用和被调用方的信息和维护

​ 每个服务启动时,都会向注册中心进行注册。

3、配置中心:管理配置,动态更新。

​ 每个服务都有一个application.properties,如果要修改都要进行修改,然后再提交,部署。当服务有上百个时,很麻烦。可以添加一个配置中心,把所有的服务配置集中在一起,并可视化。并进行动态更新。

4、链路追踪:分析调用链路耗时。(qbs)

​ 例子:用户下单—》查询商品服务获取商品价格----》xxxx服务。通过链路追踪,就可以查询出那个地方qbs高了,然后进行处理。

5、负载均衡:分发负载

​ 通过ngxin进行负载均衡。

6、熔断:保护自己和被调用方。

​ 熔断:当一个服务调用另一个服务时,突然特别慢。熔断机制就会发现,然后暂停其他服务调用这个服务接口,等待x分钟后,再去测试,如果测试满足要求就走正常流程。

常见的微服务框架

  1. 服务中的角色

consumer:调用方

provider;被调用方

一个接口一般都会充当两个角色(不是同时充当)

  1. dubbo:

zookeeper+dubbo+springMVC/SpringBoot

配套:

​ 通信方式:RPC

​ 注册中心:zookeper/redis

​ 配置中心:diamond

  1. springCloud:

全家桶+轻松嵌入第三方组件(Netflix 奈飞)

配套:

​ 通信方式:http restful

​ 注册中心:eruka/consul

​ 配置中心:config

​ 断路器:hystrix

​ 网关:zuul

​ 分布式追踪系统:sleuth+zipkin

微服务下电商项目基础模块设计

  1. 用户服务

1、用户信息接口

​ 用户信息接口

​ 登录接口

2、商品服务

​ 商品列表

​ 商品详情

3、订单服务

​ 我的订单

​ 下单接口

相关文章:

  • 2021-06-09
  • 2021-09-04
  • 2021-04-28
  • 2021-05-13
  • 2021-09-27
  • 2022-12-23
  • 2021-10-15
  • 2021-11-24
猜你喜欢
  • 2021-10-15
  • 2021-07-03
  • 2021-05-25
  • 2022-01-11
  • 2022-12-23
  • 2021-05-18
相关资源
相似解决方案