难点:
- 高并发—超出最大服务数【分布式、Redis缓存、 集群、分布式锁】
- 单用户多次操作—抢购狂点,如何达到仅处理一次【消息的幂等性】
- 保证抢购的顺序【消息队列排队】
业务架构:描述系统可以做什么的架构
- 微信登录、用户名密码登录
- 抢购
- 微信支付、支付宝支付
应用架构:描述系统业务应用分类的架构
- 用户业务
- 商品业务
- 订单业务
- 支付业务
技术架构:描述系统技术实现的架构
- 前后端分离
- Dobbo协议 DobboX框架
- Nginx集群—>API
- Consumer—->对外提供接口。api service
- Zookeeper Registration —注册中心
- Provider层:包括DAO层(springboot)
- 数据仓库:MySQL,MQ,Redis
部署架构:描述系统如何进行部署的架构
Docker:一台服务器可以模拟出很多模拟服务器,模拟集群环境
优点:比虚拟机效率高,可以直接部署到真正的集群系统
- 消费者(用户消费者、商品、订单、支付消费者)
- 生产者(用户、商品、订单、支付生产者)
- 基础服务,每个单独部署一台服务器
Ngnix-负载均衡、
MySql、
Redis-缓存、
Zookeeper-、分布式服务架构-文件系统+监听通知机制
Dubbo、分布式服务框架、高性能和透明化的RPC远程服务调用方案、SOA服务治理方案
ActiveMQ、消息中间件、kafka、rabitmq
nexus、构建Maven私服
Jeakins、部署发布
微服务架构
拆封服务为
provider consumer
微服务之间通信方式
- RPC:remote procedure call 远程过程调用,像调用本地服务一样
- REST:Representational State Transfer,一组架构约束条件和原则,狭义:参数封装到url上
分布式 部署到不同的服务器上
集群 服务器一个组,做相同的事,
常用框架
- Dubbo—RPC
- Dubbox—-Dubbo的升级,支持REST
- SpringCloud,支持RPC+REST
微服务设计原则
- 围绕业务切分
- 单一职责
- 谁创建谁负责
选择部署策略
- Docker虚拟化部署
Docker
- Container
- Image
- Docker Registry
运行
- Client:执行命令docker build. docker pull. docker run
- HOST:docker daemon 命令处理,本地有则直接执行,没有去远端
- Registry:远程镜像中心
网络配置
- Host模式—使用宿主机的ip port—不安全
- Container模式—与已经存在的容器共享配置
- None模式—不进行配置,无网络通信
- Bridge模式,默认模式。分配一个递增ip,默认按照启动服务顺序递增。设置固定ip,规划ip,预留ip
- 配置方式 —net=(具体模式名称)
端口映射
-p
安装
官网下载安装docker.dmg
操作
- 查看镜像 docker images
- 搜索镜像 docker search
- 镜像拉取 docker pull
- 镜像删除 docker rmi
容器操作
docker run -d -p 8888:8080 —name tomcat-test tomcat
docker stop
docker start
docker rm
docker cp
docker ps
docker ps -a
docker ps -a|grep
动态IP
固定IP
1、创建网络,制定网段
docker network create --subnet=172.10.0.0/16 mynet
2、创建容器,指定ip
docker run -d -it --net mynet --ip 172.10.0.8 --name tomcat4 tomcat
Dockerfile
内置命令
- FROM:依赖的底层镜像
- MAINTAINER:指定镜像创建者
- ENV:设置环境变量
- RUN:运行shell命令
- COPY:将编译机本地文件拷贝到镜像
文件名称必须为Dockerfile
执行命令生成镜像
docker build
图像化工具
- DockerUI
- Shipyard
来源:CSDN
作者:zhangbinHn
链接:https://blog.csdn.net/zhangbinHn/article/details/103854832