假如再让你重新设计一个系统,你能想到之前一个系统所碰到的问题吗?
2017-11-09 11:06
281 查看
系统包括下面几个端 服务端 、客户端、后台、前端
首先要考虑的问题是各个端的通信协议,以及接口标准规范,服务端的数据库字段定义规范,以及各种实体(vo、dto、pojo、entity)的定义规范,详情可以参考阿里出的那个规范。
其次是服务端必须每个层都写测试用例,服务端的参数需要有效验证,防止接口直接调用。重要的逻辑需要打印日志,发版本之后两天日志为最高级别,防止问题找不到,或者不能及时找到。
接下来是整体的架构
1、分层(关注点分离) 依赖倒置原则和测试驱动开发
展示层、控制层、服务层(业务层)、数据访问层,(牵扯到敏捷开发,以及后续的springboot的微服务,当服务达到一个高级别的时候。)
2、事件驱动架构 分布式异步架构模式
事件队列(Event Queue)、调停者(Mediator)、事件通道(Event Channel)和事件处理器(Event Processor)
企业服务总线、队列或者集线器可以作为事件调停者
3、 微内核架构 插件架构(plugin architecture)模式
产品型系统
4、微服务架构 替代soa
首先要考虑的问题是各个端的通信协议,以及接口标准规范,服务端的数据库字段定义规范,以及各种实体(vo、dto、pojo、entity)的定义规范,详情可以参考阿里出的那个规范。
其次是服务端必须每个层都写测试用例,服务端的参数需要有效验证,防止接口直接调用。重要的逻辑需要打印日志,发版本之后两天日志为最高级别,防止问题找不到,或者不能及时找到。
接下来是整体的架构
1、分层(关注点分离) 依赖倒置原则和测试驱动开发
展示层、控制层、服务层(业务层)、数据访问层,(牵扯到敏捷开发,以及后续的springboot的微服务,当服务达到一个高级别的时候。)
2、事件驱动架构 分布式异步架构模式
事件队列(Event Queue)、调停者(Mediator)、事件通道(Event Channel)和事件处理器(Event Processor)
企业服务总线、队列或者集线器可以作为事件调停者
3、 微内核架构 插件架构(plugin architecture)模式
产品型系统
4、微服务架构 替代soa
相关文章推荐
- CB2010的一个BUG:在Win2K SP4之前的系统上会出问题
- 今天用Visual C#为客户做一个数据下载分析系统,碰到一个问题 未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。
- 我开发一个jsp系统时碰到的问题
- 轻松解决keil4跟keil5在同一个系统下不能共存的问题
- 遇到一个Linux文件系统因bios时间错误变成只读的问题
- Android 8.0系统上使用WindowManager添加view的一个问题
- 今天在用acegi做系统验证的时候碰到几个问题
- 一个fork()系统调用的问题
- 解决vc++DEBUG ERROR问题前几天师弟调试程序的时候出现了这样一个错误,出错的位置是在delete [] 一个动态分配的数组时出现的。 经过调查发现错误是因为他之前在给数组赋值的时候越界了
- Quarz使用时碰到的一个问题
- centos环境下moosefs(mfs)文件系统的安装部署以及碰到的问题(chunkserver启动时报错wrong meta id)
- 我碰到Cookie的一个问题
- Linux下高cpu解决方案(转载) 昨天搞定了一个十万火急的issue,客户抱怨产品升级后系统会变慢和CPU使用率相当高,客户脾气很大,声称不尽快解决这个问题就退货,弄得我们 R&D压力很大,解决这
- 周宁:做一个生意之前,请自问自己6个问题
- 从零开始实现一个电子商务网站----解决碰到的问题(六)
- VB.NET函数的返回值问题(从CSDN论坛一个问题想到的)
- 这几天碰到一个JS问题,百思不得其解,原来是命名问题
- 遇到一个诡异目前无解的系统部署问题
- 重装系统后Myeclipse遇到的项目配置问题--一个菜鸟的经历!
- 一个NFS缓存管理包的bug导致文件系统满的问题和解决方法