本专区由 服务端 团队提供资讯和技术支持,欢迎社区成员申请加入管理小组。
Spring Boot 3.2 于 2023 年 11 月大张旗鼓地发布,标志着 Java 开发领域的一个关键时刻。这一突破性的版本引入了一系列革命性的功能,包括: - 虚拟线程:利用 Project Loom 的虚拟线程释放可扩展性,从而减少资源消耗并增强并发性。 - Native Image支持:通过Native Image编译制作速度极快的应用程序,减少启动时间并优化资源利用率。 - JVM 检查点:利用 CRaC 项目的 JVM 检查点机制实现应用程序的快速重启,无需冗长的重新初...
## 1 前言 - 不稳定的网络 - 有限的硬件资源 物联网应用两大难题,MQTT 客户端与服务器的连接可能随时因网络波动及资源限制而异常断开。为解决网络连接断开对通信造成的影响,MQTT 协议提供持久会话功能。 MQTT 客户端在发起到服务器的连接时,可设置是否创建一个持久会话。持久会话会保存一些重要数据,以使会话能在多个网络连接中继续。 ## 2 作用 - 避免因网络中断导致需要反复订阅带来的额外开销 - 避免错过离线期间的消息 ...
## 本期概要 在开源的第二个双周里,作为一个成长中的开源项目,AutoMQ做了很多的优化和重构,以下是相关重点动态的总结。 AutoMQ Kafka:写链路耗时优化、快慢读隔离、Spot 实例强制回收容灾。 AutoMQ RocketMQ:历史数据冷读优化、LogCache 读写耗时优化、发布 v0.0.3-alpha 版本、发布 Helm Chart、发布文档站。 ## AutoMQ Kafka 精选动态 ### 写链路耗时优化 原来所有的写入和回调都会放到一个单线程线程池去进行处理来确保...
## 1 简介 Spring Data Redis是 Spring Data 系列的一部分,它提供了Spring应用程序对Redis的轻松配置和使用。它不仅提供了对Redis操作的高级抽象,还支持Jedis和Lettuce两种连接方式。 可通过简单的配置就能连接Redis,并且可以切换Jedis和Lettuce两个连接方式。下面先来看看我们该如何使用它。 ## 2 使用 ### 2.1 引入Redis依赖 使用Spring Boot 提供的spring-boot-starter-data-redis依赖 ```xml org.springframework.boot ...
就在今天凌晨,Spring Boot 3.2正式发布了!该版本是在Java 21正式发布之后的重要支持版本,所以在该版本中包含大量对Java 21支持的优化。 下面,我们分别通过Spring官方发布的博文和Josh Long长达80+分钟的介绍视频,一起认识一下Spring Boot 3.2最新版本所带来的全新内容。 - 官方博文:https://spring.io/blog/2023/11/23/spring-boot-3-2-0-available-now - Josh Long的视频:https://www.youtube.com/watch?v=dMhpDdR6nHw...
现一个 Java 21 中有意思的东西! 在`java.Lang.Character`类中增加了用于确定字符是否为 Emoji 表情符号的 API,主要包含下面六个新的静态方法: ```java public static boolean isEmoji(int codePoint) { return CharacterData.of(codePoint).isEmoji(codePoint); } public static boolean isEmojiPresentation(int codePoint) { return CharacterData.of(codePoint).isEmojiPresentation(codePoint); } public static boolea...
## ElasticSearch 索引设计 ![img](https://oscimg.oschina.net/oscnet/up-6d59d86129540e37ffe93047e060268f91a.png) > 在MySQL中数据库设计非常重要,同样在ES中数据库设计也是非常重要的 ### 概述 > 我们创建索引就像创建表结构一样,必须非常慎重的,索引如果创建不好后面会出现各种各样的问题 #### 索引设计的重要性 > 索引创建后,索引的分片只能通过`_split`和`_shrink`接口对其进行成倍的增加和缩减 主要是因为es的数据...
## RocketMQ消息投递策略 ![img](https://oscimg.oschina.net/oscnet/up-f34405dabce96030ada29fd2ea4db4df918.jpg) - **作者:** 博学谷狂野架构师 - **GitHub:**[GitHub地址](https://jsk3mj0kxv.feishu.cn/wiki/wikcnEGswtnqDCxVjw2p5350pMD) (有我精心准备的130本电子书PDF) > 只分享干货、不吹水,让我们一起加油!😄 ### 前言 RocketMQ的消息投递分分为两种:一种是`生产者`往MQ Broker中投递;另外一种则是MQ broker...
## TiDB 基础使用 ![Database of Databases - TiDB](https://oscimg.oschina.net/oscnet/up-820688a1731c16b768e1243edfde92e93b6.png) ### TiDB dashboard使用 > TiDB Dashboard 是 TiDB 自 4.0 版本起提供的图形化界面,可用于监控及诊断 TiDB 集群。TiDB Dashboard 内置于 TiDB 的 PD 组件中,无需独立部署。 ![image-20210309181206197](https://baiyp.ren/images/tidb/tidb71.gif) #### 集群概况 > 查看集群整体 QPS 数值、...
## TIDB简介 ![Database of Databases - TiDB](https://oscimg.oschina.net/oscnet/up-3e36f43b033f2796d97026f40b735e51416.png) ### 什么是TIDB > TiDB 是一个分布式 NewSQL 数据库。它支持水平弹性扩展、ACID 事务、标准 SQL、MySQL 语法和 MySQL 协议,具有数据强一致的高可用特性,是一个不仅适合 OLTP 场景还适合 OLAP 场景的混合数据库。 [TiDB](https://github.com/pingcap/tidb) 是 [PingCAP](https://pingcap.com/ab...
本文从可扩展性和服务发现集成等多个维度对比了 APISIX Ingress 与 Emissary-ingress 的性能。 > 作者:容鑫,API7.ai 云原生技术工程师,Apache APISIX Committer。 [原文链接](https://www.apiseven.com/blog/apisix-ingress-vs-emissary-ingress) ## 背景 Kubernetes Ingress 是一种 API 对象,用于定义集群外部流量如何路由到集群内部服务的规则。Ingress Controller 通常用于实现 Ingress 资源的相关逻辑,并统一管理这些流...
本篇文章分析了 SOAP-to-REST 的多种实现方式,并介绍如何使用 APISIX 做零代码代理。 > 作者罗锦华,API7.ai 技术专家/技术工程师,开源项目 pgcat,lua-resty-ffi,lua-resty-inspect 的作者。 [原文链接](https://www.apiseven.com/blog/apisix-soap-to-rest-plugin) ## 1. 什么是 Web Service Web Service 由万维网联盟 (W3C) 定义为一种软件系统,旨在支持通过网络进行可互操作的计算机间交互。 Web Service 完成特定任务或...
![file](https://oscimg.oschina.net/oscnet/up-b99bd17eb767ebcda2c9eeae64b6eca4ed5.png) 1. 连接层 最上层是一些客户端和链接服务,包含本地sock 通信和大多数基于客户端/服务端工具实现的类似于 TCP/IP的通信。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层上引入了线程 池的概念,为通过认证安全接入的客户端提供线程。同样在该层上可以实现基于SSL的安全链接。服务 器也会为安全接入的每个客户端验证它...
这是最好的时代,我们满怀信心施展才华;这也是最坏的时代,我们遇到了前所未有的竞争。工程师们从不畏惧困难,因为热爱能化解一切困难。本文源于对张超(API7 Cloud 团队负责人,Apache APISIX PMC member)的采访,这是一个关于 API7 Cloud 诞生的故事,路转峰回,寻寻觅觅。一年半后,我们舒颜感叹:莫愁千里路,自有到来风! ## 一款优秀的产品只需要一个契机 云原生时代风云变幻,开源产品层出不穷。 2019 年 APISIX 在温铭...
本篇文章利用 KEDA 使用 Prometheus 采集 APISIX 暴露出来的指标作为伸缩器,进而实现基于流量的应用程序弹性伸缩。 > 作者[张晋涛](https://github.com/tao12345666333),API7.ai 云原生工程师,Apache APISIX PMC。 [原文链接](https://www.apiseven.com/blog/how-to-scale-application-elastically-in-kubernetes) ## 介绍 通常情况下,每个应用可以承载的压力都是固定的,我们可以通过提前进行压测来了解单应用程序副本的负...
> 作者张晋涛,API7.ai 云原生技术专家,Apache APISIX PMC 成员,Apache APISIX Ingress Controller 项目维护者。 [原文链接](https://www.apiseven.com/blog/apisix-ingress-integrates-with-service-discovery) ## 云原生场景下是否需要服务发现 ### 背景 微服务架构是当前最为流行的应用架构之一。 应用被拆分为多个服务组件,通过相互配合共同完成业务的具体逻辑和功能。 随着应用规模的增加和微服务拆分粒度的不同,一套系...
> 罗泽轩,API7.ai 技术专家/技术工程师,Apache APISIX PMC 成员。 [原文链接](https://www.apiseven.com/blog/migrate-etcd-operation-from-http-to-grpc-in-apisix) ## Apache APISIX 现有基于 HTTP 的 etcd 操作的局限性 etcd 在 2.x 版本的时候,对外暴露的是 HTTP 1 (以下简称 HTTP)的接口。etcd 升级到 3.x 版本后,其对外 API 的协议从普通的 HTTP 切换到了 gRPC。为了兼顾那些不能使用 gRPC 的特殊群体,etcd 通过 ...
> 作者罗锦华,API7.ai 技术专家/技术工程师,开源项目 pgcat,lua-resty-ffi,lua-resty-inspect 的作者。 [原文链接](https://www.apiseven.com/blog/apisix-inspect-plugin) ## 为什么需要 Lua 动态调试插件? Apache APISIX 有很多 Lua 代码,如何在运行时不触碰源代码的情况下,检查代码里面的变量值? 修改 Lua 源码来调试有如下缺点: * 生产环境不允许也不应该修改源码 * 修改源码需要 reload,使得业务功能失效 * 容器...
> 作者[罗锦华](https://github.com/kingluo),API7.ai 技术专家/技术工程师,开源项目 pgcat,lua-resty-ffi,lua-resty-inspect 的作者。 ## OAuth 的背景 OAuth,O 是 Open,Auth 是授权,也就是开放授权的意思。OAuth 始于 2006 年,其设计初衷正是委托授权,就是让最终用户也就是资源拥有者,将他们在受保护资源服务器上的部分权限(例如查询当天订单)委托给第三方应用,使得第三方应用能够代表最终用户执行操作(查询当天...
> 作者孙毅,API7.ai 技术工程师,Apache APISIX Committer 万物互联的世界充满着各式各样的 API ,如何统筹规范 API 至关重要。[RESTful API](https://en.wikipedia.org/wiki/Representational_state_transfer) 是目前世界上最流行的 API 架构风格之一,它可以帮助你实现客户端与服务端关注点分离,让前后端各自迭代,提升管理效率;其无状态的特性可以让应用更容易扩展,更容易的实现缓存策略从而提升系统性能和用户体验。本文...