架构反思案例之“分布式”的架构案例

  不知道这个算不算一个分布式系统,我个人觉得是比较不错的一个设计,思路非常的好。

项目背景

  需要设计一套解决方案,解决目标企业的数据管理,数据不同客户端同步,建设网站的需求。

项目设计

1. 网站的设计

  传统的BS架构,用户可以直接登录网站管理数据资源,可以发布资源到线上。此外,用户可以直接登录客户端,完成同样的功能。客户端的计算能力闲置的时候,在征得用户同意的情况下,可以使用客户端完成一些并发的任务,比如数据整理,采集等等。同时提供线上与客户端同时并存的方式对于用户来说还是非常方便的,特别是对于那些工作在外面的业务员。

  这里很重要的一个部分就是负载均衡的处理,针对公司所在的地理位置不同,需要把公司的访问请求分配到不同的数据服务器上。

2. 网站的数据存储

  使用SQLServer作为网站的数据库,目前运行状况良好。这个作为整个架构的数据中心,存储了所有的数据。随着数据量的越来越大,数据服务器已经扩展到了多台,这个由负载均衡组件的负责处理。

3. 客户端的设计

  由于服务器提供了一个同步数据的接口,客户端可以从服务器同步数据,也可以向服务器提交新数据。这里的客户端形式多样,包括传统的Window Form桌面程序,也包括iOS和Android程序。由于不同的平台,例如传统的桌面,移动端,使用的语言不同,设计也有所差别,但是基本上都会有显示数据和同步数据的功能。

4. 客户端的数据存储

  客户端的数据存储平台也可能不同,但不管选择什么数据库,都是为了与SQLServer的数据兼容,为数据同步做物理准备。

5. 公司数据中心的概念

  对于中大型客户公司,客户端需要时刻在公司内保持同步,即使是在断网的情况下也要如此,这时公司需要设置数据中心,来完成公司内客户端的数据同步。

6. 数据的同步

  这是最重要的一个模块,同步的算法非常的简单,就是对比不同表数据的时间戳,只要时间戳不同,就同步表的数据。此外,使用P2P加速局域网的同步速度,也是非常关键的一步。

项目反思

  该设计覆盖了目标企业大中小不同规模的使用场景,使用非常灵活。但是实现的过程比较复杂,需要很多领域深厚的知识。

时间: 2024-11-13 09:41:21

架构反思案例之“分布式”的架构案例的相关文章

图解:传统架构到分布式服务化架构的架构演进

前言 从计算机在中国进入,到互联网时代再到现在的移动互联网时代和正在向我们走来的大数据时代和AI时代,项目架构也随着时代的改变在不断的演化升级,从单一应用架构到现在的分布式服务化架构,经历了很大的发展和改变.下面就是利用图片给大家讲解发展过程. 分析:刚开始互联网因为电脑的普及不够广泛,互联网使用成本高,用户量比较低,所以一开始单应用架构架构就可以满足需求,也不存在太大应用架构上的可优化点,主要优化点还是停留在带宽上,我们都知道从2G网络到3G网络再到现在的4G网络,在这个过程中上面的架构是可以

大型网站技术架构--核心原理和案例分析 大型网站架构演化(一)

如果把上世纪90年代CERN正式发布web标准和第一个WEB服务的出现当作互联网的开始,那么互联网站的发展之经历了短短20多年的时间.在20多年的时间里,互联网的世界发生了变化,今天,全球有近一半的人口使用互联网,人们的生活因为互联网而产生了巨大的变化.从信息检索到即使通信,从电子购物到文化娱乐,互联网渗透到生活的每一个 角落,而且这种趋势还在蔓延.因为互联网,我们的世界正变得越来越小. 同时我们也看到,在互联网跨越式发展进程中,在电子商务火热的市场背后却是不堪重负的网站架构.某些B2C网站逢促

ENode框架Conference案例分析系列之 - 架构设计

Conference架构概述 先贴一下Conference案例的在线地址,UI因为完全拿了微软的实现,所以都是英文的,以后我有空再改为中文的. Conference后台会议管理:http://www.enode.me/conference Conference前台预定座位:http://www.enode.me/registration ENode论坛开源案例:http://www.enode.me/post ENode开源项目地址:https://github.com/tangxuehua/e

大型电商分布式网站架构设计与实践,Java分布式架构,Java事务分布式高并发-视频教程

15套java架构师.集群.高可用.高可扩 展.高性能.高并发.性能优化.Spring boot.Redis.ActiveMQ.Nginx.Mycat.Netty.Jvm大型分布 式项目实战视频教程 视频课程包含: 高级Java架构师包含:Spring boot.Spring  cloud.Dubbo.Redis.ActiveMQ.Nginx.Mycat. Spring.MongoDB.ZeroMQ.Git.Nosql.Jvm.Mecached.Netty.Nio.Mina.性能调优.高并发.

大型分布式网站架构设计与实践

大型分布式网站架构设计与实践(一线工作经验总结,囊括大型分布式网站所需技术的全貌.架构设计的核心原理与典型案例.常见问题及解决方案,有细节.接地气/京东:大型分布式网站所需技术的全貌.架构设计的核心原理与典型案例.常见问题及解决方案) 陈康贤 著   ISBN 978-7-121-23885-7 2014年9月出版 定价:79.00元 460页 16开 编辑推荐 --作者一直奋战在阿里巴巴及淘宝网一线,书中所讲是其亲身经验的总结,显得更加实战和珍贵. --全面介绍大型分布式网站架构所涉及的技术细

Hive架构层面优化之六分布式缓存

案例: Hadoop jar引用:hadoop jar -libjars aa.jar bb.jar …. jar包会被上传到hdfs,然后分发到每个datanode 假设有20个jar文件,每天jar文件被上传上万次,分发达上万次(百G级),造成很严重的IO开销. 如何使这些jar包在HDFS上进行缓存,同一个jar只需上传和分发一次,后续所有的job可以节省此jar的上传和分发的开销,从而减少不必要的上传和分发呢? 解决方案:使用分布式缓存 MapReduce如何使用分布式缓存 Hadoop

分布式缓存Hazelcast案例一

分布式缓存Hazelcast案例一 Hazelcast IMDG Architecture 今天先到这儿,希望对您技术领导力, 企业管理,物联网,  系统架构设计与评估,团队管理, 项目管理, 产品管理,团队建设 有参考作用 , 您可能感兴趣的文章: 2017-2018年Scrum状态调查报告2016年测试状态调查2017年IT行业测试调查报告项目管理-习惯发生范围变更前端性能核对表Checklist-2018大型电商互联网性能优化案例国际化环境下系统架构演化微服务架构设计视频直播平台的系统架构

Java企业架构--大兴互联网企业分布式平台

声明:该框架面向企业,是大型互联网分布式企业架构,后期会介绍linux上部署高可用集群项目.      平台简介 Jeesz是一个分布式的框架,提供项目模块化.服务化.热插拔的思想,高度封装安全性的Java EE快速开发平台. Jeesz本身集成Dubbo服务管控.Zookeeper注册中心.Redis分布式缓存技术.FastDFS分布式文件系统.ActiveMQ异步消息中间件.Nginx负载均衡等分布式技术 使用Maven做项目管理,项目模块化,提高项目的易开发性.扩展性 以Spring Fr

日均百万PV架构第四弹(分布式监控)

应该能更早出的第四弹,被虚拟机错误搅乱,迟迟没有上线,不得已将所有 节点用puppet完成上线,稍后整理第五弹(非你不可自动化)也即将上线 : ) zabbix简介    zabbix是基于Php的开源监控软件    基于多重数据采集 SNMP , Agent , Ping , Port    多重告警通知 Mail , Jabber , SMS    可以完成多种操作平台甚至于设备(route,switch,io)的监控工作    易于定制重用(模板机制,函数),甚至于二次开发    告警及时