部署准备工作
部署拓扑图
Kubernetes介绍
Javashop支持Kubernetes部署,在这里简单对Kubernetes做个介绍, 是Docker 官方的集群部署工具,他的架构示意图如下:
如上图所示每一个node表示一台物理机,可以做为k8s集群中的一个节点加入进来,我们可以随时将新的物理机加入到k8s集群。
每个node中可以运行我们的docker 容器实例,我可以实际情况按我们的预期来分派资源,在部署文档中会有详细的介绍。
在运维过程中,我们可以随时让为k8s对某个容器进行扩容,这一切都是自动的,只需要一条命令或点击一个按钮来完成
部署描述
一、请求由负载请求进来
负载可以是由kubernetes/nginx或阿里云等厂商提供的负载器
二、在最前端的是UI层
分为:
1、静态页(首页、商品页、帮助页),这些页面存储在redis中,直接由静态页服务输出给浏览器
2、UI:买家端(PC/WAP)、卖家端、管理端口
3、小程序、APP的买家端
三、上述前端发生对各个服务的请求
这些服务由Eureka或nacos来完成服务发现和治理
由网关服务提供统一的访问入口
通过断路器仪表盘检测断路情况
四、基础设施
包括:Mysql、Redis、Rabbitmq、Elaticsearch
硬件规划
最低要求
下列服务器,默认均为4核8G配置
基础设施
内容 | 台数 | 说明 |
---|---|---|
Mysql | & | 建议使用云服务 |
Redis | & | 建议使用云服务 |
elasticsearch | 3主3从 | |
rabbimq | 3主3从 |
总计:2台 节点交叉部署
UI
内容 | 台数 | 说明 |
---|---|---|
buyer-wap + buyer-pc + 静态页 | 1 | 买家端 |
manager-admin + manager-seller | 1 | 管理端和卖家端 |
总计:2台
服务
内容 | 台数 | 说明 |
---|---|---|
系统服务 +会员服务+ 商品服务 | 1 | |
交易服务 +分销服务+ 统计服务 + 消费者服务 | 1 | |
eureka + 网关服务 + 配置中心 + hystrix | 1 |
总计:3 台
K8sMaster node
内容 | 台数 | 说明 |
---|---|---|
K8s 管理节点 | 1 | 不建议其他服务部署在master节点上 |
共计:8台节点
微服务最低配置要求8台 4核8g服务器,具体部署需要根据您的实际情况进行扩展。
软件版本要求
项目 | 版本 |
---|---|
服务器 | centos7.x |
mysql | 5.6 |
redis | 5.0.4 |
elasticsearch | 6.x |
rabbimq | 3.x |
注意
- 以上标注需要提前准备的相关信息请客户以为文档方式提供。
- 如果部署完成后,因客户没有提前准备好相关账号信息,部分功能无法正常使用,我们不提供后续的配置服务,举例:
- ssl证书没有准备好,我们部署http站点,后续不提供更换https服务。
- 客户任何涉及到部署相关信息的变更,需要客户提供变更文档并且签字。