如何设计一个好的网站架构?

2022-01-21 14:00:00

我同意成为统一用户中心的想法。你提到过页面跳转和单点登录,这没问题。然而,当系统的业务逻辑也需要共享用户数据时,我们不知道该怎么做。

您能考虑向SOA迈进吗。以前,您的系统是典型的烟囱结构,从下到上完整的一套,不需要共享和重用。用户中心非常适合作为底层核心系统沉淀,并发布一些一般服务,供其他系统调用。

我不知道你的系统是用什么语言开发的。Web服务可用于异构系统之间的远程调用。您甚至可以使用HTTP和JSON来实现简单的通信。如果您感兴趣,您还可以考虑引入成熟的开源RPC框架。

SOA可能出现的问题:

分布式事务。以前的业务处理是在一个系统和一个数据库中完成的,数据库的本地事务可以满足要求。如果一个操作跨越多个系统和库,并且具有非常高的事务需求,那么就需要一个可靠的分布式事务解决方案。您的场景应该是只读的。即使有一些写操作,也应该容忍事务不一致。所以,目前商业不是问题。链接表查询可能需要拆分为多个查询(包括系统的远程服务和数据库)。

服务依赖关系管理。在SOA架构下,随着系统的发展越来越复杂,可能会出现复杂的依赖关系。在服务依赖关系的初始阶段,合理规划和管理服务依赖关系是非常重要的。系统分层分级。体系结构越低,系统优先级越高,运行维护保障越高,系统责任越简单。上层是处理特定业务场景的各种系统,具有较低的级别和更复杂的业务逻辑。底层系统不允许依赖上层系统。同一层可以相互调用。原则上,不允许循环依赖。

接口粒度权衡。如果接口粒度太细,适用场景单一,有新需求时应打开新接口;粒度过粗、太笼统,一定会有损耗和浪费,不利于目标性能优化。这是一部艺术作品,在实际战斗中要慢慢思考。

介绍了国内外许多知名网站系统架构的演变,对网络上的应用具有一定的参考价值。然而,在不同的需求场景和不同的网站开发阶段,架构设计的重点不同。商业网站对可用性和性能要求较高,在这些方面将投入大量资源。除了选课系统外,学校网站对成绩、可用性和交易一致性不敏感。重点可以是代码结构的合理性和可维护性。制定太复杂和深刻的技术解决方案是不合适的。

此外,学校网站维修人员任期短,学科可在一两年内毕业。一方面,我们应该找到可靠的接班人。另一方面,要打好基础,在任期内制定标准,让即使资历平平的也能发挥得很好。