背景
我们的项目依赖了一个第三方系统。项目开展初期,用户的登陆。用户学习的课程,都依赖与这个第三方的系统。我们的用户、第三方系统、我们的系统,形成了一个独特的三角形耦合,异常问题。第三方一旦出现问题,我们的项目将会无法使用。
我们对第三方的依赖主要体现在以下两个个方面:
1.课程制作
需要对第三方软件上的信息进行爬取。讲这些资源落到我们数据库,然后进行推送。
2.登陆校验
登陆的时候,需要调用第三方软件的登陆接口。
思路&方案
课程制作问题解决
开发新的做课系统
通过开发一个新的做课系统,让我们的用户在我们这个新的系统上进行做课,做完课程之后,将课程信息同步到现有的上课系统中。
兼容原有课程信息
将原有的课程信息落到我们做课系统当中,并且支持修改。不影响之前的用户使用。
登陆问题解决
开发注册模块
通过开发注册模块,支持用户可以自由的在我们系统上进行注册,不必依赖第三方进行注册。
原有用户处理
原有用户,只要登陆成功一次,我们就将用户的账户,密码。落到我们的数据库中,以后登陆先走我们自己的登陆,如果不成功,在调用第三方进行登陆。
总结
在设计的时候,就要考虑到依赖第三方会给我们带来什么问题,并且要考虑以后移除对第三方依赖的成本。