Serverless原理
Serverless无服务器是一种cloud-native云本地开发模型,允许开发人员构建和运行应用程序,而无需管理服务器。 在serverless中仍然有服务器,但它们是从应用程序开发中抽象出来的。云提供商处理服务器基础设施的供应、维护和扩展等日常工作。开发人员可以简单地将代码打包到容器中进行部署。 一旦部署,无服务器应用程序会响应需求,并根据需要自动上下扩展。公共云提供商提供的无服务器产品通常
Serverless无服务器是一种cloud-native云本地开发模型,允许开发人员构建和运行应用程序,而无需管理服务器。 在serverless中仍然有服务器,但它们是从应用程序开发中抽象出来的。云提供商处理服务器基础设施的供应、维护和扩展等日常工作。开发人员可以简单地将代码打包到容器中进行部署。 一旦部署,无服务器应用程序会响应需求,并根据需要自动上下扩展。公共云提供商提供的无服务器产品通常
我们都听说过比特币、以太坊或狗狗币,在我们的新闻提要上滚动,但我们作为Java开发人员知道如何轻松地与这些区块链技术进行交互吗?下面是目前可以用来利用区块链趋势的前3个Java项目。该列表是基于Github存储库星型排序的。 BitcoinJ 比特币 这个名字很有描述性,你不觉得吗?如果您想知道如何创建比特币钱包和管理节点之间的交易,那么您应该尝试一下BitcoinJ。这个项目有不断增长的社区和非
什么是SOA? SOA是计算机软件设计中的一种体系结构模式。在这种类型的应用程序中,组件通过通信协议(通常通过网络)向其他组件提供服务。面向服务的原则独立于任何产品、供应商或技术。SOA的完整形式是面向服务的体系结构 SOA使各种网络上的软件组件更容易相互协作,按照SOA架构构建的Web服务往往使Web服务更加独立。 什么是微服务? 微服务是一种面向服务的体系结构模式,其中应用程序被构建为各种最小
在使用Spring Boot构建微服务的这一篇文章中,我们将引入一些新概念,使我们的服务更具可伸缩性和弹性。 内部服务间通信 与传统的、单一的方法不同的是,应用程序的所有部分通常都可以使用单一的数据库,而微服务作为不同的进程运行,它们有自己的私有数据存储,必须相互通信才能实现它们的目标。这种根本的差异需要不同的思维方式,这可能是开发人员在过渡到构建微服务时面临的最大挑战之一。 服务间通信有许多不同
为了有效地实现你的目标,你必须把它们分解成小任务,然后把大部分时间花在你面前的任务上,而不是被大目标的艰巨所压倒。– Sunday Adelaja 这可能不是微服务的工作原理,但它肯定是我们在微服务架构上开发应用程序时遵循的原则。 微服务在市场上越来越受欢迎,因为企业正致力于构建复杂的、更大的应用程序,这些应用程序可以作为较小服务的集合进行分离和处理。越来越多的人希望将他们传统的单机系统重新设计
Spring Framework 5.0是自2013年12月发布版本4以来Spring框架的第一个主要版本。Spring框架项目负责人juergenhoeller于2016年7月28日宣布发布了第一个Spring框架5.0里程碑(5.0m1)。 我对Spring Framework 5.0中的新特性和增强感到兴奋。 在较高的层次上,Spring Framework 5.0的功能可以分为: JDK基
Spring WebFlux是spring5的一部分,它为web应用程序提供反应式编程支持。 在本教程中,我们将使用RestController和WebClient创建一个小型响应式REST应用程序。 我们还将研究如何使用Spring安全保护我们的反应端点。 Spring-WebFlux框架 Spring WebFlux在内部使用Project Reactor及其发布者实现Flux和Mono。 新
在本文中,我们将对Apache Druid框架有一个完整的概述,从什么是timeseries(时间序列)开始,我们如何处理此类数据,以及对其体系结构的描述。最后,我们将看到如何在平台内接收和查询数据。 时间序列 时间序列是按时间顺序排列的数据点序列。 这些离散点通常被存储和分析,以便做出预测或发现行为模式。在常见的大数据体系结构中,标准方法是收集来自各种来源的数据(用户数据、应用程序数据、web分
ClickHouse是一个开源的面向列的联机分析处理(OLAP)数据库管理系统。 ClickHouse允许使用实时更新的SQL查询生成数据分析报告。该系统以高性能著称。它很简单,而且是开箱即用的。该项目于2016年6月在Apache2许可下作为开源软件发布。 ClickHouse是第一个与Sybase IQ、Vertica和Snowflake等专有数据库的性能和可伸缩性相匹配的开源SQL数据仓库。
在本文中,我们将研究如何将现有的Spring框架应用程序迁移到SpringBoot应用程序。 Spring Boot并不是为了取代Spring,而是为了使使用它更快更容易。因此,迁移应用程序所需的大多数更改都与配置有关。在大多数情况下,我们的自定义控制器和其他组件将保持不变。 使用Spring Boot进行开发有几个优点: 更简单的依赖关系管理 默认自动配置 嵌入式web服务器 应用程序度量和运行
要在Windows上手动安装Confluence,需要设置一个环境变量,将Confluence指向Java安装目录。 在大多数情况下,您应该设置JRE_HOME环境变量,但是如果没有设置,Confluence将使用JAVA_HOME。 设置JAVA_HOME变量 要设置JRE_HOME或JAVA_HOME变量: 1. 找到Java安装目录 如果您在安装过程中没有更改路径,它将类似于C:\Progr
在从系统控制台运行Java类(例如Hello world应用程序)时,我们可能会遇到此错误:Could not find or load main class(找不到或加载主类)。我们得到这个错误是因为我们错误地试图在类中使用java命令运行main() 错误原因-无法找到或加载主类 考虑下面的Java类,它有一个main()方法。我们正在尝试使用命令行执行MainClass这个类。 packag
在当今动态的商业世界中,低代码平台比传统的应用程序开发更具优势,敏捷性往往是成功的代名词。但是,在业务应用程序开发的上下文中,低代码与无代码之争到底是关于什么的呢?什么时候应该选择一种平台类型而不是另一种? 虽然一些人认为无代码(NC)是低代码(LC)更高级的替代品,但另一些人认为两者之间几乎没有区别,无代码常常被吹捧为一个十年前的现象的营销宣传。为了更清楚地了解这一点,我们必须首先了解低代码和无
GraalVM是一个通用的虚拟机,用于运行应用程序,如JavaScript、Python、Ruby、R、JVM等语言,如java、Scala、Groovy、Kotlin、Crojule和基于LLVM的语言,如C++和C++。 对我来说,最有趣的特性之一是编译为基于JVM的应用程序的本机二进制(在GraalVM中通常称为本机映像)。本机映像意味着编译将是独立的,不需要JVM(如C、C++或Golan
Apache Pulsar(孵化)是一个企业级的发布-订阅(aka pub-sub)消息系统,最初由雅虎开发。Pulsar于2016年末首次开放源码,目前正在Apache软件基金会的赞助下进行孵化。在雅虎,Pulsar已经生产了三年多,为雅虎等主要应用提供了动力! Pulsar概念和术语 将数据输入Pulsar的应用程序称为生产者,而使用Pulsar数据的应用程序称为消费者。消费者应用程序有时也被
Spring发布了一个新工具Spring Native Beta,用于将现有的Spring Boot应用程序(用Java或Kotlin编写)转换为GraalVM本机映像。目标是在springnative上支持Spring Boot应用程序。GraalVM本机映像很小,经过优化,启动速度很快。然而,与JVM相比,折衷的办法是构建时间更长,运行时优化更少。 Spring Native与GraalVM团
随着最近Dapr发布的第一个产品版本的发布,我们终于看到了对Istio的一个可行的回应,也许还有来自微软的其他服务网格行业。如果您不熟悉,Dapr是一个旨在解决现代分布式应用程序挑战的编码框架。您可能会问,“但这不就是service mesh服务网格的用途吗?“是的,只是服务网格的焦点不对。他们关注的是网络基础设施问题;Dapr关注的是开发人员构建微服务所需的内容。这种转变可能是业界解决分布式体系
GraalVM是开发人员编写和执行Java代码的工具。具体来说,GraalVM是由Oracle创建的Java虚拟机(JVM)和Java开发工具包(JDK)。它是一个高性能的运行时,可以提高应用程序的性能和效率。 GraalVM的目标包括:编写一个更快、更易于维护的编译器,提高在JVM上运行的语言的性能,减少应用程序启动时间,将多语言支持集成到Java生态系统中,以及为此提供一组编程工具。 Graa
我以前看过很多IT项目。有的设计得很好,有的设计得很差。基于这些经验,我想写一点关于一个示例项目的内容,我还想展示如何用UML对一个示例项目进行建模,以及如果我们将领域驱动的设计原则应用到模型中会发生什么。 在继续之前,您应该阅读Eric Evans的“域驱动设计”和Vaughn Vernon的“实现域驱动设计”两本书。这个例子大部分都是基于他们的工作,如果你想深入研究领域驱动的设计,他们的书是必
分布式数据库简史 web2.0时代给数据库设计带来了新的兴趣。虽然传统的RDBMS数据库从1970年代末商业化开始到网络时代都能很好地满足企业界的数据存储和数据处理需求,但新应用程序处理的大量数据以及处理这些数据的速度需要一种新的方法。为了更好地了解这些新数据库设计的需求,我强烈建议观看数据库大师michaelstonebraker在斯坦福大学计算机系统学术讨论会上的演讲。在此期间出现的新数据库采