Cloud-Native云原生架构系列一
Cloud native是一代人中最大的推动者。它让开发人员只需开发。只关注真正重要的东西:创建客户想要(喜欢)的软件使用。 本文从三个方面介绍Cloud-native: 云原生/云本地架构:它是什么?为什么重要? 云原生/云本地开发:云如何改变您的开发方式? 云原生原则和实践:23个关于如何实现云原生的杀手锏 云原生架构:它是什么以及它为什么重要 云原生架构充分利用公共云的分布式、可伸缩性和灵活
Cloud native是一代人中最大的推动者。它让开发人员只需开发。只关注真正重要的东西:创建客户想要(喜欢)的软件使用。 本文从三个方面介绍Cloud-native: 云原生/云本地架构:它是什么?为什么重要? 云原生/云本地开发:云如何改变您的开发方式? 云原生原则和实践:23个关于如何实现云原生的杀手锏 云原生架构:它是什么以及它为什么重要 云原生架构充分利用公共云的分布式、可伸缩性和灵活
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的“实现域驱动设计”两本书。这个例子大部分都是基于他们的工作,如果你想深入研究领域驱动的设计,他们的书是必