Camstar 开发:缓存的作用与分析

本文探讨了Camstar MES系统在开发中遇到的性能、团队并行开发、学习成本和容灾问题。通过引入缓存管理,可以显著改善这些问题。缓存不仅能够提高系统性能,还能解决团队开发中的同步问题,降低学习成本,并在一定程度上增强容灾能力。文章分析了缓存的实现策略,包括Camstar与.Net的分离、合理设计缓存以及异步重发机制。总结中指出,缓存虽有空间和维护成本的增加,但整体提升了系统的可扩展性和降低了耦合性。未来研究将关注分布式系统对Camstar的影响。
摘要由CSDN通过智能技术生成

目录

 

1 引言

2 现系统存在的问题

2.1 性能问题

2.2 团队并行开发问题

2.3 学习成本问题

2.4 容灾问题

3 新的系统架构

4 问题解决

4.1 性能问题解决

4.2 团队开发问题解决

4.3 学习成本问题改善

4.4 容灾问题改善

5 实现分析

5.1  Camstar/.Net分离

5.2 合理设计缓存

5.3 异步重发

6 开发实例

7 总结

7.1 加入缓存的优点

7.2 加入缓存的缺点

7.3 未来研究方向


1 引言

我做Camstar产品的开发快俩年了,由于一直是在项目现场工作,对Camstar的开发也有一定的经验和理解。对这个产品的开发,我是一直在吐槽:开发不方便,问题又多,技术支持困难等。然而真正思考一下,这些问题其实不是Camstar这个产品不友好,不高大上,而是将这个产品具体实施到项目上的时候,整体开发的设计不合理。

从技术角度去看Camstar这个产品,从他的designer设计,到.Net代码,到Portal页面设计,都是很先进的,其中的很多技术到目前都是频繁运用的,更不用说Camstar这个产品已经有着20多年的历史了。然而一个完整的系统,其实是复合木桶定律的,一个水桶能装多少水取决于它最短的那块木板。如果项目开发还是本着“开箱即用”的原则照搬照套,从技术角度看,这是不合理的。

将一个MES系统比喻成一个人,那么Camstar就是这个人的大脑,头部。Camstar以外的技术就是这个人的其他身体器官。目前大多数项目是随随便便给这个“人”装了一个“身体”,打着产品的“开箱即用”口号,产生了一个大头娃娃的畸形人。我的博文主要讨论如何将基于Camstar的MES系统打造成一个“健壮的人”,本篇主要讨论在Camstar架构中加入缓存管理以及这样做的理由。

 

2 现系统存在的问题

发现问题才能解决问题,从开发的角度和项目角度,我主要总结出以下几点可以通过缓存管理解决改善的问题。

2.1 性能问题

引入缓存,大家首先想到的应该是可以提高性能。MES系统的用户数量级不会很高,通常情况下是不会触碰到系统性能瓶颈。然而性能问题还是有的。

  1. Camstar的标准功能就可能遇到性能问题。比如物料消耗,由于Camstar对于每一个物料都可以做到严格把控,而物料和物料之间又可能存在递归嵌套。因此一个物料消耗较多的产品,在做物料消耗的时候,需要的系统资源开销是非常大的。如图2-1所示。
    (由于知识产权等问题,博客中我不会贴出具体的架构图,设计图等,最多是我自己画的简化版,后面各种图同理,不再解释)
    图2-1
  2. 在Camstar中客制化各种功能模块容易出现性能问题。在实际项目中,会客制化各种功能模块,其中可能会有很多压根不属于MES的功能模块。针对这些功能模块,是很难或者完全不能复用Camstar的标准功能,纯粹是将这些功能强塞进MES中。此时Camstar扮演的角色就只是一个开发平台,而不是标准产品。用Camstar开发颇有一种拿着大炮打蚊子的感觉。
     

2.2 团队并行开发问题

Camstar实际开发简单来说可以分三步:

对于一些依赖关系较重的功能模块,通常会分派给同一个开发人员做。假如这个功能模块要做100人天,老板想缩减项目周期,安排两个人做,能缩成50天吗?答案是不能的。因为Camstar在实际开发中基本上是面向实现编程的,两个人做同一个东西,俩人的代码依赖会非常严重,一个人代码有修改,另一个人基本上也要改,并且这个改动非常麻烦:假如A程序员修改了某个个建模,某块逻辑。那么他需要将本次修改的差异导出,包括MDB差异和C#代码,B程序员将这些修改内容导入到自己的开发环境,导入成功后,才能继续开发。如果不这样做的话,AB两个程序员在分别开发完自己的功能后,代码是很难整合的。 

  1. 使用Designer建模;
  2. PortalStudio设计页面;
  3. 使用Visual Studio写C#代码的业务算法。

2.3 学习成本问题

你问一个程序员,你会JAVA,C++,Redis,Go等吗?通常情况下就算不会也了解,不了解也听过。然而你问别人,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值