0%
SpringCloud 详解(五)
Consul
一套开源的分布式服务发现和配置管理系统,由 HashiCorp 公司用 Go 语言开发。提供了微服务系统中的服务治理、配置中心、控制总线等功能。这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建全方位的服务网格,总之 Consul 提供了一种完整的服务网格解决方案。
运行
官方下载地址:https://www.consul.io/downloads,下载完之后解压,并在解压目录下运行下面的命令以开发者模式启动 Consul。
1 | consul agent -dev |
SpringCloud 详解(四)
服务信息显示优化
1 | eureka: |
服务发现 Discovery
注册进 eureka 的微服务,可以通过服务发现来获得服务的信息。
SpringCloud 详解(三)
Eureka
在传统的 RPC 远程调用框架中,管理每个服务之间的依赖关系比较复杂,管理也就比较复杂,所以需要使用服务治理,管理服务之间的依赖关系,可以实现服务调用、负载均衡、容错等,实现服务发现与注册。
在服务注册与发现中,有一个注册中心。当服务器启动的时候,会把当前服务器的信息,比如服务地址和通讯地址以别名方式注册到注册中心上。消费者以该别名的方式去注册中心上获取到实际的服务通讯地址,然后再实现本地 RPC 调用。
Eureka 采用了 CS 的设计架构,Eureka Sever 作为服务注册功能的服务器,它是服务注册中心。而系统中的其它微服务,使用 Eureka Client 连接到 Eureka Server 并维持心跳连接。这样就可以通过 Eureka Server 来监控系统中各个微服务是否正常运行。
搭建 Eureka Server
SpringCloud 详解(二)
支付模块(服务生产者)
准备工作
创建一个 Module,一个空的 Maven 项目。并导入下面的依赖。
1 | <dependencies> |
在 resources 文件夹下创建 application.yaml 配置文件,并加入下面的配置。
SpringCloud 详解(一)
SpringCloud = 分布式微服务架构的一站式解决方案,是多种微服务架构技术的集合体,俗称微服务全家桶。
SpringCloud Alibaba 和 SpringCloud 和 SpringBoot 的版本以及各组件版本兼容性选择请查看下面的版本说明:https://github.com/alibaba/spring-cloud-alibaba/wiki/版本说明
组件说明
SpringCloud 的组件有很多,在学习的时候需要抓住重点,并不是所有组件在一个项目中都会用到,很多时候我们需要的只是其中必要的部分,有了这些必要的东西就能完成所需要的功能。
Netflix 在 SpringCloud 项目中占着重要的地位,Netflix 公司提供了包括 Eureka、Hystrix、Zuul 等在内的很多组件,在微服务架构中至关重要,而 Spring 在 Netflix 的基础上,进一步封装了这些组件。但是因为一些原因,Netflix 提供的很多组件已不再维护,但并不是不能用了,所以还是需要学习其中的思想,而替代它们的新组件也要进行学习。