开发者社区> coderzs> 正文

概括几种项目类型使用的技术路线

简介: 主流架构SSM(Spring+SpringMVC+myBatis--->或SpringBoot+myBatis)统称SSM Struct2:基本没有人使用,除非老项目维护,Struct2以前也是SSM或SSH的一部分,现在早已过时SSH(过去:stru...
+关注继续查看

主流架构SSM(Spring+SpringMVC+myBatis--->或SpringBoot+myBatis)统称SSM
Struct2:基本没有人使用,除非老项目维护,Struct2以前也是SSM或SSH的一部分,现在早已过时
SSH(过去:struts+spring+Hibernate,现在Spring+SpringMVC+Hibernate):至于SSH就不主张使用,因为 Hibernate把sql语句封装好了,有时候会sql语句会重复,不利于sql语句的优化,myBatis是自己设计sql语句在性能上肯定是自己写sql高.

Maven:Maven是一个项目管理工具,主要是管理项目中所需要的依赖包,现在的项目可以说基本全部是Maven项目,以前的老项目都是一个一个向库里拷相对应的jar包及其不方便,现在不管使用ssh还是ssm 都会使用Maven

SpringBoot集成了Spring+SpringMVC 是当前相当流行的技术,只要是新项目很多技术经理都会采用,开发方便但是值得一提的是SpringBoot的约定高于配置很多东西都要按照他约定的才行,特点如下

  1. 创建独立的Spring应用程序
  2. 嵌入的Tomcat,无需部署WAR文件
  3. 简化Maven配置
  4. 自动配置Spring
  5. 提供生产就绪型功能,如指标,健康检查和外部配置
  6. 绝对没有代码生成和对XML没有要求配置

下面主要大致概括几种项目类型使用的技术路线
类型1:WMS(仓库管理系统):
技术路线:SSM+Maven+EasyUI

类型2:CRM(客户关系管理系统):
技术路线:SSM+Maven 前端使用Bootstrap框架

类型3:P2P/一元夺宝:
技术路线:SSM+Maven+Redis+Nginx

Redis:Redis是一个高性能的key-value内存存储数据库;

redis可以把数据存储在内存中,也可以持久化到磁盘上;
redis不是一个适用于任何场景的存储应用;
Redis的优势:
性能极高 – Redis能支持超过 10W次每秒的读写频率。
丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
原子性 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作合并后的原子性执行。
下面是官方的bench-mark数据:
测试完成了50个并发执行100000个请求。
设置和获取的值是一个256字节字符串。
Linuxbox是运行Linux2.6,这是X3320Xeon2.5ghz。
文本执行使用loopback接口(127.0.0.1)。
结果:读的速度是110000次/s,写的速度是81000次/s。
新浪微博(全球最大的redis集群)淘宝 腾讯微博都在使用

Nginx:原理就是反向代理

作用:1.请求分发(不同请求分发到不同服务器上,例如www/aa... www/bb... www/cc... 可以设置aa请求到指定服务器 bb请求到指定服务器 cc请求到指定服务器)
2.负载均衡 (设置负载均衡策略 比如ip_Hash不同的ip访问不同的服务器 每次都会访问固定的服务器 这样对应的ip的缓存也会)
3.处理静态资源 可以将所有的静态资源 如:图片上传到指定的路径的文件夹里

类型4:电商
技术路线:SSM+Maven+Redis+Nginx+Dubbo+ActiveMQ
Dubbo:dubbo是一个阿里巴巴开发的开源分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案

Dubbo的优势:
1、使用简单
2、部署轻盈
3、方便二次开发

Dubbo的应用场景:当网站变大后,不可避免的需要拆分应用进行服务化,以提高开发效率,调优性能,节省关键竞争资源等。
当服务越来越多时,服务的URL地址信息就会爆炸式增长,配置管理变得非常困难,F5硬件负载均衡器的单点压力也越来越大。
当进一步发展,服务间依赖关系变得错踪复杂,甚至分不清哪个应用要在哪个应用之前启动,架构师都不能完整的描述应用的架构关系。
接着,服务的调用量越来越大,服务的容量问题就暴露出来,这个服务需要多少机器支撑?什么时候该加机器?

使用dubbo前要先安装使用zookeeper注册服务 分布式下有很多服务
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务
注册中心的作用:
1、服务端服务的注册和客户端服务的调用
2、提高系统的可用性
3、提高系统的可伸缩性
4、集中管理服务

ActiveMQ:消息中间件是在分布式环境中,两个或多个独立运行的系统之间,提供消息通讯作用的中介。(类似的还有RocketMQ,Kafka)
消息中间件的主要应用场景:
在多个系统间进行通讯的时候,通常会要求:
(1)可靠传输,数据不能丢,有的时候,也会要求不能重复传输
(2)异步传输,否则各个系统同步发送接收数据,相互等待,造成系统性能低下
我简单列举几个吧:
商品系统在确认订单后,发送一个“生产订单”的主题消息到ActiveMQ,订单系统收到该主题消息后会做相应的生产订单及相关的所有业务操作。
在支付界面中,点击确认支付,调用第三方支付接口,支付成功后回调我们的支付系统,然后支付系统会发送一个“支付成功”的主题消息到ActiveMQ,仓储系统收到该主题消息后会做库存的相关操作及其相应的业务。
在网页静态化中,我们修改了某些数据,那么会发送一个“生成静态化”的队列消息到ActiveMQ,负责生成静态化页面的方法接收到该消息后,从新生成静态化页面,从而达到更新页面数据的目的。

不管什么应用基本上都是使用这些技术 SSM是主流 越来越多的人使用SpringBoot,搜索率在2016年就高于SpringMVC

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
14247 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
28746 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,大概有三种登录方式:
13421 0
使用C#开发Metro 风格应用的路线图 -- 触屏操作
原文 http://www.cnblogs.com/icuit/archive/2012/05/01/2478312.html win8支持多点触摸技术,而我们在屏幕上所做的各种操作,也最终转换为输入,包括 操作 描述 Tap 一个指头轻点一下屏幕 Hold 一个指头按住屏...
926 0
UploadiFive jquery html5上传插件使用[带项目源码]
UploadiFive jquery html5上传插件使用[带项目源码] 插件地址:http://www.uploadify.com/ 插件文档:http://www.uploadify.com/documentation/
49 0
利刃 MVVMLight 1:MVVMLight介绍以及在项目中的使用
原文:利刃 MVVMLight 1:MVVMLight介绍以及在项目中的使用 一、MVVM 和 MVVMLight介绍 MVVM是Model-View-ViewModel的简写。类似于目前比较流行的MVC、MVP设计模式,主要目的是为了分离视图(View)和模型(Model)的耦合。
1256 0
+关注
coderzs
90后阳光青年,现就职于电信研究院Java高级开发工程师,对Java ,iOS,H5, C++等方向有一定的涉足。
44
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载