软件架构设计【三】-系统架构中的数据分布设计

    在大型系统中,数据分布设计非常重要,整理数据分布设计的6中常见策略,仅供参考:

独立Schema:当一个大系统由相关的多个小系统组成,且不同小系统具有互不相同的数据库Schema定义。独立模式可管理性高,通信开销小。

 

集中:一个大系统必须支持来自不同地方的访问,或者该系统由多个不同的小系统组成,而数据进行集中化,统一格式存储。可管理性、数据一致性高。

 


分区:分为水平分析与垂直分区,当系统为“地域分布广泛的用户”提供“相同服务”时,常常使用水平分区策略。垂直分区为字段分隔,一般较少使用。采用分区方式,可伸缩性好。

 

复制:在整个分布式系统中,保存多个副本、并且以某种机制保持多个数据副本之间的数据一致性。复制方式可有效提升数据可靠性。

 

子集:“子集”是“复制”的特殊方式,就是某节点因功能或非功能考虑而保持全体数据的一

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微信作为一个全球范围内广受欢迎的即时通讯软件,其软件架构设计也是其成功的关键之一。下面我们来探讨一下微信软件架构设计原理和架构模式。 1. 客户端架构设计 微信客户端架构采用了MVC模式,即模型-视图-控制器。模型层负责数据的处理和存储,视图层负责UI的显示和用户交互,控制器层负责业务逻辑的处理和调度。 微信客户端还采用了组件化的设计模式,将不同的功能模块拆分成独立的组件,方便开发和维护。每个组件都有独立的生命周期和数据流动,可以独立运行和升级。 2. 服务器架构设计 微信服务器架构采用了分布式架构,将不同的功能模块分布在不同的服务器上,提高了系统的可伸缩性和可靠性。微信服务器采用了多层架构,包括负载均衡层、应用层、数据层等。 微信服务器还采用了消息队列的设计模式,将请求、响应、通知等消息放入队列,异步处理,提高了系统的并发性和可靠性。 3. 数据库架构设计 微信数据库架构采用了主从复制的设计模式,将主库和从库分离,提高了系统的可靠性和读写性能。主库负责写操作,从库负责读操作,可以扩展从库的数量,提高了系统的读性能。 微信数据库还采用了分片的设计模式,将数据按照一定规则分成多个分片存储,提高了系统的可伸缩性和读写性能。每个分片都是独立的数据库实例,可以独立扩展和维护。 4. 安全性设计 微信安全性设计非常重要,采用了多层防御的安全策略。微信客户端采用了加密通信、安全协议等技术,保障用户的隐私和数据安全。微信服务器采用了防火墙、入侵检测、反向代理等技术,保障系统的安全性和稳定性。 微信还采用了多种身份验证方式,如密码、手机短信、人脸识别等,保障用户的身份安全。微信还采用了风控系统,对用户的行为进行监控和分析,及时发现和处理风险事件。 总之,微信的软件架构设计非常优秀,采用了多种现代化的设计模式和技术,保障了系统的可伸缩性、可靠性和安全性。微信的成功离不开其优秀的软件架构设计

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值