1.项目背景公司主要从事健康管理行业,有大量的客户;而这些客户会分配给公司内部的坐席,坐席会把本公司的产品向客户进行销售,这个过程需要一个系统去维护和数据存储。2.项目功能丝路系统是一个大型资源管理系统,由客资系统、联络系统、软*程序、订单系统、物流系统、鉴权系统、售后服务、商品管理、用户管理等多个子系统构成。3.开发准备和环境搭建使用环境:windowserver2016、centos。使用工具:Visual Studio2019、MySql、Orcale、SqlServer、Redis、rabbitmq。使用框架:在.net core框架下进行开发。涉及到的组件有efcore、quartz、dapper、sqlsugar、signalr、csredis、npoi、automapper等。4.个人职责① .联络系统1) 因为项目中同一时间点打接*量较大,因此与通话记录相关的接口操作非常频繁,单体项目下压力过大,吞吐量也跟不上,所以需要对程序进行负载,多服务器分摊压力,引入了consul,在三台服务器中使用服务注册和发现+健康检查,同时使用ocelot进行请求转发,将consul配置到网关上使用轮询转发请求。2) 由于项目中使用了大量的缓存操作,因此在项目中引入redis,本人通过csredis框架封装了一套redis底层操作接口,涉及到五种数据类型的(string/set/zset/hash/list),并配置了主从哨兵的集群方式。3) 由于项目中主要用到关系星数据库是Sqlserver,数据量非常庞大,因此做了读写分离,一个主库,两个从库;配置事务复制,通过发布订阅的模式,主库用于写数据,从库只负责数据的读取。4) 因为项目是全程依赖注入,本人在项目中引用了autofac,替换了.netcore中自带的依赖注入,并引入了aop功能。5) IVR进线:客户同一时刻打入的*,通过华为的IVR流程转发到指定的接口,接口使用redis的分布式锁Setnx;坐席未接通的情况生成呼损任务,呼损任务会通过rabbitmq中的直连交换机的形式进行异步消费处理,减压削峰。坐席接通并通话结束后,会保存通话记录,保存通话记录的接口中加入双重锁以及分片处理。6) 通话记录查询:每一通*记录,都可以在该模块下查询到,由于每天的

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!

下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论