# 服务部署方案

服务完全容器化,通过Kubernetes开源容器编排平台,保证系统的高可用,易扩容。并且加入rancher进行可视化管理。使日常维护系统更加轻松。系统图如下:

系统图.png

金易联服务交付物为镜像。需要连接凡泰服务器

# 服务器部署方案

下面介绍为生产部署案例:

部署图

  1. 生产环境微服务和数据库服务器分区隔离,仅开通相应端口。
  2. 需要提供负载均衡,后端为应用服务器。(如果不提供,也可部署keepalive避免单点)
  3. 服务访问为https,需提供域名及域名证书。

# 基础服务及高可用部署方案

基础服务版本列表

服务 版本
kafka 2.2.0
minio 2018-12-13T02-04-19Z
pg 9.6.15
mongo 4.0.10
es 6.4.0
redis 4.0.6
zookeeper 3.4.10

数据库服务通过绑定挂载本地目录进行持久化保存。并以集群的形式部署,保证数据的高可用。

下面介绍数据库的集群方案。

# mongo

MongoDB提供的是Replica Sets模式(副本集)。MongoDB官方目前已不推荐使用主从模式,取而代之的是副本集模式。副本集其实是一种互为主从的关系,可理解为主主模式。副本集将数据复制,多份保存,不同服务器保存同一份数据,在出现故障时自动切换。

mongo

# redis

Redis (opens new window) 是一个高性能的key-value数据库。目前我们部署的Redis集群部署是这样的:

集群共 3 个redis实例

集群内部 1 主 2 从3哨兵模式

redis

# kafka

kafka (opens new window)是一个开放源代码的分布式事件流平台,在我们的项目中,其主要用于数据总线集群服务,用于微服务之间解耦,异步处理数据流。在我们的部署架构中,通常我们将其部署为 3 节点的集群:

kafka

# elasticsearch

三节点集群, 最少必须维持两个在线。

es