一个word合并项目的分布式架构设计 项目背景与问题起源 我们要给一个客户做word生成报告以及报告合并的工作,要合并的报告非常多,而且每个报告也比较大,一个多的报告大概有200页以上.我们用c#操作word,并把程序部署到了一个配置还可以的服务器上.现在大概有20几个客户端,每个客户端把生成的数据传输到服务器上,等到一组数据完整之后,会触发合并报告.我们的程序会自动生成N份报告,并把这N份报告合并成一个大的报告. 但随着要合并的报告越来越多,word经常会报一些异常,这些异常是单机版从来没有出…
项目原因: 参与过各种 分布式项目,有 Socket,Remoting,WCF,当然还有最常用的可以跨平台的 WebService. 分布式编码的时间浪费: 但是,无一例外的,开发分布式程序的开发遵循 如下规律: >那就是 得先写服务端代码: >然后 通过工具生成代理类:(特别浪费时间) >客户端代码 调用代理类 完成业务: 这种编码规律,就有一个问题: 那就是 当我们调试程序时,得先以调试模式启动服务端,再以调试模式启动客户端——然后在调试中找到代码的BUG. 这种调试方式 调试一次…
拜读了大型分布式架构设计与实现,觉得该书作为入门不错,但内容过于简单,描述过于琐碎,小节之间连续性不强,不适合深入钻研学习.但为了更多的希望向架构师行业靠拢的工程师学习需要,本博客将对上书进行简化讲解. 小公司建议使用单一应用架构,中等公司建议使用垂直应用架构,大公司必须使用分布式应用架构,其中公司规模依靠用户峰值用户访问量进行判断. 分布式应用难点在于远程调用(RPC),而RPC的前提是对象的序列化和反序列化,序列化本质就是对象以二进制进行传输,反序列化就是接收到二进制数据流后恢复为对象.(若…
Java 开发环境:idea https://www.jianshu.com/p/7a824fea1ce7 从无到有构建大型电商微服务架构三个阶段SpringBoot+SpringCloud+Solr+Cas+Redis+RabbitMQ+Ehcache+Mycat+Kafka+Hadoop+Pyth... 2019.08.26 19:16:16字数 1375阅读 69 从无到有构建大型电商微服务架构三个阶段SpringBoot+SpringCloud+Solr+Cas+Redis+Rabbit…
项目原因: 参与过各种 分布式项目,有 Socket,Remoting,WCF,当然还有最常用的可以跨平台的 WebService. 分布式编码的时间浪费: 但是,无一例外的,开发分布式程序的开发遵循 如下规律: >那就是 得先写服务端代码: >然后 通过工具生成代理类:(特别浪费时间) >客户端代码 调用代理类 完成业务: 这种编码规律,就有一个问题: 那就是 当我们调试程序时,得先以调试模式启动服务端,再以调试模式启动客户端——然后在调试中找到代码的BUG. 这种调试方式 调试一次…
转载:http://space.itpub.net/17007506/viewspace-616852 腾讯QQGame游戏同时在线的玩家数量极其庞大,为了方便组织玩家组队游戏,腾讯设置了大量游戏室(房间),玩家可以选择进入属意的房间,并在此房间内找到可以加入的游戏组(牌桌.棋盘等).玩家选择进入某个房间时,必须确保此房间当前人数未满(通常上限为400),否则进入步骤将会失败.玩家在登入QQGame后,会从服务器端获取某类游戏下所有房间的当前人数数据,玩家可以据此找到未满的房间以便进入.    …
在本节我想与大家与分享一下,我所将要做的权限系统的架构和数据库的表的设计.请各位大神们对我项目中设计的不足之处进行指导,让我得以更好的写完它,留给需要它的人. 我的项目架构如下图所示: 如上图所示,在数据访问层,我采用了抽象工厂的方式,来对数据访问层和业务逻辑层解耦,当然如果你想更高大上一些,可以用第三方的框架,比如Spring.Net ,Autofac来实现.解耦的好处在于可以方便的切换数据库,当数据库变更时,只需换一下对应的数据访问DAL就行,本系列中,我所采用的是SQLServer.写到这…
1.1 基于TCP协议的RPC 1.1.1 RPC名词解释 RPC的全称是Remote Process Call,即远程过程调用,RPC的实现包括客户端和服务端,即服务调用方和服务提供方.服务调用方发送RPC请求到服务提供方,服务提供方根据请求的参数执行请求方法,并将结果返回给服务调用方,一次RPC调用完成. 1.1.2 对象的序列化 在网络上传输的数据,无论何种类型,最终都需要转化为二进制流.在面向对象的程序设计中,客户端将对象转化为二进制流发送给服务端,服务端接收数据后将二进制流转化为对象,…
CRM customer relationship management 客户管理系统 1. 干什么用的? 管理客户 维护客户关系 2. 谁去使用? 销售 班主任 项目经理 3. 需求: 1. 登录 2. 注册 3. 销售: 1. 客户列表 增加/编辑客户 2. 客户的跟进记录 增加/编辑跟进记录 3. 报名记录列表 增加/编辑报名记录 4. 缴费记录列表 增加/编辑缴费记录 4. 班主任 1. 班级列表 增加/编辑课程 2. 课程记录列表 增加/编辑课程记录 3. 学习记录列表 增加/编辑学习…
前言:PetShop是一个范例,微软用它来展示.Net企业系统开发的能力.业界有很多.Net与J2EE之争,很多数据是从微软的PetShop和Sun的PetStore而来.这样的争论不可避免带有浓厚的商业色彩,对于我们开发者而言,没有必要过多关注.然而PetShop随着版本号的不断更新,至如今基于.Net 2.0的PetShop4.0为止,整个设计逐渐变得成熟而优雅,却又非常多能够借鉴之处.PetShop是一个小型的项目,系统架构与代码都比較简单,却也凸现了很多颇有价值的设计与开发理念.本系列试…