2016年4月,我所在的公司承担了某通信设备生产商的CRM集成系统开发工作,我在该项目中担任系统架构设计师的职务,主要工作是负责系统的需求分析、架构设计及部分代码开发。该系统属于CRM系统下面的一个子系统,主要功能是集成各销售渠道系统的手机销售记录和设备权益相关的数据信息,后台自动更新设备的基础权益和增值权益信息并提供相应的查询服务。。。。。
### 多层分布式结构系统开发的关键知识点
#### 一、项目背景与目标
- **项目启动时间**:2016年4月
- **项目背景**:为应对通信设备生产商之间的激烈竞争,提高服务质量与客户满意度,降低服务成本,需要开发一个能够高效管理手机销售记录及相关权益数据的CRM集成系统。
- **项目目标**:构建一个多层分布式结构系统,实现各销售渠道系统中的手机销售记录和设备权益数据的有效集成与管理。
#### 二、系统架构设计
- **架构设计师职责**:需求分析、架构设计与部分代码开发。
- **系统组成**:包括后台管理应用、数据处理应用和前置机三个子系统。
- **架构选择**:多层BS架构。
- **表示层**:采用ExtJS+HTML技术栈,原因包括团队熟悉度高、UI组件丰富且无需额外支出。
- **业务层**:采用Spring框架实现,优点在于易于管理和扩展。
- **数据操作层**:采用iBatis框架实现,便于数据访问与处理。
- **数据层**:使用Oracle数据库进行存储,确保数据安全性和可靠性。
#### 三、关键技术和实现细节
1. **表示层**(ExtJS+HTML)
- **技术优势**:团队熟悉度高,UI组件丰富,无需额外支出。
- **应用场景**:适用于后台系统维护和数据查询,对UI要求不高。
2. **应用服务器层**(Spring+iBatis)
- **Spring框架**:实现业务逻辑和数据存取操作,支持依赖注入和服务管理。
- **iBatis框架**:简化SQL语句的编写,提供数据库交互能力。
3. **数据层**(Oracle数据库)
- **数据存储**:采用Oracle数据库进行数据持久化,确保数据安全性和一致性。
#### 四、性能优化与测试
- **系统上线时间**:2016年12月。
- **性能表现**:
- **查询服务接口**:响应时间不超过1秒。
- **设备数据集成**:1小时内完成所有数据集成至临时表。
- **权益计算**:4小时内完成基础权益和增值权益的计算与初始化。
- **存在的问题**:
- 当上游系统维护时,会有大量重复数据进入系统,导致MQ压力增加。
- 每日新增设备权益初始化时间超出预期。
- **解决方案**:
- 在MQ发送前进行数据清洗,减少重复数据。
- 调整架构以应对高峰期数据压力。
#### 五、总结
- **优化措施**:通过硬件和软件优化提高系统性能,如增加集群服务器数量、采用MQ消息多列多并发消费方式等。
- **应用拆分**:将核心应用进行拆分,针对性地增加资源,降低成本。
- **成果**:系统上线稳定运行,满足了高并发、高性能、高效率的需求,得到了客户的高度评价。
- **改进方向**:继续探索新的技术方案,解决现有架构中的不足之处,提升系统的整体性能。
多层分布式结构系统的设计与开发涉及多个关键技术点,包括但不限于表示层技术的选择、业务层框架的应用、数据层的安全保障等方面。通过对这些技术的合理运用与不断优化,可以有效提升系统的整体性能,满足日益增长的业务需求。