一个精彩的播客:Google 疯狂科学家 Josh Suereth 关于 OpenTelemetry 可观测性、构建更好的构建工具等等的分享

工程 | Josh Long | 2022 年 10 月 13 日 | ...

大家好,Spring 粉丝们!在本期节目中,Josh Long (@starbuxman) 将探讨 Spring Boot 3 AOT 的最新进展,然后与 Google 的 Josh Suereth (@jsuereth) 讨论使用 OpenTelemetry 实现可观测性、构建更好的构建工具等等。

想了解更多关于 Spring Boot 和更广泛生态系统的信息吗?SpringOne 2022 就要到了!如果你想有机会向源码学习,我希望你能加入我们,于 2022 年 12 月 6 日至 8 日,就在我的家乡旧金山,我最喜欢的美国西海岸城市。 (悄悄告诉你:如果你现在注册,使用此…,通行证价格可享 200 美元折扣)

Spring Boot 3 中的可观测性

工程 | Marcin Grzejszczak | 2022 年 10 月 12 日 | ...

Spring 可观测性团队一直在为 Spring 应用添加可观测性支持,并且已经持续了一段时间。我们很高兴地通知您,此功能将在 Spring Framework 6 和 Spring Boot 3 中普遍可用!

什么是可观测性?在我们看来,它是“通过检查系统的输出来了解其内部运作的程度”。我们认为,指标、日志记录和分布式跟踪之间的相互关联使您能够推断系统的状态,以便调试应用程序中的异常和延迟。您可以在Enlightning 与 Jonatan Ivanov 的这一集中观看更多关于我们对可观测性的理解…

拥抱虚拟线程

工程 | Mark Paluch | 2022 年 10 月 11 日 | ...

通过 JEP 425,Project Loom 已进入 JDK。自 2022 年 9 月的 Java 19 版本起,它作为预览特性提供。其目标是显著减少编写、维护和观察高吞吐量并发应用程序的工作量。

虚拟线程的适用场景

这使得轻量级虚拟线程成为应用开发者和 Spring Framework 的一种令人兴奋的方法。过去几年,应用之间通过网络互相通信的趋势日益明显。许多应用使用数据存储、消息代理和远程服务。如果构建时使用了阻塞 I/O 工具,例如 InputStream 以及同步的 HTTP、数据库和消息代理客户端,那么 I/O 密集型应用将是虚拟线程的主要受益者。在虚拟线程上运行此类工作负载…

Spring 本周回顾 - 2022 年 10 月 11 日

工程 | Josh Long | 2022 年 10 月 11 日 | ...

大家好,Spring 粉丝们!欢迎来到新一期的《Spring 本周回顾》!我写这期的时候正在为我的比利时安特卫普之行打包和准备,去参加那里总是很精彩的 Devoxx 大会。疫情期间我非常想念这个大会,现在也非常期待能够再次参加。我希望在那里能见到大家!我将和我的朋友 James Ward 一起,介绍 Spring Boot 3 和 Kotlin 中的一些新颖之处。这将会非常棒——加入我们,我们将一起玩得开心!

现在,我们有很多内容要讲,所以让我们直接开始吧!

Spring 技巧:Spring Boot & Apache Kafka

工程 | Josh Long | 2022 年 10 月 10 日 | ...

大家好,Spring 粉丝们!在本期 Spring 技巧中,我将探讨备受推崇的 Apache Kafka 代理及其在 Spring Boot 生态系统中不同抽象级别的集成。

想了解更多关于事件驱动架构、AOT 和 GraalVM、Apache Kafka 以及 Spring Boot 的信息吗?SpringOne 2022 就要到了!如果你想有机会向源码学习,我希望你能加入我们,于 2022 年 12 月 6 日至 8 日,就在我的家乡旧金山,我最喜欢的美国西海岸城市。 (悄悄告诉你:如果你现在注册,使用此代码 S1VM22_Advocate_200,通行证价格可享 200 美元折扣。)

一个精彩的播客:Spring 和 Java 社区传奇人物 Marten Deinum

工程 | Josh Long | 2022 年 10 月 06 日 | ...

大家好,Spring 粉丝们!在本期节目中,Josh Long (@starbuxman) 与长期活跃于 Spring 社区的成员和传奇人物 Marten Deinum (@mdeinum) 聊了聊潜水、软件、Spring、社区等等。

另外:我修复了过去几期节目中间出现的奇怪静音!感谢大家与我一起忍受。我不知道出了什么问题,但现在我知道如何修复它了

想结识我们生态系统中更多了不起的人物,比如 Marten 吗?SpringOne 2022 就要到了!我感觉这就像某种重要的节日来临前的焦虑又兴奋的时刻,你会收到礼物!随之而来的还有 Spring Boot…

Spring 本周回顾 - 2022 年 10 月 4 日

工程 | Josh Long | 2022 年 10 月 04 日 | ...

大家好,Spring 粉丝们!欢迎来到新一期的《Spring 本周回顾》!今天是 2022 年 10 月 4 日,我正在德克萨斯州奥斯汀参加原名为 Kafka Summit 的新版大会,在这里与大家讨论 Spring Boot 和 Apache Kafka 的绝佳机会。12 日我将在比利时安特卫普参加精彩的 Devoxx 大会。10 月 17 日至 20 日,我将在拉斯维加斯参加新版 JavaOne 大会。嗯,还有更多内容,但我暂时不能透露具体细节。敬请关注!

至于现在,我很高兴来到这里!本周我们有很多精彩内容要讲,所以让我们直接开始吧…

一个精彩的播客:思想领袖 Chris Richardson(不,我使用这个头衔可不是讽刺!)

工程 | Josh Long | 2022 年 9 月 29 日 | ...

大家好,Spring 粉丝们!在本期节目中,Josh Long (@starbuxman) 与他的朋友 Chris Richardson (@crichardson) 进行了交谈。Chris Richardson 早在时代思潮兴起之前就帮助阐述和推进了云计算、反应式编程、微服务、领域驱动设计、事件溯源等等众多领域。而且,我们以前还是同事!

想结识我们生态系统中更多了不起的人物,比如 Chris 吗?SpringOne 2022 就要到了!我感觉这就像某种重要的节日来临前的焦虑又兴奋的时刻,你会收到礼物!随之而来的还有 Spring Boot 3 和 Spring Framework 6。我们将要宣布…

告别密码:Spring Boot 应用连接 Azure 服务无需密码

工程 | Josh Long | 2022 年 9 月 27 日 | ...

使用用户名/密码凭据从一个应用访问另一个应用会带来巨大的安全风险。今天,我们宣布推出 Java 应用连接 Azure 数据库和事件服务的无密码连接预览版,让您最终摆脱使用密码的方式。

密码带来的安全挑战

应谨慎使用密码,开发者绝不能将密码放在不安全的位置。许多 Java 应用使用用户名和密码,或其他敏感凭据,例如访问令牌或连接字符串,连接到后端数据、缓存、消息和事件服务。如果暴露,密码可能被用于未经授权地访问敏感信息,例如您为即将到来的活动构建的销售目录,或仅仅是必须保密的所有客户数据。

将密码嵌入应用程序本身会带来巨大的安全风险,原因有很多,包括通过代码仓库被发现(见图 1)。许多开发者使用环境变量将密码外部化,以便应用可以从不同的环境加载密码。然而,这只是将风险从代码本身转移到了执行环境。任何获得环境访问权限的人都可以窃取密码,这反过来又增加了您的数据泄露风险。

图 1 – 显示了包含嵌入式用户名和密码连接数据库的 Java 代码

我们的客户可能有严格的安全要求,需要在不向开发者、运维人员或任何其他人暴露密码的情况下连接 Azure 服务。他们通常使用密钥保管库来存储密码并将其加载到应用程序中,并通过添加密码轮换要求和流程来进一步降低风险。这反过来会增加运维复杂性,并可能导致应用程序连接中断。

无密码连接 – 零信任

现在您可以在应用程序中使用无密码连接,通过无代码配置连接到基于 Azure 的服务。您不再需要定期轮换密码。零信任遵循“永不信任,始终验证且无需凭证”的原则,通过在授予机器或用户访问后端服务的权限之前验证其身份,帮助确保所有通信的安全。

“我们拥有的每一个密码和每一个密钥保管库都是潜在的风险,增加了更多的开销和管理成本。我总是很高兴看到有更多的身份验证和授权工作为我们处理好,并作为简单的集成方案交付到 Azure 上的 Java 和 Spring 生态系统中。当我现在 PostgreSQL 支持无密码连接而删除我们的密钥保管库时,我不会流一滴眼泪。”
-Jonathan Jones,首席解决方案架构师,瑞士再保险管理有限公司 (瑞士)

使用托管标识和 Azure RBAC(基于角色的访问控制)组合是实现 Java 应用程序到 Azure 服务安全无密码连接的推荐认证选项。开发者或运维人员无需手动跟踪和管理托管标识的众多不同密钥,因为这些任务由 Azure 内部安全处理。

您可以使用 Service Connector(见图 2)配置与 Azure 服务的无密码连接,也可以手动配置。Service Connector 在 Azure Spring Apps、App Service 和 Azure Container Apps 等应用托管服务中启用托管标识。它使用托管标识和 Azure RBAC 为后端服务配置无密码连接,并向应用程序提供必要的连接信息——不再需要密码。

图 2 – Service Connector 为 Java 应用配置与 PostgreSQL 数据库的无密码连接

如果您检查配置了无密码连接的应用程序的运行环境,您可以看到完整的连接字符串。例如,图 3 显示了它如何包含数据库服务器地址、数据库名称以及将身份验证委托给 Microsoft Azure JDBC 身份验证插件的指令。

图 3 – 数据源配置“spring.datasource.url”显示无密码连接

让我们考虑一个使用 Spring Cloud Azure starter 连接 PostgreSQL 数据库的 Spring Boot 应用。starter 为 Spring Data JPA 模块构建了一个不含密码的连接字符串。通过连接字符串,驱动程序明白它必须加载使用 Azure Identity Client Library 获取访问令牌的 Azure JDBC 身份验证插件。驱动程序使用该令牌作为密码登录数据库 - 不再需要密码。

对于本地开发和测试,开发者可以使用相同的配置,无需使用密码连接到服务。您将通过 Azure CLI、IntelliJ 或任何开发工具进行身份验证,并使用该身份为应用程序安全地连接 Azure 服务提供访问权限,无需密码。

了解更多并告别密码!

您可以在您的应用中摆脱使用密码。立即将您现有的 Java 应用程序迁移到使用无密码连接 Azure 服务吧!

了解更多关于无密码连接的信息 – https://aka.ms/Delete-Passwords

资源

<tbody>

<tr>
    <td>Azure Service</td>
    <td>Java Quickstart</td>
    <td>Spring Quickstart</td>
    <td>Migration Guide</td>
</tr>


<tr>
    <td> Azure Database for MySQL</td>
    <td>
    <a href="https://learn.microsoft.com/en-us/azure/mysql/single-server/connect-java?toc=%2Fazure%2Fdeveloper%2Fintro%2Ftoc.json&amp;bc=%2Fazure%2Fdeveloper%2Fintro%2Fbreadcrumb%2Ftoc.json&amp;tabs=passwordless">JDBC</a>
    </td>
    <td>
        <div><a href="https://learn.microsoft.com/en-us/azure/developer/java/spring-framework/configure-spring-data-jdbc-with-azure-mysql?tabs…

Spring 本周回顾 - 2022 年 9 月 27 日

工程 | Josh Long | 2022 年 9 月 27 日 | ...

大家好,Spring 粉丝们!欢迎来到新一期的《Spring 本周回顾》

已经是九月的最后一周了!今年大部分时间已经过去。白天越来越短,黑夜来得更早。南瓜香料拿铁也来了。天色变暗、天气变冷有点令人沮丧,但每到这个时候我仍然感到兴奋和无比喜悦。你知道为什么吗?

SpringOne 2022 就要到了!我感觉这就像某种重要的节日来临前的焦虑又兴奋的时刻,你会收到礼物!随之而来的还有Spring Boot 3 和 Spring Framework 6。当然,我们将在这里,在 Spring 博客上宣布所有内容,但如果你想有机会向源码学习,那么我希望你能加入我们,于 2022 年 12 月 6 日至 8 日,就在我的家乡旧金山,我最喜欢的美国西海岸城市。 (悄悄告诉你:如果你现在注册,使用此代码 S1VM22_Advocate_200,通行证价格可享 200 美元折扣…

订阅 Spring 资讯

订阅 Spring 资讯,保持联系

订阅

领先一步

VMware 提供培训和认证,助您加速进步。

了解更多

获取支持

Tanzu Spring 通过一份简单的订阅即可提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

近期活动

查看 Spring 社区所有近期活动。

查看全部