一个电商项目的Web服务化改造2:现有项目的5个问题
2016-04-30 14:25
274 查看
最近一直在做一个电商项目,需要把原有单系统架构的项目,改造成基于服务的架构,SOA。 有点挑战,做完了,会有很大进步,
1.现有项目的问题
1.1代码风格不统一 不同的人,风格不同 同一个人,风格也不同
1.2重复劳动 类似的CRUD,每个人都写了一遍。 同一个功能,同一段代码,不同的人,有重复实现。
1.3系统模块之间,划分不清晰 Front前台商城系统、Backend后台运营系统、Mobile移动App,service都在同一个。 Mybatis映射文件mapper.xml中的sql,同时考虑了Front和Backend两种查询情况。
1.4性能瓶颈,资源浪费 1台服务器性能不够,只能再增加另外1台。 当服务器过多的时候,不能很好地判断系统瓶颈 资源没能合理利用:占用资源,而不干活 性能瓶颈:查询商品、订单支付,不同业务的系统瓶颈不同,分离的情况下,可以单独做集群。
根据不同的业务场景,做针对性的优化。 1.5分工合作 模块之间,存在依赖。 订单依赖商品和库存。 写订单逻辑的时候,突然发现商品和库存逻辑有问题,又需要去修改相关代码。 同一个人,需要准确知道太多细节的实现过程。 理论上,只需要知道接口,输入和输出。
开发效率低:以上5个原因导致
问题是存在的,用简洁的语言把它描述出来,需要对问题有深刻的理解。
比如性能瓶颈,看淘宝哥们写的书,已经大致懂了,但列出要点,把别人的长篇大论,浓缩成自己的几句理解,有点难度。
个人观察:能够认识到上面5个问题,比解决这5个问题更有必要,更有价值。
如果一个人连现有项目关键的问题,都意识不到,还指望他去把这些问题解决吗?
我做事比较喜欢讲究效率,不愿意接受一天的事却花一周去解决。可以接受一周的事情一天完成,然后自己学习四天。
人生短暂~
1.现有项目的问题
1.1代码风格不统一 不同的人,风格不同 同一个人,风格也不同
1.2重复劳动 类似的CRUD,每个人都写了一遍。 同一个功能,同一段代码,不同的人,有重复实现。
1.3系统模块之间,划分不清晰 Front前台商城系统、Backend后台运营系统、Mobile移动App,service都在同一个。 Mybatis映射文件mapper.xml中的sql,同时考虑了Front和Backend两种查询情况。
1.4性能瓶颈,资源浪费 1台服务器性能不够,只能再增加另外1台。 当服务器过多的时候,不能很好地判断系统瓶颈 资源没能合理利用:占用资源,而不干活 性能瓶颈:查询商品、订单支付,不同业务的系统瓶颈不同,分离的情况下,可以单独做集群。
根据不同的业务场景,做针对性的优化。 1.5分工合作 模块之间,存在依赖。 订单依赖商品和库存。 写订单逻辑的时候,突然发现商品和库存逻辑有问题,又需要去修改相关代码。 同一个人,需要准确知道太多细节的实现过程。 理论上,只需要知道接口,输入和输出。
开发效率低:以上5个原因导致
问题是存在的,用简洁的语言把它描述出来,需要对问题有深刻的理解。
比如性能瓶颈,看淘宝哥们写的书,已经大致懂了,但列出要点,把别人的长篇大论,浓缩成自己的几句理解,有点难度。
个人观察:能够认识到上面5个问题,比解决这5个问题更有必要,更有价值。
如果一个人连现有项目关键的问题,都意识不到,还指望他去把这些问题解决吗?
我做事比较喜欢讲究效率,不愿意接受一天的事却花一周去解决。可以接受一周的事情一天完成,然后自己学习四天。
人生短暂~
相关文章推荐
- 第88课:SparkStreaming从Flume Poll数据案例实战和内部源码解密
- 一个电商项目的Web服务化改造2:现有项目的5个问题
- Linux文件读写权限
- C#操作xml SelectNodes,SelectSingleNode总是返回NULL 与 xPath 介绍
- 数据结构-Trie树
- windows系统下Python3.5.1安装教程
- algorithm 题集一 (16.04.30)
- 第三方支付接口申请和开发
- 十、森林与并查集---(5)并查集按秩合并优化
- Python 深浅拷贝
- 51Nod-1135-原根
- 打劫房屋 III
- 1.Ubuntu Server下搭建LAMP环境
- 微信滑动底部菜单渐变效果
- 树上倍增实现lca
- 【leetcode】287. Find the Duplicate Number
- hdu2533:N皇后问题(dfs)
- POJ-1458 Common Subsequence ( DP )
- jquery 应用小结
- myeclipse 2014新建maven web 项目步骤