背景
前言
我第一次接触 OAuth 是在 2010 年,当时我正在构建一个 API,我知道我希望第三方开发人员能够在其基础上构建应用程序。当时,OAuth 看起来令人生畏。OAuth 1 的实现只有少数几个,而 OAuth 2.0 仍是一个草稿。一天晚上,我决定坐下来,拿着精酿啤酒和最新草案的纸质副本,从头到尾阅读它,直到我理解它。
More »Java, Spring Boot, Microservice, Cloud, Architecture and DevOps Tutorials
我第一次接触 OAuth 是在 2010 年,当时我正在构建一个 API,我知道我希望第三方开发人员能够在其基础上构建应用程序。当时,OAuth 看起来令人生畏。OAuth 1 的实现只有少数几个,而 OAuth 2.0 仍是一个草稿。一天晚上,我决定坐下来,拿着精酿啤酒和最新草案的纸质副本,从头到尾阅读它,直到我理解它。
More »这篇文章以简化的格式描述了 OAuth 2.0,以帮助开发人员和服务提供商实现该协议。
OAuth 2 规范读起来可能有点混乱,所以我写了这篇文章来帮助以简化的格式描述术语。核心规范将许多决策留给实现者,通常基于实现的安全权衡。这篇文章没有描述成功实施 OAuth 2 所需的所有可能决策,而是做出适用于大多数实现的决策。
More »OAuth2.0 授权框架允许第三方应用获取对 HTTP 服务的有限的访问权限,既可以以资源所有者名义在资源所有者和 HTTP 服务之间进行允许的交互,也可以允许第三方应用以自己的名义进行访问。本规范取代并淘汰 RFC 5849 中描述的 OAuth 1.0 协议。
More »VMware 推出了一个实验性的项目Spring Modulith,以便于通过模块和事件更好地组织 Spring Boot 3 应用。该项目引入了新的类和注解,但并不会生成代码。它的模块没有使用 Java Platform Module System(JPMS),而是映射到了普通的 Java 包。模块有 API,但是 Spring Modulith 鼓励使用 Spring 应用事件作为“主要的交互方式”。这些事件可以自动持久化到事件日志中。Spring Modulith 还简化了模块和事件的测试。
More »原文链接:https://noobj.medium.com/exploring-http2-part-1-overview-dc3e9b53968f
让我们来谈谈 http2 的内容、原因、时间和方式
完整的代码可以在github上找到。
第 1 部分:概述 第 2 部分:使用 node-http2 核心和 hapijs 进行探索
More »原文链接:https://noobj.medium.com/exploring-http2-part-2-with-node-http2-core-and-hapijs-74e3df14249
来源:https://www.thewebmaster.com/
先决条件:了解 javascript、客户端-服务器架构。
完整的代码可以在github上找到。
第 1 部分:概述(http2 的原因、内容、时间、方式)第 2 部分:使用 node-http2 核心和 hapijs 进行探索
More »原文链接:https://ably.com/topic/socketio-vs-http
在规划实时应用程序时,您应该仔细考虑要使用哪些技术。本文对Socket.IO实时库和HTTP协议进行了比较。下面您将了解每种解决方案的功能、每种解决方案的优缺点以及何时使用它们。
Socket.IO 是一个创建于 2010 年的库,提供客户端和服务器之间的实时双向通信。它允许管理连接、发送和接收消息等等。这使得 Socket.IO 成为构建消息/聊天应用程序的理想选择。
More »原文链接:https://ably.com/topic/websocket-alternatives
简而言之,WebSocket 是一种实时 Web 技术,可通过持久连接在客户端和服务器之间实现双向、全双工通信。 WebSocket 连接会根据需要保持活动状态(理论上,它可以永远持续),从而允许服务器和客户端以最小的开销随意发送数据。
More »原文链接:https://ably.com/topic/apache-kafka-vs-rabbitmq-vs-aws-sns-sqs
将消息从一个组件获取到另一个组件是微服务架构中最重要的部分之一。每个服务必须能够与任何其他服务异步、可靠且大规模地通信。
这就是消息代理的用武之地。消息代理(例如 Apache Kafka、RabbitMQ 和AWS SNS/SQS)为您提供一个通用接口和一组保证,而不是手动协调可能数千个微服务之间的通信。这简化了集成并更容易推理您的系统。
然而,比较消息代理可能很棘手,因为每个消息代理都采用不同的方法来完成工作。那么,您如何决定哪个消息代理最适合您的用例?
More »