ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
架构设计的目的:主要是为了解决软件系统复杂度带来的问题。首先,要根据系统复杂点决策使用何种解决方案;其次,再考虑用优秀的软件框架使得代码实现更牛X。 架构设计也主要服务于: * 业务架构:是对业务需求的提炼和抽象。 * 业务量级:主要是软件运维期间业务的复杂度。要考虑: * 存储能力 * 吞吐能力 * 容错能力 架构设计的选择: * 距离/时间 * 成本 * 性能 软件系统复杂度体现在 * 性能 * 系统被访问的频率,tips/秒。 * 系统的数据存储是否是瓶颈。 * 延迟。秒级要用到流式计算;分钟级用后台计算;小时级直接用数据库。 * 可扩展性 * 高可用性 * 系统宕机时长。可容忍1分钟、1小时?绝大部分内部系统的宕机时间可以是1小时。 * 数据丢失。绝对不能丢,可以丢一部分再用其他方式修复。 * 安全性 * 成本