使用Spring WebFlux构建响应式web服务

使用Spring WebFlux构建响应式web服务

2年前 (2021-04-03) 浏览: 280 评论: 0

本文将介绍如何创建“Hello,Spring!”的一个响应式应用,使用Spring WebFlux的restfulweb服务(从版本5开始新增),然后使用WebClient使用该服务(从版本5开始新增)。 关于Spring WebFlux的功能方法可以参考这篇文章:https://javakk.com/1783.html。 您将使用Spring WebFlux和该服务的WebClient使用者构建

Spring5 WebFlux和SpringMVC的关系

Spring5 WebFlux和SpringMVC的关系

2年前 (2021-04-02) 浏览: 765 评论: 0

Spring WebFlux Spring框架中包含的原始web框架springweb mvc是专门为Servlet API和Servlet容器构建的。反应式堆栈web框架SpringWebFlux是在5.0版本中添加的。它是完全无阻塞的,支持反应流背压,并在Netty、Undertow和servlet3.1+容器等服务器上运行。 两个web框架都反映了它们的源模块(和springwebflux)

试用Spring Native

试用Spring Native

2年前 (2021-04-01) 浏览: 4031 评论: 0

我一直在玩GraalVM AOT编译功能,因为我知道它。作为一个长期的Spring爱好者,我仔细地观察了Tanzu的工程师们为使Spring-AOT兼容所做的努力。最近,他们宣布了测试版的集成。在这篇文章中,我想看看制作一个(正在工作的!)来自现有Spring引导应用程序的Docker image镜像。 GraalVM提供了许多不同的特性。其中,名为substratevm的组件允许AOT将常规字节

Spring框架和SpringBoot之间的区别

Spring框架和SpringBoot之间的区别

2年前 (2021-03-31) 浏览: 184 评论: 0

在本教程中,我们将研究标准Spring框架和Spring Boot之间的区别。 我们将重点讨论Spring的模块,如MVC和Security,在核心Spring中使用时与在Boot中使用时的区别。 Spring是什么? 简单地说,Spring框架为开发Java应用程序提供了全面的基础设施支持。 它包含了一些很好的功能,比如依赖注入,以及一些现成的模块,比如: Spring JDBC Spring

Tomcat配置

Tomcat配置

2年前 (2021-03-30) 浏览: 200 评论: 0

定义web应用程序 在Tomcat中定义web应用程序有两种方法:编辑配置文件或使用交互式管理工具。 手动编辑配置文件 修改<Tomcat home>/conf/server.xml:通过插入 <Context path="/jchem" docBase="<JChem home>" reloadable="true" > </Context> &l

下一代虚拟机-GraalVM

下一代虚拟机-GraalVM

2年前 (2021-03-27) 浏览: 414 评论: 0

GraalVM是一个高性能运行时,它在应用程序性能和效率方面提供了显著的改进,这是微服务的理想选择。它是为java、JavaScript、LLVM等语言编写的,如C++和C++语言,以及其他动态语言。它消除了编程语言之间的隔离,并在共享运行时启用互操作性。它可以独立运行,也可以在OpenJDK的上下文中运行,Node.js或者Oracle数据库。 对于Java程序 对于现有的Java应用程序,Gr

Dolt-一个具有Git特性的关系数据库

Dolt-一个具有Git特性的关系数据库

2年前 (2021-03-26) 浏览: 703 评论: 0

Dolt是一个SQL数据库,您可以像git存储库一样进行分叉、克隆、分支、合并、推送和拉取。连接到Dolt就像任何MySQL数据库一样,使用SQL命令运行查询或更新数据。使用命令行界面导入CSV文件、提交更改、将更改推送到远程服务器或合并队友的更改。 你所知道的Git的所有命令对Dolt的作用完全相同。Git版本文件,Dolt版本表。就像Git和MySQL生了个孩子一样! 我们还建立了DoltHu

下一代分布式KV存储框架:RocksDB

下一代分布式KV存储框架:RocksDB

2年前 (2021-03-24) 浏览: 1415 评论: 0

什么是RocksDB? RocksDB是一个用于快速存储的可嵌入持久键值存储。ROCKSDB也可以是客户机-服务器数据库的基础,但我们目前的重点是嵌入式工作负载。 RocksDB构建在LevelDB之上,可以在具有许多CPU核心的服务器上运行,可以高效地使用快速存储,支持IO绑定、内存中和一次写入的工作负载,并且可以灵活地进行创新。 性能如何比较? 我们对LevelDB进行了基准测试,发现它不适合

Micronaut是什么?

Micronaut是什么?

2年前 (2021-03-23) 浏览: 317 评论: 0

Micronaut:现代的JVM微服务框架 一个现代的、基于JVM的、全栈框架,用于构建模块化的、易于测试的微服务应用程序micronaut.io Micronaut是Grails团队在2018年Greach大会上正式宣布的一个全新的全栈框架。它专注于模块化、最小的内存占用和启动时间,这使得它成为运行在AWS lambda或类似环境中的完美解决方案。用Java编写的服务器需要不到1秒的时间来启动8

Netflix开源GraphQL框架DGS介绍

Netflix开源GraphQL框架DGS介绍

2年前 (2021-03-22) 浏览: 1404 评论: 0

Netflix开源了领域图形服务 Domain Graph Service (DGS)框架,DGS简化了框架的独立性和联合GraphQL服务的实现。 通过开源项目,希望对Java和GraphQL社区做出贡献,并向所有使用该框架的人学习和合作,使其变得更好。 DGS框架的主要功能包括: 基于注解的Spring-Boot编程模型 将查询测试编写为单元测试的测试框架 Gradle代码生成插件,可以从Gr

内存级高性能分布式数据库Apache Ignite

内存级高性能分布式数据库Apache Ignite

2年前 (2021-03-20) 浏览: 1048 评论: 0

介绍 Apache Ignite是一个开源的以内存为中心的分布式平台。我们可以将其用作数据库、缓存系统或内存中的数据处理。 该平台使用内存作为存储层,因此具有令人印象深刻的性能。简单地说,这是目前生产中使用的最快的原子数据处理平台之一。 官网地址:https://ignite.apache.org/ 安装 我们将要构建的应用程序的Maven依赖关系: <dependency> <

Java高性能缓存库Caffeine简介

Java高性能缓存库Caffeine简介

2年前 (2021-03-19) 浏览: 512 评论: 0

介绍 在本文中,我们将看一看Caffeine—一个针对Java的高性能缓存库。 缓存和映射之间的一个基本区别是缓存淘汰/过期策略。 逐出策略(缓存淘汰策略)决定应在任何给定时间删除哪些对象。此策略直接影响缓存的命中率—缓存库的一个关键特性。 Caffeine使用Window TinyLfu逐出策略,它提供了一个接近最佳的命中率。 maven依赖 我们需要把Caffeine的依赖添加到我们项目的中p

WheelTimer哈希轮计时器介绍

WheelTimer哈希轮计时器介绍

2年前 (2021-03-18) 浏览: 531 评论: 0

Hashed wheel timers介绍 哈希轮计时器是一种非常有趣的数据结构,在网络服务器中得到了广泛的应用。它们的低内存开销和合理的效率保证非常适合处理数百万个连接的服务器,每个连接都有一个计时器。我们不会花太多时间描述它们是如何工作的,相反,我们将研究一些实现,并尝试评估它们的相对权衡。 让我们快速回顾一下哈希轮计时器的基本数据结构: 基本的数据结构看起来像一个hashmap,带有单独的链

ActiveMQ与RabbitMQ的区别

ActiveMQ与RabbitMQ的区别

2年前 (2021-03-16) 浏览: 4230 评论: 0

ActiveMQ与RabbitMQ的区别 ActiveMQ与RabbitMQ是流行的开源消息代理。消息代理通过将定义的消息共享给各种应用程序来帮助计算机彼此交互,从而支持电信系统。消息代理帮助将发送方消息的格式转换为接收方标准的格式。RabbitMQ是AMQP协议的最佳实现。它执行一个代理体系结构,其中消息在发送到目的地之前在中心节点上排队。ActiveMQ工作在中间地带,使用代理和P2P架构进行

简单明了的介绍Kafka与消息队列的区别

简单明了的介绍Kafka与消息队列的区别

2年前 (2021-03-15) 浏览: 707 评论: 0

本文的目的是让大家快速了解Kafka与消息队列的关系,以及为什么会考虑使用它。 Kafka是Linkedin最初开发的一项技术。简而言之,它有点像一个消息队列系统,有一些曲折,使它能够支持pub/sub,扩展到多个服务器,并重放消息。 当您想要采用反应式编程风格而不是命令式编程风格时,这些都是您需要考虑的问题。 命令式编程与反应式编程的区别 命令式编程是一种我们都开始使用的编程类型。有些事情发生了

响应式协议RSocket介绍

响应式协议RSocket介绍

2年前 (2021-03-14) 浏览: 377 评论: 0

什么是RSocket? RSocket是一种用于分布式应用程序的二进制点对点通信协议。从这个意义上说,它提供了一种替代HTTP等其他协议的方法。 RSocket和其他协议之间的全面比较超出了本文的范围。相反,我们将关注RSocket的一个关键特性:它的交互模型。 RSocket提供了四种交互模型。考虑到这一点,我们将用一个例子来探讨每一个问题。 Maven依赖项 对于我们的示例,RSocket只需

intellij idea与Eclipse的区别

intellij idea与Eclipse的区别

2年前 (2021-03-11) 浏览: 1364 评论: 0

IntelliJ Idea intellij idea是面向Java开发人员的功能最强大、最流行、功能最全的IDEA,于2001年向公众发布。它由Jet Brains公司开发和维护。它由apache2.0授权。 IntelliJ Idea有两个版本: Community 社区版:免费提供,主要用于Java和Android开发者。它支持大多数语言,如Java、Kotlin、Groovy、Clojur

异或双向链表是什么?

异或双向链表是什么?

2年前 (2021-03-08) 浏览: 425 评论: 0

异或双向链表的特点是在内存使用上更有效率 为了使小型设备具有成本效益,制造商通常需要考虑减小内存大小。一种选择是找到我们日常实现中使用的抽象数据类型(ADTs)的替代实现。一个这样的ADT是双链表结构。 在这篇文章中,一个传统的实现和替代实现的双链表ADT,插入,遍历和删除操作。我还提供了每种方法的时间和内存度量,以比较它们的优缺点。另一种实现是基于指针距离的,因此在本文中我称之为指针距离实现。每

云原生架构的五个原则

云原生架构的五个原则

2年前 (2021-03-07) 浏览: 738 评论: 0

  我们经常把术语 Cloud-native“云原生/本地架构”作为您迁移或构建在Google Cloud平台(GCP)上的应用程序的预期最终目标。但是我们所说的云原生到底是什么意思呢?更重要的是,你如何着手设计这样一个系统? 在较高的层次上,云原生架构意味着要适应许多新的可能性,但与传统的本地基础设施相比,云提供的架构约束非常不同。考虑一下我们作为软件架构师所要考虑的高级元素: 系统的

serverless是什么?

serverless是什么?

2年前 (2021-03-06) 浏览: 408 评论: 0

传统上,我们构建和部署的web应用程序在某种程度上可以控制向服务器发出的HTTP请求。我们的应用程序运行在该服务器上,我们负责为它提供和管理资源。这有几个问题: 1. 即使我们不提供任何请求,我们也要为保持服务器正常运行而收费。 2. 我们负责服务器及其所有资源的正常运行时间和维护。 3. 我们还负责对服务器应用适当的安全更新。 4. 随着使用量的增加,我们还需要管理服务器的扩展。因此,当我们没有

登录

忘记密码 ?

切换登录

注册