最新文章

什么是Serverless?

什么是Serverless?

Serverless 3年前 (2021-09-05) 浏览: 392 评论: 0

Serverless是一种cloud-native云本地开发模型,允许开发人员构建和运行应用程序,而无需管理服务器。 serverless中仍然有服务器,但它们被抽象出应用程序开发。云提供商处理服务器基础设施的供应、维护和扩展等日常工作。开发人员可以简单地将代码打包到容器中进行部署。 一旦部署,无服务器应用程序将响应需求,并根据需要自动上下扩展。公共云提供商提供的无服务器服务通常通过事件驱动的执行

Apache Pulsar工作原理

Apache Pulsar工作原理

相关技术 3年前 (2021-09-04) 浏览: 1061 评论: 0

在本文中,我们将介绍ApachePulsar的设计,以便更好地设计故障场景。这篇文章不是为那些想了解如何使用ApachePulsar的人写的,而是为那些想了解它是如何工作的人写的。我一直在努力以一种简单易懂的方式对其架构进行清晰的概述。 主要的声明包括: 保证不会丢失消息(如果采用了建议的配置,并且您的整个数据中心不会被烧毁) 强排序保证 可预测的读写延迟 Apache Pulsar选择一致性而不

Dapr与Service Mesh的区别

Dapr与Service Mesh的区别

微服务 3年前 (2021-09-03) 浏览: 781 评论: 0

自从微软宣布Dapr以来已经有6个月了。Dapr或分布式应用程序运行时是一个开源项目,其目标是使开发人员能够编写微服务。这是一个很好的目标,在本博客中,我们将探讨这意味着什么。 自从Dapr发布以来,我听到越来越多关于它的消息。与每次发布一样,Dapr都会发布一些公告、Azure Friday剧集等。对我来说,Dapr似乎并不常见的是,即使在发布之后,它似乎仍能吸引人们。我一直在网络上看到人们在推

GraalVM 了解一下?

GraalVM 了解一下?

相关技术 3年前 (2021-09-02) 浏览: 1551 评论: 0

Erich Ferdinand的《GraalVM》,在CC by 2.0许可下出版。最重要的是,有一个名为Twitter的旗舰项目。他们使用GraalVM已经有一段时间了。他们在Graal上运行Scala微服务。 GraalVM也来到了一个更加保守的商业世界。它似乎对云本地应用程序特别有吸引力。想想Lambda函数吧。所以是时候重温GraalVM了。是时候抛弃旧的Java虚拟机,转向新的东西了吗?

Apache Ignite实践

Apache Ignite实践

相关技术 3年前 (2021-09-01) 浏览: 805 评论: 0

“让我们假设我们开始为我们的物联网应用开发一个Web服务器,其中包含几个端点,如接收事件的POST、获取DeviceBySensorType、获取全部和更新设备元数据的PUT等。 一开始,公共数据的缓存似乎是次要问题,但如果我们开始考虑长期问题,并且如果我们想要提高性能和/或减少响应时间(例如,当服务从数据库检索数据时),我们就会意识到缓存是一项强制性要求。 最初的解决方案可能是使用始终可靠的Ha

SpringBoot:使用Caffeine实现缓存

SpringBoot:使用Caffeine实现缓存

相关技术 3年前 (2021-08-31) 浏览: 1001 评论: 0

在本博客中,我们将探讨如何使用Spring的缓存框架向任何Spring Boot应用程序添加基本缓存支持,如果没有正确实现,还将探讨缓存的一些问题。最后但并非最不重要的一点是,我们将看几个在真实场景中有用的缓存示例。 为什么要在应用程序中添加缓存 在深入探讨如何向应用程序添加缓存之前,首先想到的问题是为什么我们需要在应用程序中使用缓存。 假设有一个包含客户数据的应用程序,用户发出两个请求来获取客户

Spock中Mock()、Stub()、Spy()方法的区别

Spock中Mock()、Stub()、Spy()方法的区别

Spock系列 3年前 (2021-08-30) 浏览: 5974 评论: 7

Mock 按照Spock官方文档(https://spockframework.org/spock/docs/2.0/interaction_based_testing.html)的定义: 描述规范下的对象与其合作者之间(强制)交互的行为。 说人话就是Mock()的对象是一个虚拟类,用于替换真实的类,为每个方法调用返回一个默认值:引用类型是null,基本类型为 0 或 false,比如可以把调用其

微服务消息代理选型:Redis、Kafka、RabbitMQ

微服务消息代理选型:Redis、Kafka、RabbitMQ

相关技术 3年前 (2021-08-29) 浏览: 1120 评论: 0

在为微服务使用异步通信时,通常使用消息代理。代理确保不同微服务之间的通信可靠稳定,消息在系统内得到管理和监控,并且消息不会丢失。您可以从几个消息代理中选择,它们的规模和数据功能各不相同。这篇博文将比较三个最受欢迎的代理brokers:RabbitMQ、Kafka和Redis。 但首先,让我们了解一下微服务通信。 微服务通信:同步和异步 微服务之间有两种常见的通信方式:同步和异步。在同步通信中,调用

RSocket入门系列之二

RSocket入门系列之二

相关技术 3年前 (2021-08-28) 浏览: 466 评论: 0

在本博客中,您将继续第1部分https://javakk.com/2174.html之后的内容。您将探索RSocket通信模型Fire-and-Forget、Request-Stream和Channel。对于所有这些模型,您将创建服务器、客户机和单元测试。 在第1部分https://javakk.com/2174.html中,您学习了RSocket通信协议的基础知识。建议在继续第2部分之前先阅读第

Java Parallel Stream

Java Parallel Stream

Java系列 3年前 (2021-08-27) 浏览: 545 评论: 0

Java8引入了并行流parallel stream的概念来进行并行处理。由于廉价的硬件成本,我们现在拥有更多的cpu核,因此可以使用并行处理来更快地执行操作。 让我们通过简单的例子来理解 package org.arpit.java2blog.java8; import java.util.Arrays; import java.util.stream.IntStream; public cla

Java lambda表达式用法介绍

Java lambda表达式用法介绍

Java系列 3年前 (2021-08-26) 浏览: 325 评论: 0

在本文中,我们将通过示例了解Java lambda表达式以及lambda表达式在函数接口、通用函数接口和流API中的使用。 lambda表达式是在Java8中首次引入的。它的主要目标是提高语言的表达能力。 但是,在进入lambdas之前,我们首先需要了解功能接口。 什么是Functional Interface? 如果Java接口包含一个且仅包含一个抽象方法,则称为函数接口。只有一种方法指定了接口

使用Java实现区块链

使用Java实现区块链

相关技术 3年前 (2021-08-25) 浏览: 1132 评论: 0

区块链是数字加密货币比特币的核心技术。 区块链是一个称为块的记录列表,这些记录使用链表链接在一起并使用加密技术。 每个数据块都包含自己的数字指纹(称为散列)、前一个数据块的散列、时间戳和所做事务的数据,使其在任何类型的数据泄露时都更加安全。 因此,如果一个块的数据被改变,那么它的散列也会改变。如果散列被更改,那么它的散列将不同于下一个块,下一个块包含前一个块的散列,影响它之后的所有块的散列。更改哈

微服务与SOA:有什么区别?

微服务与SOA:有什么区别?

微服务 3年前 (2021-08-24) 浏览: 315 评论: 0

理解开发和部署应用程序的最佳方式是当今任何数据驱动组织的一个重要考虑因素。面向服务的体系结构(SOA)和微服务等选项为构建和运行应用程序提供了宝贵的灵活性,而传统的单一方法则没有。然而,为了确定哪一个最适合您的业务,很难理解两者之间的差异。 微服务将应用程序结构为一系列不同的、单一用途的服务,而SOA是一组模块化服务,它们“对话”在一起支持应用程序及其部署。这两种方法在体系结构、组件共享、数据治理

基于Spring Boot和Spring Cloud实现Java微服务

基于Spring Boot和Spring Cloud实现Java微服务

微服务 3年前 (2021-08-23) 浏览: 512 评论: 0

在开发微服务体系架构时,Java是一种很好的语言。事实上,我们行业中的一些大牌公司都在使用它。你听说过Netflix、亚马逊或谷歌吗?eBay、Twitter和LinkedIn呢?是的,处理令人难以置信的流量的大公司都在用Java来实现这一点。 在Java中实现微服务体系结构并不适合所有人。因此,通常不需要实现微服务。大多数公司这样做是为了扩大员工规模,而不是系统规模。如果你想扩大你的员工规模,雇

异步微服务简介

异步微服务简介

相关技术 3年前 (2021-08-22) 浏览: 304 评论: 0

为什么是微服务?它们使创新更快。 企业必须以更快的速度创新,才能在竞争中保持领先地位。他们必须显著改进他们如何开发和部署作为创新的基础的软件。 企业不仅必须采用敏捷实践并在云上部署,还必须用微服务取代庞大、笨重的单片应用程序。 微服务的问题:分布式数据管理 每个服务都有自己的数据库 为了确保服务松散耦合,每个服务都有自己的私有数据库。因此,在开发微服务时,必须解决分布式数据管理的问题。 维护数据一

Spring WebFlux教程:如何构建反应式web应用程序

Spring WebFlux教程:如何构建反应式web应用程序

相关技术 3年前 (2021-08-21) 浏览: 1351 评论: 0

反应式系统允许我们在高数据流世界中所需的无与伦比的响应能力和可扩展性。然而,反应式系统需要经过专门培训的工具和开发人员来实现这些独特的程序体系结构。Spring WebFlux with Project Reactor是专门为满足现代公司的反应性需求而构建的框架。 今天,我们将通过解释WebFlux如何与其他反应式堆栈工具相匹配、如何不同以及如何制作第一个应用程序来帮助您开始使用WebFlux。

Apache Druid的工作原理

Apache Druid的工作原理

相关技术 3年前 (2021-08-20) 浏览: 1043 评论: 0

Apache Druid是一个实时分析数据库,它将保存大量数据的可能性与从中提取信息的可能性联系起来,而无需等待不合理的时间。 Druid已经引起了小型和知名公司的注意。这很可能是因为Druid在性能方面信守承诺,在星型模式基准测试期间实现的速度比当前著名的数据库解决方案(如Hive和Presto)高100倍左右。 由于它显示了这样的前景,因此本文的目标是简要解释数据进入德鲁伊生态系统的一些机制,

使用Byte Buddy轻松实现Java Agent

使用Byte Buddy轻松实现Java Agent

Java系列 3年前 (2021-08-19) 浏览: 1147 评论: 0

Java agent是在另一个Java应用程序(“目标”应用程序)启动之前执行的Java程序,为该agent提供修改目标应用程序或其运行环境的机会。在本文中,我们将从基础知识开始,使用字节码操作工具Byte Buddy实现高级代理。 在最基本的用例中,Java agent设置应用程序属性或配置特定的环境状态,从而使代理能够充当可重用和可插入的组件。下面的示例描述了这样一个代理agent,它设置了可

字节码修改工具Javasisst简介

字节码修改工具Javasisst简介

Java系列 3年前 (2021-08-18) 浏览: 787 评论: 0

在本文中,我们将研究Javasisst(http://www.javassist.org/)库。 简单地说,这个库通过使用高级API比JDK中的API更简单地操作Java字节码。 Maven依赖 要将Javassist库添加到我们的项目中,我们需要将Javassist添加到pom中: <dependency> <groupId>org.javassist</group

Java Instrumentation API使用指南

Java Instrumentation API使用指南

Java系列 3年前 (2021-08-17) 浏览: 1241 评论: 0

在本文中,我们将讨论Java Instrumentation API。它提供了向现有编译的Java类添加字节码的能力。 我们还将讨论java代理以及如何使用它们为代码提供工具。 我们将使用工具构建一个应用程序。 我们的应用程序将包括两个模块: 1. 允许我们取款的ATM应用程序 2. 还有一个Java代理,它允许我们通过测量投入的时间和花费的金钱来测量ATM的性能 Java agent将修改ATM

登录

忘记密码 ?

切换登录

注册