day22_3_22 项目简介&谷粒商城

一、项目简介

1、电商模式

常见电商模式:B2B, B2C, C2B, C2C, O2O;

谷粒商城采用B2C模式,销售自营商品给客户

2、项目架构图

3、微服务划分图

3、项目技术点&特色

  • 前后端分离开发,拥有基于vue的后台管理系统
  • 基于SpringCloud的解决方案
  • 应用监控、限流、网关、熔断降级等分布式方案,全方位涉及
  • 分析高并发场景的编码方式,运用线程池、异步编排等使用
  • 运用集群技术
  • ······

4、开发项目需要的前置知识

  • 熟悉 SpringBoot 以及常见整合方案
  • 了解 SpringCloud
  • 熟悉 gitmaven
  • 熟悉 linuxredisdocker 基本操作
  • 了解 htmlcssjsvue
  • 熟练使用 idea 开发项目

二、分布式基础概念

1、微服务

        将大型单体应用,基于服务边界进行拆分,分成多个服务,每个服务独立部署运行,通常使用轻量级机制通信,比如HTTP API

来一个让人害怕的图~~:

2、集群&分布式&节点

        集群是物理形态,分布式是工作方式。

        一堆服务器干着同样的活,就是集群;每个服务器都干着不同的活就是分布式。

        例如:京东是一个分布式系统,众多业务运行在不同的机器上,所有的业务构成一个大型的业务集群。每个小的业务,比如用户系统,访问压力大的时候一个服务器肯定顶不住。我们就将用户系统部署到多个服务器上,实现负载均衡。通常每一个业务系统都可以做成集群。

        分布式中的每一个节点都可以做集群,而集群不一定是分布式的。

        节点:集群中的一个服务器。

3、远程调用

        分布式系统中,各个服务可能处于不同的服务器,微服务之间的调用涉及到不同服务器之间的通讯,我们称为远程调用。

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

4、负载均衡

        在分布式系统中,为了避免单个服务器压力过大,我们需要采用负载均衡的方式调用每一个服务器,提升网站的健壮性。

        常见的负载均衡算法:

  • 轮询法:将请求按照顺序轮流分配到服务器上。缺点:不能发挥某些高性能服务器的优势;
  • 随机发:随机获取一台服务器;
  • 哈希法:通过ip地址哈希化确定要访问服务器的地址。优势:每次客户端访问的服务器相同,能很好的利用session和cookie;
  • 加权轮询法:根据服务器的性能不同加权,控制服务器的访问频率

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

        A服务调用B服务,A不知道B有多少台,哪些正常工作,服务中心可以解决这些问题。

6、配置中心

  每个服务都有大量的配置,集群化部署的情况下,单个配置修改过于麻烦,采用配置中心进行统一配置,统一修改更为方便

    

7、服务熔断&服务降级

        微服务之间的通讯存在相互依赖的现象,某一服务不可用时,可能造成雪崩效应,所以需要容错机制进行保护。

①服务熔断:

        设置服务的超时,当被调用的服务经常失败并且达到某个阈值,我们可以开启短路保护机制,后来的请求不在调用这个服务。本地返回默认数据。

②服务降级:

        在运维期间,系统处于高峰期,或者比如双11的淘宝网,系统资源紧张,我们可以让非核心业务降级运行。降级:某些服务不处理,或者简单处理(抛异常,返回null,调用Mock数据等)。

8、API网关

        在微服务架构中,网关抽象了微服务中都需要的公共功能,同时提供了:负载均衡、服务自动熔断、灰度发布、统一认证、限流、日志统计等功能


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值