一文教你理解微服务架构中的Redis

2020-07-02 00:00:00 微服 消息 应用程序 配置 这是

了解如何将Redis与Spring Cloud和Spring Data一起使用以提供配置服务器,消息代理和数据库。



这里给大家分享一下我的专栏《Java 进阶集中营》,每天都会给大家分享一个新的java技术内容,有的技术讯息,也欢迎分享在我的专栏里。

JAVA 进阶集中营zhuanlan.zhihu.com

Redis可以广泛用于微服务架构中。它可能是少数流行的软件解决方案之一,你的应用程序可以通过许多不同的方式来利用这些解决方案。根据要求,它可以充当主数据库,缓存或消息代理。虽然它也是键/值存储,但我们可以将其用作微服务体系结构中的配置服务器或发现服务器。尽管通常将其定义为内存中的数据结构,但我们也可以在持久模式下运行它。

通过这篇文章,我将结合我自己所掌握的和近期在优锐课学习到的知识,向你展示一些将Redis与基于Spring Boot和Spring Cloud框架构建的微服务一起使用的示例。这些应用程序将使用Redis发布/订阅,使用Redis作为缓存或主数据库,后使用Redis作为配置服务器,彼此之间进行异步通信。这是说明所描述体系结构的图片。




Redis作为配置服务器

如果你已经使用Spring Cloud构建了微服务,则可能对Spring Cloud Config有所了解。它负责为微服务提供分布式配置模式。 不幸的是,Spring Cloud Config不支持将Redis作为属性源的后端存储库。这就是为什么我决定派生一个Spring Cloud Config项目并实现此功能的原因。我希望我的实现将很快包含在Spring Cloud的官方发行版中,我们如何使用它?很简单的。让我们来看看。

Spring Boot的当前SNAPSHOT版本是2.2.0.BUILD-SNAPSHOT,与用于Spring Cloud Config的版本相同。在构建Spring Cloud Config Server时,我们仅需要包括这两个依赖项,如下所示。

1 <parent>
 2     <groupId>org.springframework.boot</groupId>
 3     <artifactId>spring-boot-starter-parent</artifactId>
 4     <version>2.2.0.BUILD-SNAPSHOT</version>
 5 </parent>
 6 <artifactId>config-service</artifactId>
 7 <groupId>pl.piomin.services</groupId>
 8 <version>1.0-SNAPSHOT</version>
 9 <dependencies>
10     <dependency>
11         <groupId>org.springframework.cloud</groupId>
12         <artifactId>spring-cloud-config-server</artifactId>
13         <version>2.2.0.BUILD-SNAPSHOT</version>
14     </dependency>
15 </dependencies>

相关文章