理解 synchronized 同步锁的使用
非线程安全 是在多个线程对同一个对象中的实例变量进行并发访问,读取的数据不一致,即数据被意外修改过,出现了脏读。
synchronized 是 Java 中的关键字,是一种同步锁,可以修改方法、代码块、静态方法、类,使多线程以排队方式进行同步处理。
非线程安全 是在多个线程对同一个对象中的实例变量进行并发访问,读取的数据不一致,即数据被意外修改过,出现了脏读。
synchronized 是 Java 中的关键字,是一种同步锁,可以修改方法、代码块、静态方法、类,使多线程以排队方式进行同步处理。
JWT 实现库 java-jwt,使用 HMAC256 、 RSA512 算法生成的 Token 并进行验证的工具类。
非对称加密RSA工具类-RSAUtil.class
微服务之间的相互调用,需要一套认证机制来确认调用是安全的。这不同于在 API 网关的统一认证,主要是防止在微服务暴露在外网的情况下,内部接口被外部恶意调用。
如果微服务是在内网,对外暴露的只有 API 网关,则可以不用做认证。本篇以 JWT 技术来实现安全认证。更多关于 JWT ,可参考分布式应用系列(一):详细理解 JWT(Json Web Token)。
JDK 自带的线程类实现了 Runnable 接口,提供了很多方法来支持对线程的操作,可以获取线程ID,线程名,判断线程是否存活等。
在分布式微服务架构中,特别是跨域访问的情况下,通常会使用 JWT 技术来实现安全认证。
JSON Web Tokens 是一种开放的、行业标准的 RFC7519 规范,用于安全地表示双方之间的声明。
JDK 中已提供了对多线程的支持,可以很方便 实现多线程编程,主要有两种方式:一种是继承 Thread 类,另一种是实现 Runnable 接口。
Spring Cloud Stream 提供了 Rabbit 和 Kafka 的绑定器实现,但 Rabbit 与 Kafka 的实现结构并不完全相同,这两者与 Spring Cloud Stream 提供的绑定器实现的关联概念需要了解清楚。
Spring Cloud Stream Kafka Binder 参考指南,Spring Cloud Stream RabbitMQ Binder 参考指南,Github > spring-cloud-stream-binder-rabbit,Github > spring-cloud-stream-binder-kafka。
本篇主要描述 Spring Cloud Stream 编程模型的三个核心概念:Destination Binders(目标绑定器)、Destination Bindings(目标绑定)、Message(消息),还包含错误处理。
理解这些核心概念,了解具体使用及其背后一些运行机制,可以更好的理解 Spring Cloud Stream 这款组件。
Spring Cloud Stream 官方文档,Spring Cloud Stream Project,Github > Spring Cloud Stream,Github > Spring-Retry。
Spring Cloud Stream 是一个用于构建消息驱动的微服务应用的框架。Spring Cloud Stream 构建于Spring Boot之上,用于创建独立的生产级 Spring 应用程序,并使用 Spring Integration 提供与消息代理的连接。
Spring Cloud Stream 还为一些供应商的消息中间件提供了个性化的独立配置实现。还引入了持久化发布 - 订阅,消费者组 和 分区 的概念。