MICRONAUT:面向未来的Java框架!
18年5月,OCI的一个开发团队发布了新开源框架的第一个里程碑:Micronaut。 Micronaut是JVM的应用程序框架,特别强调微服务和云原生应用程序。 可以理解的是,在一个似乎充斥着框架选项的行业中,开发人员通常希望提前知道新框架带来了什么,以及它提供了什么独特的特性或功能。本文的目标是: 介绍Micronaut背后的一些基本原理 强调使用该框架的一些关键优势 带您浏览一个简单的应用程序
18年5月,OCI的一个开发团队发布了新开源框架的第一个里程碑:Micronaut。 Micronaut是JVM的应用程序框架,特别强调微服务和云原生应用程序。 可以理解的是,在一个似乎充斥着框架选项的行业中,开发人员通常希望提前知道新框架带来了什么,以及它提供了什么独特的特性或功能。本文的目标是: 介绍Micronaut背后的一些基本原理 强调使用该框架的一些关键优势 带您浏览一个简单的应用程序
Apache Ignite是一个分布式数据库,用于具有内存速度的高性能计算 Ignite于2014年底由GridGain Systems开放源码,同年被Apache孵化器项目接受。Ignite项目于2015年9月18日毕业。 Apache Ignite的数据库使用RAM作为默认的存储和处理层,因此属于内存计算平台。磁盘层是可选的,但一旦启用,将保留完整的数据集,而内存层将根据其容量缓存完整或部分数
Spring Boot集成咖啡因Caffeine缓存 Caffeine咖啡因是使用Java8重写的Guava缓存版本,将在SpringBoot2.0中取代Guava。如果咖啡因发生,咖啡因缓存管理器Caffeine Cache Manager将自动配置。使用spring.cache.cache-names属性,可以在启动时创建缓存,并通过如下配置(按顺序)对其进行自定义: spring.cache
ActiveMQ和RabbitMQ的主要区别在于ActiveMQ是一个用Java语言编写的支持多协议的开源消息代理,而RabbitMQ是一个用Erlang语言编写的支持多协议的开源消息代理。 消息代理是一个中间计算机程序模块,它帮助将发送方的消息从正式消息协议转换为接收方的正式消息协议。此外,消息代理在计算机和电信网络中帮助各种应用程序通过交换定义的消息来相互通信。总的来说,ActiveMQ和Ra
在几乎每一个行业中,选择合适的工具来执行基本功能都是一个复杂的决定。对于开发人员来说,有几十种消息服务可供选择。一个常见的问题是使用哪个服务,RabbitMQ还是Apache Kafka。本文将介绍这两个平台的用例和功能,以帮助您做出明智的决策。 抛开每种服务的粉丝们的所有噪音不谈,他们让人们觉得他们的方式是唯一的选择,本文将作为一个基于两种系统的经验和知识的权威答案。本文中分享的见解基于与经验丰
使用RSocket,客户机和服务器之间的界限是模糊的。使用Rsocket,服务器可以向客户端发送消息,客户端可以像服务器一样响应这些请求。 实际上,RSocket文档不使用术语“client”或“server”,而是使用术语“requester”和“responder”。在RSocket中,任何组件都可以充当请求者,任何组件都可以充当响应者,甚至可以同时充当两者。在RSocket中,请求者和响应者
世界各地的许多组织已经认识到云计算的威力,并正在向云本地cloud-native架构过渡,以便跟上创新步伐,以快速高效的方式提供数字服务。 随着云计算利用率的提高,预计到2020年,超过32%的新企业应用程序将是cloud-native云本地应用程序。这并不奇怪,因为利用云计算的强大功能,企业可以开发和部署易于扩展、更具弹性的应用程序,而成本仅为成本的一小部分。 openlegacy通过依赖容器、
区块链被认为是近年来出现在科技界最具颠覆性的技术之一。尽管据说它现在还处于初级阶段,但它是一种具有光明潜力的技术。区块链正在由各个领域的专家实施。区块链世界现在需要专业的区块链开发者,因为区块链领域正在启动的项目越来越多。由于区块链世界的每一个项目都涉及到大量资金,许多开发商现在已经开始将重点转向区块链技术。对于进入区块链领域的开发人员来说,深刻理解可用于区块链的编程语言是非常重要的。 话虽如此,
在本文中,我们将探讨Spring Security 5框架的新特性,以保护被动应用程序。此释放装置与Spring5和Spring Boot2对齐。 在本文中,我们将不深入讨论反应式应用程序本身的细节,这是Spring5框架的一个新特性。 Maven设置 我们将使用springbootstarters来引导我们的项目以及所有必需的依赖项。 基本设置需要父声明、web启动程序和安全启动程序依赖项。我们
在本文中,您将使用Spring Boot和Spring Webflux创建一个反应式web服务。web服务将演示如何使用Split的javasdk在反应式环境中使用特性标志。您将使用Spring initializer项目快速地用必要的配置参数引导应用程序。您将构建的简单应用程序将公开一个资源,该资源每秒从James Baldwin的《致我侄子的一封信》中的一段话流式传输一次单词。 Java中的反
在不断推动创新技术更新的同时,确保Netflix始终如一的出色体验绝非易事。我们如何才能确信更新不会伤害我们的用户?当我们打算做的时候,我们真的在做可衡量的改进? 使用回放设备的实时日志作为事件源,我们得出测量结果,以便理解和量化用户的设备如何无缝地处理浏览和回放。 一旦我们有了这些措施,我们就把它们输入数据库。每一项测量都会标记出使用哪种设备的匿名细节,例如,该设备是智能电视、iPad还是And
关于spring-native-query 使用Java对关系数据库运行本机查询常常会使源代码变得混乱和繁杂,因为过滤条件太多,而且表绑定也发生了变化。 因此,我决定创建“Spring Native Query”库,以方便执行本机查询,重点是简化源代码,使其更具可读性和干净性,创建包含本机查询的文件,并动态注入assets以执行这些查询。 该库的思想是运行约定查询,类似于Spring数据,并且只用
lowcode(低代码)/nocode(无代码)开发平台是一种可视化软件开发环境,允许开发人员和拖放应用程序组件,将它们连接在一起,并创建移动或web应用程序。这些平台通常与它们所体现的开发方法同义。 低代码和无代码的模块化方法让专业开发人员可以通过免除逐行编写代码的需要来快速构建应用程序。它们还使业务分析师、办公室管理员、小企业主和其他非软件开发人员能够构建和测试应用程序。这些人可以创建应用程序
Apache Pulsar简介 Apache Pulsar是一个多租户、高性能的服务器对服务器消息传递系统。雅虎开发了它。2016年末,这是第一个开源项目。现在它正处于孵化期,在Apache软件基金会(ASF)的领导下。 Pulsar使用pub-sub模式,其中有一个生产者和一个消费者(也称为订阅者),主题是pub-sub模型的核心,生产者发布关于给定Pulsar主题的消息,消费者订阅问题以从该主
领域驱动设计是程序员埃里克·埃文斯在2004年出版的《领域驱动设计:解决软件核心的复杂性》一书中提出的一个概念。 它是一种通过自顶向下的方法来研究软件的架构设计方法。在详细讨论这个话题之前,让我们试着聚焦一些光,并理解在这个上下文中域的含义。 什么是Domain域? 在软件开发上下文中使用的单词Domain指的是业务。在应用程序开发过程中,通常使用术语域逻辑或业务逻辑。基本上,业务逻辑是应用程序逻
RocksDB是一种流行的可嵌入持久键值存储。作为Google LevelDB项目的一个分支,Facebook于2012年首次开源,多年来它已经适应了各种工作负载,包括数据库存储引擎和应用程序数据缓存。 在本文中,我们将解释选择RocksDB作为YugabyteDB的基础构建块的基本原理。我们还将重点介绍如何将YugabyteDB中的行建模为文档,然后将其存储为RocksDB中的多个键值对。 为什
Apache Kafka为大规模分布式消息传递设置了标准,但是Apache Pulsar有自己的一些巧妙技巧 如今,大规模可伸缩的发布/订阅消息传递实际上是Apache Kafka的同义词。Apache Kafka仍然是分布式流媒体应用程序的坚定的、开源的首选,无论您是添加apache storm或apache spark之类的东西进行处理,还是使用Apache Kafka本身提供的处理工具。但K
Caffeine cache是一个针对Java的高性能缓存库。在本文中,我们将介绍它与Spring Boot如何一起使用。 Maven依赖 要开始使用咖啡因Caffeine和Spring Boot,我们首先添加spring-boot-starter-cache和咖啡因Caffeine依赖项: <dependencies> <dependency> <groupId&g
如果你在问自己,Apache Kafka是否比RabbitMQ更好,或者RabbitMQ是否比Apache Kafka更可靠,我想就此打住你。本文将从更广阔的角度讨论这两个问题。它的重点是两个系统所提供的功能,并将指导您在何时使用哪个系统做出正确的决定。 网络上的一些文章让Apache Kafka在RabbitMQ面前大放异彩,而另一些则恰恰相反。我们中的很多人都可以承认自己听了炒作,和群众一起跑
在微服务的多样化世界中,HTTP是代理到代理通信中无可争议的领导者。它成熟,无处不在。但在某些情况下,HTTP请求-响应可能很麻烦。如果您需要传统请求-响应之外的通信模式,如fire-and-forget或streaming,该怎么办?如果你想向任何一个方向发送信息呢? 有了HTTP,有很多方法可以实现这一点,但这不是构建协议的目的。许多解决方案都带有额外的权衡或缺点。另外,这里没有规则手册说“你