为什么我们在RocksDB上创建CockroachDB项目?

为什么我们在RocksDB上创建CockroachDB项目?

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

如果在数据库课程的期末考试中,你问学生是在日志结构的合并树(LSM)上还是在基于BTree的存储引擎上构建数据库,90%的学生可能会回答说,这个决定取决于你的工作量。”lsm用于写重负载,btree用于读重负载”,有责任心的人会写。如果您调查了目前大多数NewSQL(或分布式SQL)数据库,那么大多数数据库都是构建在LSM(即RocksDB)之上的。因此,您可能会得出这样的结论:这是因为现代应用程

SpringBoot:使用Caffeine实现缓存

SpringBoot:使用Caffeine实现缓存

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

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

使用Spring Boot和JPA创建GraphQL API

使用Spring Boot和JPA创建GraphQL API

相关技术 2年前 (2022-04-25) 浏览: 320 评论: 0

GraphQL既是API查询语言,也是使用当前数据执行这些查询的运行时。GraphQL让客户能够准确地要求他们所需要的东西,仅此而已,使API随着时间的推移更容易发展,并通过提供API中数据的清晰易懂的描述,支持强大的开发工具。 在本文中,我们将创建一个简单的机场位置应用程序。 生成项目 去https://start.spring.io/并生成一个项目,不要忘记添加Spring Web、H2数据库

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

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

相关技术 3年前 (2021-03-26) 浏览: 1121 评论: 0

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

Cloud-Native云原生架构系列一

Cloud-Native云原生架构系列一

相关技术 3年前 (2021-05-12) 浏览: 505 评论: 0

Cloud native是一代人中最大的推动者。它让开发人员只需开发。只关注真正重要的东西:创建客户想要(喜欢)的软件使用。 本文从三个方面介绍Cloud-native: 云原生/云本地架构:它是什么?为什么重要? 云原生/云本地开发:云如何改变您的开发方式? 云原生原则和实践:23个关于如何实现云原生的杀手锏 云原生架构:它是什么以及它为什么重要 云原生架构充分利用公共云的分布式、可伸缩性和灵活

Apache Kafka Vs RabbitMQ

Apache Kafka Vs RabbitMQ

相关技术 3年前 (2021-07-30) 浏览: 234 评论: 0

什么是RabbitMQ? RabbitMQ是应用最广泛的通用开源消息代理。它于2007年发布,是消息传递系统的主要组件。目前,它用于流式处理用例。RabbitMQ能够处理后台任务或充当微服务之间的消息代理。它帮助web应用程序减少了负载。此外,它还减少了服务器对那些耗时的任务或资源的交付时间。 什么是Apache Kafka? Apache Kafka也是一个开源的分布式发布/订阅消息系统。它于2

ApachePulsar中的地理复制2:模式和实践

ApachePulsar中的地理复制2:模式和实践

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

在上一篇博文中,我概述了ApachePulsar中的地理复制功能。Apache Pulsar利用Apache BookKeeper提供的可扩展流存储,是一个消息传递系统,支持跨多个数据中心的同步地理复制(通过Apache BookKeeper)和异步地理复制(在Pulsar代理级别配置)。在这篇博文中,我将描述一些人们可以用来跨多个数据中心设置地理复制的模式。 异步地理复制只需30秒 首先,让我花

如何利用 AREX 在本地快速复现线上问题

如何利用 AREX 在本地快速复现线上问题

相关技术 1年前 (2023-05-08) 浏览: 184 评论: 0

在软件开发过程中,线上问题的复现和定位是开发日常的一个活动。然而令开发人员头疼的是,由于线上环境与本地环境的配置和数据存在差异(如数据库中的数据、缓存中的数据等),线上的问题往往无法快速在本地测试环境中进行复现,排查困难度大大增加。 面对这种问题,可以利用 AREX 这款自动化回归测试工具来进行快速复现。AREX 的基本原理是在生产环境中录制流量和数据,在测试环境回放并自动比对接口服务内的外部请求

云原生应用讲解系列一

云原生应用讲解系列一

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

某一天,在办公室,你在做“下一件大事” 你的手机响了。是你友好的招聘者——一天给你打两次电话谈新工作的人。 但这次不同了:创业、股权和充足的资金。 一提到云和尖端技术,你就会被推到边缘。 快进几周,你现在是一个新员工在设计一个主要的电子商务应用程序的设计会议。你将与领先的电子商务网站竞争。 你将如何建造它? 如果您遵循过去15年的指导,您很可能会构建如图1.1所示的系统。 传统单体设计 构建一个包

Spring Webflux的响应式Java简介

Spring Webflux的响应式Java简介

相关技术 3年前 (2021-06-17) 浏览: 556 评论: 0

在本文中,您将使用Spring Boot和Spring Webflux创建一个反应式web服务。web服务将演示如何使用Split的javasdk在反应式环境中使用特性标志。您将使用Spring initializer项目快速地用必要的配置参数引导应用程序。您将构建的简单应用程序将公开一个资源,该资源每秒从James Baldwin的《致我侄子的一封信》中的一段话流式传输一次单词。 Java中的反

Apache Pulsar——下一代消息发布订阅平台

Apache Pulsar——下一代消息发布订阅平台

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

Apache Pulsar是一个开源发布-订阅消息平台,由持久存储(Apache Bookkeeper)支持,具有以下特性: Geo-Replication 多租户 零数据丢失 Zero Rebalancing Time 统一排队和流模型 高度可扩展 高通量 Pulsar代理 功能 Pulsar文档详细解释了每个特征;这个博客是从Pulsar用户的角度写的,涵盖了在开始使用Pulsar之前需要了解

Kubernetes上的gRPC负载均衡服务

Kubernetes上的gRPC负载均衡服务

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

gRPC是用于进程间通信的最流行的现代RPC框架之一。对于微服务体系结构来说,这是一个很好的选择。毫无疑问,部署微服务应用程序最流行的方法之一是Kubernetes。 Kubernetes部署可以有相同的后端实例来服务许多客户端请求。Kubernetes的ClusterIP服务提供负载平衡的IP地址。但是,这种默认的负载平衡在gRPC中无法立即实现。如果您将gRPC与许多部署在Kubernetes

intellij idea与Eclipse的区别

intellij idea与Eclipse的区别

相关技术 3年前 (2021-03-11) 浏览: 2487 评论: 0

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

使用Spring Native将SpringBoot程序转换为GraalVM

使用Spring Native将SpringBoot程序转换为GraalVM

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

Spring发布了一个新工具Spring Native Beta,用于将现有的Spring Boot应用程序(用Java或Kotlin编写)转换为GraalVM本机映像。目标是在springnative上支持Spring Boot应用程序。GraalVM本机映像很小,经过优化,启动速度很快。然而,与JVM相比,折衷的办法是构建时间更长,运行时优化更少。 Spring Native与GraalVM团

软件工程领域建模

软件工程领域建模

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

领域建模被理解为抽象建模。站点模型可以是在缺陷域中显示的想法或对象的说明。它还捕获了这些对象之间的明显关系。这类抽象对象的样本区域单位为图书、图书登记簿、会员登记簿、图书馆会员等。 建议的策略是快速生成一个粗略的抽象模型,只要压力是发现需求中表达的明显想法,而推迟深入的调查。后来在整个事件方法中,抽象模型被逐步地细化和扩展。领域分析中已知的3种对象。 整个领域分析中已知的对象分为3种类型: 边界对

Apache Ignite实践

Apache Ignite实践

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

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

如何分析算法的时间和空间复杂度

如何分析算法的时间和空间复杂度

相关技术 2年前 (2022-06-13) 浏览: 480 评论: 0

在计算机科学中,计算复杂性解释了算法的性能。 计算复杂性 计算复杂性或简单的复杂性是一个计算机科学概念,它关注运行任务所需的计算资源数量。 算法复杂性是比较算法效率的一种方法。可以根据程序运行所需的时间(时间复杂度)或消耗的内存量(空间复杂度)来衡量复杂度。 算法的复杂性 算法的复杂性是在一个比较的尺度上完成的。以下是不同的类型,从最好到最差。最后,我们还有一个图表,显示它们之间的比较情况。 恒定

下一代虚拟机-GraalVM

下一代虚拟机-GraalVM

相关技术 3年前 (2021-03-27) 浏览: 567 评论: 0

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

使用SpringBoot创建RSocket服务器

使用SpringBoot创建RSocket服务器

相关技术 3年前 (2021-05-15) 浏览: 595 评论: 0

在微服务的多样化世界中,HTTP是代理到代理通信中无可争议的领导者。它成熟,无处不在。但在某些情况下,HTTP请求-响应可能很麻烦。如果您需要传统请求-响应之外的通信模式,如fire-and-forget或streaming,该怎么办?如果你想向任何一个方向发送信息呢? 有了HTTP,有很多方法可以实现这一点,但这不是构建协议的目的。许多解决方案都带有额外的权衡或缺点。另外,这里没有规则手册说“你

Spring Boot配置Caffeine缓存示例

Spring Boot配置Caffeine缓存示例

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

昂贵的(CPU或I/O)绑定操作会降低系统的速度。缓存是提高系统性能的一种方法。在本文中,我们将演示如何使用Spring-Boot进行缓存。您可以使用caffeine作为spring框架缓存抽象之上的缓存提供者。 Maven依赖项 我们使用Maven来管理我们的项目依赖关系。首先,将以下依赖项添加到项目中。在本例中,我们使用com.github.ben-manes.caffee-caffee作为缓

登录

忘记密码 ?

切换登录

注册