跪求大神指导,关于系统架构的咨询有关问题
时间:2021-07-01 10:21:17
帮助过:5人阅读
跪求大神指导,关于系统架构的咨询问题
正在做网站系统,遇到一些问题,特此来求助
情况描述:
本网站的架构是用PHP的CodeIgniter写的,CodeIgniter是满足MVC架构的,但是由于我们系统中很多M和C层的代码是由python来实现的,因此,在系统的架构的设计上遇到了以下两个问题(代码复用和共用数据库传参):
1.代码复用体现为php和python的model层,目前互相调用比较困难,导致代码复用。
2.共用数据库体现为php和python都对数据库进行操作,由于python与php互相调用比较困难,致使现在是用数据库的特定表列来进行参数传递。
目前对于未来系统有几个需求:
1.不同甲方能使用不同的功能(代码物理上隔离)。
2.系统各模块低耦合性,通过灵活组合模块实现新的功能。
3.系统面临未知压力情况下依然稳定。
求助:希望各位大牛,在尽可能少改动的前提下,提出解决方案(采用什么样的系统架构,数据接口设计等)来满足以上需求。
------解决思路----------------------
三层架构可看做是三个同心圆(环)
最里面的是数据层,用于与真实数据库打交道
中间的环是业务层,实现具体的业务流程
最外层是用户层,实现用户界面的相关功能
从建构上可以看出,用户层不能越过业务层去直接操作数据库
而业务层提供的各种方法,现在就称之为 API
实现时应满足:
无论实体数据库变成什么了,数据层接口都不变(即不需要修改业务层代码)
无论用户层有什么需求,都可以通过(仅通过)业务层接口(API)得以实现
当然也应做到业务逻辑的改变,不会影响的用户层代码(效果自然是会变的)