(1)Spring:Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring 块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。
每个模块的功能如下:
核心容器核心容器提供 Spring 框架的基本功能。核心容器的主要组是 BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转 (IOC) 模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。
Spring 上下文Spring 上下文是一个配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企业服务,例如 JNDI、EJB、、国际化、校验和调度功能。
Spring AOP通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖 EJB 组件,就可以将声明性事务管理集成到应用程序中。
Spring DAOJDBC DAO 抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构。
Spring ORMSpring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。
Spring Web 模块Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。所以,Spring 框架支持与 Jakarta Struts 的集成。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。
Spring MVC 框架MVC 框架是一个全功能的构建 Web 应用程序的 MVC 实现。通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSPVelocity、Tiles、iText 和 POI。
spring aop应用场景Spring 框架的功能可以用在任何 J2EE 服务器中,大多数功能也适用于不受管理的环境。Spring 的核心要点是:支持不绑定到特定 J2EE 服务的可重用业务和数据访问对象。
(2)Spring BootSpring框架功能很强大,但是就算是一个很简单的项目,我们也要配置很多东西。因此就有了Spring Boot框架,它的作用很简单,就是帮我们自动配置。Spring Boot框架的核心就是自动配置,只要存在相应的jar包,Spring就帮我们自动配置。如果默认配置不能满足需求,我们还可以替换掉自动配置类,使用我们自己的配置。另外,Spring Boot还集成了嵌入式的Web服务器,系统监控等很多有用的功,让我们快速构建企业及应用程序
(3)JSF(中文名:杰夫):是Jingdong Service Framework (京东服务框架)的缩写,JSF是SAF的演进(研发版本号:SAF210)完全自主研发的高性能服务框架;它据有如下的特性:
1.高效RPC调用,20线程场景下调用效率比SAF高30%以上;
2.高可用的注册中心,完备的容灾特性;
3.服务端口同时支持TCP与HTTP协议调用,支持跨语言调用,构造一个HTTP POST请求即可对接口进行测试;
4.支持msgpack、json等多种序列化格式,支持数据压缩;
5.提供黑白名单、负载均衡、provider动态分组、动态切换调用分组等服务治理功能;
6.提供对接口-方法的调用次数、平均耗时等在线监控报表功能;
7.兼容SAF协议,可以调用SAF1.X接口;
8.全部模块均为自主研发,自主设计应用层JSF协议;各模块功能可控,可扩展性较好;
(4)jmq(京东):是系统技术部消息组自主研发的,提供可靠传递消息及数据的消息中间件平台,具有高的可用性、扩展性和运维性
1.技术标准自定义协议规范zookeeper作为分布式协调器
2.高可用采用Master/Slave模式部署,支持Failover采用同步发送、消息持久化,防止数据丢失消息异步归档到云存储,便于故障跟踪统一的异常消息重试服务,便于容错
3.高性能自定义消息序列化,默认开启压缩批量发送和接收基于Netty4,采NIO,EPOLL模型更轻量级的数据存储模型,消息存储一份,减少拷贝,支持组提交,更快的索引,消息积压不影响写入速度内存镜像文件,更少的内存拷贝操作
4. 轻客户端只和Broker通信内置管理和性能采集协议较合理的超时时间设置
批量发送和消费,消费者为拉模式支持二阶段事务支持业务ID顺序消费(服务端BROKER数量调整或网络异常容错会破坏顺序)支持跨机房部署,就近发送和消费
5.更完善集一组支持多个节点,主、从、备份类型主从默认同步复制,可以降级为异步复制,备份节点异步复制更完善的主从选举,从节点可以从Agent同步主节点据,防止数据不一致支持从节点和备份节点消费
6. 管理监控管理端配置消费策略,生产策略,消息回放更丰富的监控图表
(5)hadoopHadoop是Apache组织的一个分布式计算框架(java语言),其最核心的设计就是:HDFS 和MapReduce,HDFS实现存储,MapReduce实现原理分析处理。
(6)stormStorm是一个分布式计算框架,主要使用Clojure和Java语言编写。Storm框架的核心由7个部分组成,它们同时也是Storm的基本组成部分。
Topology(拓扑) 一个拓扑是一个图的计算。用户在一个拓扑的每个节点包含处理逻辑,节点之间的链接显示数据应该如何在节点之间传递。Topology的运行是很简单的。
Stream(流) 流是Storm的核心抽象。一个流是一个无界Tuple序列,Tuple可以包含整型、长整型、短整型、字节、字符、双精度数、浮点数、布尔值和字节数组。用户可以通过定义序列化器,在本机Tuple使用自定义类型。
Spout(龙卷) Spout是Topology流的来源。一般Spout从外部来源读取Tuple,提交到Topology。Spout可分为可靠的和不可靠的两种模式。Spout可以发出超过一个流。
Bolt(闪电) Topology中的所有处理都在Bolt中完成。Bolt可以完成过滤、业务处理、连接运算、连接、访问数据库等业务。Bolt可以做简单的流的转换,发出超过一个流,主要方法是execute方法。完全可以在Bolt中启动新的线程做异步处理。
Stream grouping(流分组) 流分组用于在Bolt的任务中定义流应该如何分区。Storm有8个
内置的流分组接口:随机分组(shuffle grouping)、字段分组(Fields grouping)、部分关键字分组(Partial key grouping)、全部分组(All grouping)、全局分组(Global grouping)、无分组(None grouping)、直接分组(Direct grouping)、本地或者随机分组(Local or shuffle grouping)。
Task(任务) 每个Spout或者Bolt在集执行许多任务。每个任务对应一个线程的执行,流分组定义如何从一个任务集到另一个任务集发送Tuple。可通过TopologyBuild类的setSpout()和setBolt()方法来设置每个Spout或者Bolt的并行度。
Worker(工作进程) Topology跨一个或多个Worker节点的进程执行。每个Worker节点的进程是一个物理的JVM和Topology执行所有任务的一个子集。
(7)hive1.hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。2.Hive是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可
以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称为 HQL,它允许熟悉 SQL 的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 reducer 来处理内建的 mapper 和 reducer 无法完成的复杂的分析工作。
(8)Kafka:Apache Kafka是一个开源消息系统,由Scala写成。是由Apache软件基金会开发的一个开源消息系统项目,该项目的目标是为处理实时数据提供一个统一、高通量、低等待的平台。Kafka是一个分布式消息队列:生产者、消费者的功能。它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是JMS规范的实现。 Kafka对消息保存时根据Topic进行归类,发送消息者称为Producer,消息接受者称为Consumer,此外kafka集有多个kafka实例组成,每个实例(server)成为broker。无论是kafka集,还是producer和consumer都依赖于zookeeper集保存一些meta信息,来保证系统可用性

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。