跳到主要内容

部署准备工作

image-20190415165352934

Kubernetes介绍

Javashop支持Kubernetes部署,在这里简单对Kubernetes做个介绍, 是Docker 官方的集群部署工具,他的架构示意图如下:

image-20190401114356427 如上图所示每一个node表示一台物理机,可以做为k8s集群中的一个节点加入进来,我们可以随时将新的物理机加入到k8s集群。

每个node中可以运行我们的docker 容器实例,我可以实际情况按我们的预期来分派资源,在部署文档中会有详细的介绍。

在运维过程中,我们可以随时让为k8s对某个容器进行扩容,这一切都是自动的,只需要一条命令或点击一个按钮来完成

Javashop运行时概览

image-20180911133746665

上图是Javashop电商系统分布式运行时的总览,

其中mysql和Redis是属于有状态的服务,不适合使用docker

这些个服务看起来很多、很复杂,实际上我们不用太担心,因为基础服务我们都已经制作好镜像,私有的服务也已经准备好了Dockerfile,基于k8s 我们只需要1-2个小时就可以让系统跑起来。

部署描述

一、请求由负载请求进来

负载可以是由kubernetes/nginx或阿里云等厂商提供的负载器

二、在最前端的是UI层

分为:

1、静态页(首页、商品页、帮助页),这些页面存储在redis中,直接由静态页服务输出给浏览器

2、UI:买家端PC、卖家端、管理端口

3、小程序、h5、APP的买家端

三、上述前端发生对各个服务的请求

基础服务由base-api提供

buyer、seller、admin分别请求后台对应的服务

四、基础设施

包括:Mysql、Redis、Rabbitmq、Elaticsearch

硬件规划

最低要求

下列服务器,默认均为4核8G配置

基础设施

内容台数说明
Mysql&建议使用云服务
Redis&建议使用云服务
elasticsearch3主3从
rabbimq3主3从

总计:2台 节点交叉部署

UI

内容台数说明
buyer-wap + buyer-pc + 静态页1买家端
manager-admin + manager-seller1管理端和卖家端

总计:2台

服务

内容台数说明
base-api + buyer-api1
seller-api + admin-api1
consumer1

总计:3 台

K8sMaster node

内容台数说明
K8s 管理节点1不建议其他服务部署在master节点上

共计:8台节点

微服务最低配置要求8台 4核8g服务器,具体部署需要根据您的实际情况进行扩展。

软件版本要求

项目版本
centos7.x
mysql5.6
redis5.0.4
elasticsearch6.x
rabbimq3.x

注意

  1. 以上标注需要提前准备的相关信息请客户以为文档方式提供。
  2. 如果部署完成后,因客户没有提前准备好相关账号信息,部分功能无法正常使用,我们不提供后续的配置服务,举例:
    1. ssl证书没有准备好,我们部署http站点,后续不提供更换https服务。
  3. 客户任何涉及到部署相关信息的变更,需要客户提供变更文档并且签字。