关于deituicms实现从单机到微服务等不同架构实现
一、单机模式:
应用,数据库,文件,缓存,都在同一个服务器
大家下载,安装后即可使用
二、单应用分开部署模式
deituicms推荐至少进行应用、数据库、文件分离部署
1、数据库分离:无需修改
2、文件分离:推荐文件分离
deituicms默认支持阿里云,需要配置config.php和ossapi,其他云存储也可以轻松扩展
3、缓存分离:
deituicms默认使用MySQL和文件作为缓存。缓存分离推荐使用Redis,在extends/cache中配置即可
4、队列任务:
deituicms默认使用MySQL和文件作为队列任务,默认支持Redis队列,也可以自行扩展kafka等其他队列,配置在extends/queue.php
三、多应用部署
1、、应用拆分
deituicms采用多应用开发模式,支持应用与基础模块分离部署,比如可以按论坛,商城,抽奖等应用分离部署,各应用都可以各自实现分布式部署
2、数据库拆分
deituicms支持多数据库连接使用,支持合理情况下拆分部署,如涉及分布式事务业务,则需修改代码。数据库拆分在database.php配置,以表为最小粒度拆分。如果涉及需要分离部署多应用,请使用公共配置中心。
3、缓存拆分
应用分离部署之后,我们可能会有应用内缓存和应用外缓存,我们可以根据key来匹配。这个在开发应用的时候就要注意。
四、微服务部署
当我们进行多应用部署之后还不能满足需求,我们还要对业务进行拆分。比如用户中心,消息中心,支付中心,订单中心等。
deituiCms默认支持JSONRpc进行业务分离。默认采用复用model的模式,特殊情况需要按业务进行修改。
微服务在extends/rpc中配置,默认以model表为最小粒度拆分。可按model表进行微服务配置。