近段时间在做架构设计,个人认为架构设计应至少遵从以下三点:
- 方便开发维护
- 方便扩展
- 方便迁移
前两条,开发、维护、扩展。
应把核心的业务逻辑抽离出来,最基本的,用户、系统设置、权限、聊天、文章等,这些东西在所有网站里都差不多,可以封装成Service或Library。
其它的核心业务,也抽离出来,这样以后的开发成本会越来越低,不用过多的重复代码。
业务之间应高内聚,低耦合,可以通过TCP/UDP传输JSON或XML数据。
第3条方便部署,前两条做好了,这一条也就简单了。
第4条方便迁移,代码不应被特定框架所束缚,如果可以,封装以下常用类,并使其在所有常用框架中可用。
- MySQL操作
- Redis操作
- HTTP Client
- WebSocket
- MessageQueue
- 日志
- 其它常用存储
- 常用函数 Utils
这样一来,如果要从一个框架迁移至另一个框架,代码只需做很小的改动即可。