浅谈Spring Cloud

Spring Boot和Spring Cloud的版本选择

查看SpringBoot对应的SpringCloud版本:

https://start.spring.io/actuator/info​​​​​​

如果选择SpringBoot2.2.0之前的版本,对应如图

关于Cloud各种组件的停更/升级/替换

微服务架构编码构建

注意点:约定>配置>编码

微服务模块构建主要有五步:

1、建module        2、改POM        3、写YML        4、主启动        5、业务类

Eureka服务注册与发现

服务治理:

        Spring Cloud 封装了 Netflix 公司开发的 Eureka 模块来实现服务治理。
        在传统的rpc远程调用框架中,管理每个服务与服务之间依赖关系比较复杂,管理比较复杂,所以需要使用服务治理,管理服务于服务之间依赖关系,可以实现服务调用、负载均衡、容错等,实现服务发现与注册。

服务注册与发现:

        Eureka采用了C/S设计架构,Eureka Server作为服务注册功能的服务器(一般存在多个Eureka Server,可以避免因某个服务模块单点故障导致服务崩溃),它是服务注册中心。而系统中的其他微服务,使用 Eureka的客户端连接到 Eureka Server并维持心跳连接。这样系统的维护人员就可以通过 Eureka Server 来监控系统中各个微服务是否正常运行。

                                 下左图是Eureka系统架构,右图是Dubbo的架构,请对比

Eureka包含两个组件:Eureka Server和Eureka Client

Eureka Server提供服务注册服务:
        各个微服务节点通过配置启动后,会在EurekaServer中进行注册,这样EurekaServer中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观看到。

EurekaClient通过注册中心进行访问:
        是一个Java客户端,用于简化Eureka Server的交互,客户端同时也具备一个内置的、使用轮询(round-robin)负载算法的负载均衡器。在应用启动后,将会向Eureka Server发送心跳(默认周期为30秒)。如果Eureka Server在多个心跳周期内没有接收到某个节点的心跳,EurekaServer将会从服务注册表中把这个服务节点移除(默认90秒)

Eureka集群原理说明

问题:微服务RPC远程服务调用最核心的是什么?
         高可用,试想你的注册中心只有一个only one, 它出故障了那就呵呵( ̄▽ ̄)"了,会导致整个为服务环境不可用,所以
         解决办法:搭建Eureka注册中心集群 ,实现负载均衡+故障容错 

Zookeeper服务注册与发现

zookeeper是一个分布式协调工具,可以实现注册中心功能

Consul服务注册与发现

Consul 是一套开源的分布式服务发现和配置管理系统,由 HashiCorp 公司用 Go 语言开发。
 
提供了微服务系统中的服务治理、配置中心、控制总线等功能。这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建全方位的服务网格,总之Consul提供了一种完整的服务网格解决方案。
 
它具有很多优点。包括: 基于 raft 协议,比较简洁; 支持健康检查, 同时支持 HTTP 和 DNS 协议 支持跨数据中心的 WAN 集群 提供图形界面 跨平台,支持 Linux、Mac、Windows。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值