以下是 SivaLabs 博客 中的一些文章,记录在此,方便后面阅读。
如果你正在寻找使用 SpringBoot 实现微服务的详细实用指南,那么 Java 微服务:实用指南就是你的最佳选择
在使用 JPA 时,我们多少次希望看到使用实际参数值而不是占位符生成的 SQL 查询?我们可以使用p6spy-spring-boot-starter来记录使用实际参数生成的 SQL 语句。
More »
Java, Spring Boot, Microservice, Cloud, Architecture and DevOps Tutorials
以下是 SivaLabs 博客 中的一些文章,记录在此,方便后面阅读。
如果你正在寻找使用 SpringBoot 实现微服务的详细实用指南,那么 Java 微服务:实用指南就是你的最佳选择
在使用 JPA 时,我们多少次希望看到使用实际参数值而不是占位符生成的 SQL 查询?我们可以使用p6spy-spring-boot-starter来记录使用实际参数生成的 SQL 语句。
More »Kafka 是一个分布式流式处理平台。
流平台具有三个关键功能:
Kafka 主要有两大应用场景:
More »Spring Security 为 Java 应用程序提供了一套全面的安全功能,涵盖身份验证、授权、会话管理以及针对CSRF(跨站点请求伪造)等常见安全威胁的防护。Spring Security 框架具有高度可定制性,允许开发人员根据其应用程序需求来管理安全配置。它提供了一个灵活的架构,支持各种身份验证机制,如基本身份验证、JWT 和 OAuth。
More »测试是软件开发不可或缺的一部分。它可确保您的 Spring Boot 应用程序按预期运行,并在不断发展的过程中继续保持这种状态。在本文中,我们将探讨如何使用最佳实践和工具测试 Spring Boot 应用程序。
测试至关重要,原因如下:
More »activemq-broker 模块 test/java 目录下有个 IDERunner 类:
public class IDERunner {
private static final boolean TRANSPORT_TRACE = false;
public static void main(String[]args) throws Exception {
BrokerService brokerService = new BrokerService();
// brokerService.addConnector(
// "tcp://0.0.0.0:61616?trace=" + TRANSPORT_TRACE +
// "&transport.wireFormat.maxFrameSize=104857600");
brokerService.setPersistent(false);
brokerService.setUseJmx(false);
brokerService.setAdvisorySupport(false);
brokerService.start();
brokerService.waitUntilStopped();
}
}
注释掉 brokerService 调用 addConnector 方法的三行代码,然后 debug 运行该类的 main 方法。
More »ThingsBoard 源码地址:https://github.com/thingsboard/thingsboard,从 3.7 版本之后,要求 JDK17。官方提供了源码编译的文档:Building from sources
下载代码:
More »1、从 https://github.com/apache/activemq 下载源码
git clone https://github.com/apache/activemq
2、切换至 activemq-5.18.x 分支
More »原文链接:https://blog.bytebytego.com/p/a-crash-course-on-relational-database
在当今数据驱动的世界中,高效存储和管理信息是各种规模的企业和组织的关键要求。
关系数据库提供了一个强大的框架,用于根据实体之间明确定义的关系来存储和检索数据。它们提供了一种结构化的数据管理方法,使用户能够:
然而,仅仅使用关系数据库还不足以获得其好处。
有效的数据库设计对于优化性能、确保数据完整性和促进高效的数据检索至关重要。数据库设计原则(例如规范化、索引、连接和关系)在创建结构良好且性能良好的数据库中起着至关重要的作用。
More »原文链接:https://blog.bytebytego.com/p/a-crash-course-on-distributed-systems
分布式系统是多台计算机(也称为节点)的集合,它们协作执行特定任务或提供服务。
这些节点在物理上是分开的,并通过网络传递消息相互通信。分布式系统可以跨越地理边界,使其能够利用来自不同位置的资源。
分布式系统有几个区别于传统集中式系统的特点:
分布式系统在我们的日常生活中无处不在。例如 Google 搜索等大型 Web 应用程序、在线银行系统、多人游戏等。这些系统利用多台计算机协同工作,提供无缝且响应迅速的用户体验。
More »原文链接:https://blog.bytebytego.com/p/a-crash-course-in-database-sharding
随着应用程序越来越受欢迎,它会吸引更多活跃用户并加入更多功能。这种增长导致每日数据生成量增加,从业务角度来看,这是一个积极的指标。
然而,它也给应用程序的架构带来挑战,特别是在数据库可扩展性方面。
数据库是任何应用程序的关键组件,但它也是最难水平扩展的组件之一。当应用程序的流量和数据量增加时,数据库可能会成为性能瓶颈,影响用户体验。
分片是一种解决数据库横向扩展难题的技术。它涉及将数据库划分为更小、更易于管理的单元(称为分片)。
在这篇文章中,我们将介绍数据库分片的基础知识,探讨其各种方法、技术考虑因素,以及展示公司如何实施分片来扩展其数据库的真实案例研究。
分片是一种架构模式,用于解决管理和查询数据库中大型数据集的难题。它涉及将大型数据库拆分为更小、更易于管理的部分(称为分片)。
More »