大型电商---谷粒商城 笔记

链接:
大型电商-谷粒商城

项目介绍
基础:全栈开发:后台管理
后台技术栈:springboot + mybatis一套 + springcloud +docker
前端:vue+element-ui
逆向工程
高级:微服务架构
商品服务、购物车、订单、结算、库存、秒杀
sb+sc+scalibaba+配置中心+流量保护+分布式事务
网关、链路追踪、缓存、session、全文检索、异步编排、压力测试、调优、redis分布式锁
集群:架构师
k8集群

B2C模式,商家、用户,自营,京东
b2b 商家对商家,阿里巴巴
c2c,咸鱼
o2o,线上线下,饿了么

B2C

二、分布式基础概念

1.微服务

拒绝大型单体应用(所有代码写在一起),基于业务边界进行服务微化拆分,各个服务独立部署运行。
服务间通信(调用),http api

2.集群、分布式、节点

京东是一个分布式系统,运行在众多机器上(集群),有很多节点,可能会多个服务器供着一个登录节点,但是这些服务器不是分布式的。

3.远程调用

服务间的调用,机器间的通信
http+json

4.负载均衡

一台机器调用多台机器(这些机器干一样的事)中的一个,选个合适的
算法:轮询、最小连接、散列(即同一个用户的请求发送给同一个机器)

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

服务上线,注册,另一个服务就是发现,两服务之间是注册中心。下线也知道。
心跳包

6.配置中心

只改配置中心(仅这一处),多个服务自动获取最新配置。
刷新

7.服务熔断 & 服务降级

服务等服务 阻塞
指定超时时间
返回默认
不再请求挤压

简单处理

8.api网关

检查关卡

架构图
在这里插入图片描述
外网:前端
内网:后台的服务集群

公众,客户端,发送请求
nginx集群,转交请求

api网关,使用springcloud gateway
它可以:
动态的路由到指定的服务,商品服务、购物车服务
负载均衡的调用服务
服务出现问题,对服务熔断降级,使用springcloud alibaba的sentinel
认证授权,是否合法
限流,请求太多,只放行1万个请求,也是使用sentinel

到达服务
服务都是springboot写的
服务间会互相调用,使用springcloud的feign

是不是登录了
OAuth2认证中心
包括一般登录,社交登录

安全,权限控制,使用springsecurity

缓存
redis集群
分片shard,哨兵sentinel

持久化
mysql
读写分离,分库分表

服务与服务之间
消息队列,异步解耦,分布式事务的一致性
RabbitMQ

全文检索
elasticsSearch

oss
图片,视频

上线后,快速定位项目的问题
elk处理日志:
logstash收集日志
存储至es中
kibana可视化日志信息

知道服务的位置
服务注册到注册中心
使用springcloud alibaba的nacos

集中管理配置
也是nacos

追踪服务调用链
springcloud提供的Sleuth、Zipkin、Metrics
然后交给prometheus聚合分析
再grafana可视化
告警信息发短信、邮件

持续集成和持续部署
修改后的代码提交给github
运维人员,通过自动化工具jenkins,从github获取代码,打包成docker镜像,使用k8s集成docker服务。

在这里插入图片描述
环境搭建
linux
linux虚拟机
vmware、virtualbox
开启cpu虚拟化
在virtualbox中新建linux虚拟机
一般,下载linux镜像,然后新建
推荐,vagrant,快速创建虚拟机
vagrant,有镜像仓库
vagrant init centos/7,创建了vagrantfile文件
vagrant up 启动虚拟机:下载镜像,启动
ctrl c
vagrant ssh 连接虚拟机
whoami
ls /
exit 退出连接
正常关机 虚拟机
安装时,可能会有冲突,先卸载别的软件,再安装

默认网络是
连接方式:网络地址转换-端口转发
给虚拟机一个固定的ip地址,
windows与虚拟机可以ping通,
虚拟机装好一个软件,用ip地址访问
私有地址
vagrant reload

安装docker
mysql、redis使用docker安装部署
docker:
虚拟化容器技术。基于镜像,可以秒级启动各种容器。每一种容器都是一个完整的运行环境,容器之间互相隔离。
获取软件的镜像
docker hub
docker
卸载
安装依赖包
设置docker的地址

设置开机自动启动
配置镜像加速,因为是国外的,阿里云

使用docker安装sql
vi 进入
i 插入
esc 退出插入
:wq 保存退出

猜你喜欢

转载自blog.csdn.net/weixin_40816843/article/details/113803552