Spring5学习(一)-官网首页阅读

来源:互联网 发布:旅游网络推广方案 编辑:程序博客网 时间:2024/05/21 15:02

Spring: the source for modern java

1. Spring Boot-BUILD(构建) ANYTHING

Spring Boot is designed to get you up and running as quickly as possible, with minimal upfront configuration of Spring. Spring Boot takes an opinionated view of building production ready applications.

2. Spring Cloud-COORDINATE(整合) ANYTHING

Built directly on Spring Boot's innovative(创新) approach(接近、靠近、方法) to enterprise Java, Spring Cloud simplifies distributed(简化分布式), microservice-style(微服务风格) architecture by implementing proven patterns(行之有效的模式) to bring resilience(弹性), reliability(可靠性), and coordination(协调) to your microservices(微服务).

3. Spring Cloud Data Flow-CONNECT ANYTHING

Connect the Enterprise(企业) to the Internet of Anything-mobile devices(任何移动设备), sensors(传感器), wearables(可穿戴设备), automobiles(汽车), and more. Spring Cloud Data Flow provides a unified(统一) service for creating composable data microservices that address streaming and ETL-based data processing patterns(基于ETL的数据处理模式).





Spring Framework 5

图片简要说明:

1. Reactor: Spring 社区发布的基于事件驱动的异步框架,不仅解耦了程序之间的强调用关系,而且有效提升了系统的多线程并发处理能力。基于 SpringBoot 环境使用 Reactor 框架十分方便。(转自:http://blog.csdn.net/shida_csdn/article/details/78194965?locationNum=10&fps=1)


2. Reactive Stack:Spring WebFlus is a non-blocking(非阻塞) web framework built from the ground up(完全地,彻底地) to take advantage of multi-core(多核处理器),next-generation processors(处理器) and handle massive numbers of concurrent connections(处理大量并发连接操作).


3. Servlet Stack:Spring MVC is built on the Servlet API and uses a synchronous blocking I/O architecture(同步阻塞I/O结构) with a one-request-per-thread model(多线程设计模式:直译为每个线程一个请求模式).


4. Netty:Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。也就是说,Netty 是一个基于NIO的客户、服务器端编程框架,使用Netty 可以确保你快速和简单的开发出一个网络应用,例如实现了某种协议的客户,服务端应用。Netty相当简化和流线化了网络应用的编程开发过程,例如,TCP和UDP的socket服务开发(转自:https://baike.baidu.com/item/Netty/10061624?fr=aladdin)。


5. Reactive Streams:响应式流从2013年开始,作为提供非阻塞背压的异步流处理标准的倡议。 它旨在解决处理元素流的问题——如何将元素流从发布者传递到订阅者,而不需要发布者阻塞,或订阅者有无限制的缓冲区或丢弃。响应式流模型非常简单——订阅者向发布者发送多个元素的异步请求。 发布者向订阅者异步发送多个或稍少的元素。(转自:https://www.cnblogs.com/IcanFixIt/p/7245377.html)。


6. MongoDB:MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。(转自:http://www.runoob.com/mongodb/mongodb-tutorial.html)。


7. Cassandra:Cassandra是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存收件箱等简单格式数据,集GoogleBigTable的数据模型与Amazon Dynamo的完全分布式的架构于一身Facebook于2008将 Cassandra 开源,此后,由于Cassandra良好的可扩展性,被Digg、Twitter等知名Web 2.0网站所采纳,成为了一种流行的分布式结构化数据存储方案。Cassandra是一个混合型的非关系的数据库,类似于Google的BigTable。其主要功能比Dynamo (分布式的Key-Value存储系统)更丰富,但支持度却不如文档存储MongoDB(介于关系数据库和非关系数据库之间的开源产品,是非关系数据库当中功能最丰富,最像关系数据库的。支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型)。它是一个网络社交云计算方面理想的数据库。(转自:https://baike.baidu.com/item/cassandra/20140772#viewPageContent)


8. Redis:Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。(转自:https://baike.baidu.com/item/Redis/6549233?fr=aladdin)


9. CouchBase:Couchbase 是一个具有高性能、可扩展性和可用性强的数据库引擎。它可以让开发人员通过 NoSQL 的键值存储(二进制或者JSON)或者使用 N1QL 的形式对数据进行操作(N1QL 是非常类似于 SQL 的一种语法操作 JSON 数据的方式)。以现在整体架构来看,Couchbase 是往分布式数据库的方向发展下去。(转自:http://blog.jiguang.cn/couchbase_distributed_storage/)。



THE RIGHT TECHNOLOGY STACK FOR THE JOB AT HAND(手头上正确的技术栈)

Developers are constantly challenged with choosing the most effective runtime, programming model and architecture for their application's requirements and team's skill-set. For example, some use cases are best handled by a technology stack based on synchronous blocking(阻塞) I/O architecture while others would be better served by an asynchronous, and non-blocking stack built on the reactive design principles(原则) described in the Reactive Streams Specification.

Reactive Spring represents(代表) a platform wide initiative(倡议) to deliver(交付、发表) reactive support at every level of the development stack—web, security, data, messaging, etc. Spring Framework 5 delivers on this vision(这一愿景) by providing a new reactive web stack called, Spring WebFlux, which is offered(提供) side-by-side (相互支持)with the traditional Spring MVC web stack. The choice is yours! 

WebFlux Reference Documentation





Spring Boot

--BUILD ANYTHING WITH SPRING BOOT

Spring Boot is the starting point for building all Spring-based applications. Spring Boot is designed to get you up and running as quickly as possible, with minimal upfront configuration of Spring.

-
Get started in seconds using Spring Initializr
-
Build anything - REST API, WebSocket, Web, Streaming, Tasks(定时任务), and more
-
Simplified Security
-
Rich support for SQL and NoSQL
-
Embedded(嵌入的) runtime support - Tomcat, Jetty, and Undertow
-
Developer productivity(生产力) tools such as live reload and auto restart
-
Curated dependencies that just work
-
Production-ready features such as tracing(跟踪), metrics(度量) and health status
-
Works in your favorite IDE - Spring Tool Suite, IntelliJ IDEA and NetBeans

Spring Boot Reference Manual

Getting Started Guide Getting Started Guide Getting Started Guide

说明:

1. WebSocket:WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端。(转自:https://baike.baidu.com/item/WebSocket/1953845?fr=aladdin)。


2. Streaming:一种数据传送技术,它把客户机收到的数据变成一个稳定连续的流,源源不断地送出,使用户听到的声音或看到的图象十分平稳,而且用户在整个文件送完之前就可以开始在屏幕上浏览文件。(转自:https://baike.baidu.com/item/Streaming/3790847?fr=aladdin)


3. Undertow:Undertow is a flexible performant web server written in java, providing both blocking and non-blocking API’s based on NIO.Undertow是一个用java编写的灵活的高性能Web服务器,提供基于NIO的阻塞和非阻塞API。(转自:http://blog.csdn.net/fayeyiwang/article/details/54729550)





Spring Cloud

--COORDINATE ANYTHING: DISTRIBUTED SYSTEMS SIMPLIFIED

Building distributed systems doesn't need to be complex(复杂的) and error-prone(易错的). Spring Cloud offers a simple and accessible(访问) programming model to the most common distributed system patterns(方式), helping developers build resilient(有弹性的), reliable(可靠的), and coordinated(协调的) applications. Spring Cloud is built on top of Spring Boot, making it easy for developers to get started and become productive quickly.


1. Service Discovery:A dynamic directory that enables client side load balancing and smart routing(支持客户端负载平衡和智能路由的动态目录)。

2. Circuit Breaker:Microservice fault tolerance with a monitoring dashboard(带有微服务容错监管的仪表盘)。

3. Configuration Server:Dynamic, centralized configuration management for your decentralized applications(分散式应用程序的动态集中式配置管理)。

4. API Gateway:Single entry(入口) point for API consumers (browsers, devices, other APIs)

5. Distributed Tracing:Automated(自动化的) application instrumentation(设备) and operational(可操作的) visibility(可见的) for distributed systems。

6. OAuth2:Support for single sign on, token relay and token exchange(支持单点登录、令牌中继和令牌交换)。

7. Consumer-Driven Contracts:Service evolution(进化、演变) patterns to support both HTTP based and message based APIs

View All

Spring Cloud Reference Manual

Getting Started Guides 

Config

Registry

Breakers

Load Balancing

Routing





Spring Cloud Data Flow

--CONNECT ANYTHING

Spring Cloud Data Flow makes it easy to build and orchestrate cloud-native data pipelines(编排云本地数据管道) for use cases such as data ingest(数据输入), real-time analytics(实时分析), and data import/export. Spring Cloud Data Flow makes it simple to connect systems by providing out of the box connectors(连接器) for the most common integration scenarios(集成方案).

-
Supports processing data in real-time streams and batch
-
Ingest(获取(某事物)), transform, analyze & store data
-
Connectors for FTP, RDBMS, Cassandra, RabbitMQ, GemFire, Redis, and much more
-
Supports modern messaging middleware(现代消息中间件) - Kafka and RabbitMQ
-
Spring Flo visual designer(FLO视觉设计师) for pipelines(管道)
-
Operational dashboard - metrics(韵律学), health checks, and remote management
-
Supported platforms: Cloud Foundry, Kubernetes, Apache YARN, Apache Mesos

Spring Cloud Data Flow Reference Manual

1. RabbitMQ:MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过 队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。RabbitMQ是一个在AMQP基础上完成的,可复用的企业消息系统。他遵循Mozilla Public License开源协议。(转自:https://baike.baidu.com/item/rabbitmq/9372144?fr=aladdin)


2. GemFire:GemFire是一个位于应用集群和后端数据源之间的高性能、分布式的操作数据(operational data)管理基础架构。它提供了低延迟、高吞吐量的数据共享和事件分发。GemFire充分利用网络中的内存和磁盘资源,形成一个实时的数据网格(data fabric or grid)。(转自:http://blog.csdn.net/dc_726/article/details/41378633)


3. Kafka:Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop的一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消费。(转自:https://baike.baidu.com/item/Kafka/17930165?fr=aladdin)


4. Cloud Foundry:Cloud Foundry是VMware推出的业界第一个开源PaaS云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。(转自:https://baike.baidu.com/item/Cloud%20Foundry/6868029?fr=aladdin)


5. Kubernetes:Kubernetes is an open-source system for automating deployment, scaling(定标;缩放比例), and management of containerized(使(某处)集装箱化) applications.Kubernetes是Google开源的容器集群管理系统,其提供应用部署、维护、 扩展机制等功能,利用Kubernetes能方便地管理跨机器运行容器化的应用(中文社区:https://www.kubernetes.org.cn/ 官网:https://kubernetes.io/)(转自:http://www.infoq.com/cn/articles/Kubernetes-system-architecture-introduction)


6. Apache YARN:“Apache Hadoop YARN和Hadoop Common(核心库)、Hadoop HDFS(存储)、Hadoop MapReduce(MapReduce实现)一样,成为了Apache软件基金会顶级项目Apache Hadoop的子项目。在此之前,YARN只是Hadoop MapReduce项目的一部分。”   概括来说,Hadoop YARN的目的是使得Hadoop数据处理能力超越MapReduce。众所周知,Hadoop HDFS是Hadoop的数据存储层,Hadoop MapReduce是数据处理层。然而,MapReduce已经不能满足今天广泛的数据处理需求,如实时/准实时计算,图计算等。而Hadoop YARN提供了一个更加通用的资源管理和分布式应用框架。在这个框架上,用户可以根据自己需求,实现定制化的数据处理应用。而Hadoop MapReduce也是YARN上的一个应用。我们将会看到MPI,图处理,在线服务等(例如Spark,Storm,HBase)都会和Hadoop MapReduce一样成为YARN上的应用。(转自:https://www.cnblogs.com/gw811/p/4077318.html ;http://www.infoq.com/cn/articles/ApacheYARN)


7. Apache Mesos:Apache Mesos是由加州大学伯克利分校的AMPLab首先开发的一款开源群集管理软件,支持Hadoop、ElasticSearch、Spark、Storm 和Kafka等应用架构。

(转自:https://baike.baidu.com/item/Apache%20Mesos/16506880?fr=aladdin)





阅读全文
0 0