直接上图
背景
最近工作不是很紧,就想着自己着手打造一款产品,解决一些问题,然后综合身边运维同事的一些问题之后,有了该产品的原型。
问题现状
我们是给华夏提供的信息化平台,也就是我们的甲方,然后他们有自己内部的沟通软件,类似于飞秋这样的即时工具,所以用户都是通过该工具寻找我们运维咨询问题,然而我们每月都会有运维报事的提交反馈,然后会根据报事量要债,甲方爸爸又比较强势,所以每次的报事量都会砍压,多了说系统问题,真的是为难。
解决方案
针对该问题,提供一款webim,嵌入到系统中,然后通过系统来咨询,这样,每次沟通的问题都能记录下来,然后每月再生成运维的报事量等一些统计报表吧,这样一来能提高报事量的准确性,二来也能减轻他们的一些工作。
以上是改项目萌发的背景。
要解决的问题有了,然后根据问题,自己大致画了下系统的架构设计,不足之处也请各位多多指教
设计要点
1. 考虑到公司多套系统,对浏览器兼容的问题,所以采用signlar作为主要手段,之所以不采用webscokt是因为我们一些系统不支持H5,也就无法使用了
2. 系统的及时性以及负载能力,所以采用redis作为缓存数据库,所有与数据库的交互优先使用redis
3. 基于redis的固化以及稳定性,所以最终的数据还是要放入物理数据库,所以存入redis的一些数据,要通过定时任务quartz定时写入sqlserver中
4. 既然是独立的一个产品,就要考虑其实用性、可扩展性、易于维护等,因为本产品的要嵌入其他系统中,所以要便于引用,所以最终形式便是其他系统引用本产品的一个js文件,然后调用一个初始化方法即可完成
代码实现
.Net Core +signlar + redis webim代码实现(一)
.Net Core +signlar + redis webim代码实现(二)
后序
不会做产品的程序猿,不是一个好的项目经理,而我一直是打杂、端茶倒水的那一位~