Bootstrap

MongoDB与微服务

* 开发速度快

* 变化响应快

* 易维护

* 扩容简单

* 服务解耦(Decouple)

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

* 数据去中心化(Decentralize)

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

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

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

* 扩容便捷性

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

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

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

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

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

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

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

* 一种数据库,多种模式

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

* 可以单独优化

* 水平扩展应用

* 微服务化

* 数据扩容

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

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

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

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