写点什么

MongoDB 与微服务

用户头像
Thomas
关注
发布于: 2020 年 06 月 14 日
MongoDB与微服务
  1. 微服务的优势

* 开发速度快

* 变化响应快

* 易维护

* 扩容简单

  1. 微服务架构设计要素

* 服务解耦(Decouple)

* HTTP API - 简单接口(Dumb Pipes)

* 数据去中心化(Decentralize)

* 持续集成自动部署(DevOps)

  1. 微服务架构设计考量点

* 一服务一库还是多服务一库

* 混合持久化还是多模数据库

* 扩容便捷性

  1. 多个微服务共享一个数据库的缺点

* 单点故障,一个服务性能问题可能拖垮整个服务集群

* 容易引起强关联,不利解耦

* 难以为某一个微服务单独扩容

  1. 关键服务使用自己的库

* 每个微服务使用一个逻辑库

* 数据库变动时不影响其他服务

  1. 混合持久化

* 为关键服务提供最适合的数据库

* 学习成本,管理成本和硬件成本高

  1. 多模数据库

* 一种数据库,多种模式

* 一种技术,学习及管理简单

* 可以单独优化

  1. 是否可以快速扩容

* 水平扩展应用

* 微服务化

* 数据扩容

  1. MongoDB容器化部署

MongoDB是一个有状态的服务,在容器化部署的时候要特别注意

* 复制集节点要能够相互通讯:配置的时候要使用服务名,或者固定的服务IP地址

* 使用Persistent volume 或类似长久存储

* 使用Ops Manager进行集群管理(而不是k8s/OpenShift)



用户头像

Thomas

关注

满满的正能量 2018.09.07 加入

后端码农一枚,掌握GO语言、JAVA语言,目前从事微服务及区块链相关项目研发工作。

评论

发布
暂无评论
MongoDB与微服务