1、关于集群和分布式的关系
最近看了篇文章 到底什么是集群&分布式,文中收集了多名网友的回答,一个来自知呼的回答挺明了:
分布式:一个业务分拆多个子业务,部署在不同的服务器上,(我的补充:)具有处理高并发的能力,但一个子业务系统宕机,该子业务功能将无法实现。
集群:同一个业务,部署在多个服务器上,(我的补充:)具有高可用的能力,一个系统宕机,不影响业务实现。
现在所做的项目基本架构为spring + spring MVC + Mybatis,数据库使用mysql,缓存服务器使用的是redis集群,分布式服务使用的是dubbo+zookeeper组合,结合项目说说集群和分布式。
2、先说分布式
主项目简称DAMC,作为其它系统的数据和权限管理中心,为其它系统提供数据服务,该系统属于一次开发,持续使用,后续变更需求极少。
所以为了保障该系统的稳定性和持续性,DAMC并不对外提供接口,而是重新搭建了一套专门提供接口服务的系统,简称MIS,其它业务系统BIZS(泛指所有与MIS对接的业务系统)通过MIS获取DAMC的基础数据
BIZS作为客户端,MIS作为服务端,通过dubbo+zookeeper方式实现客户端