从零学 spring cloud第8-1课:关于微服务架构

    spring cloud强大之处在于有很多的开源的微服务框架,并且这些框架的组件,很多能互相组装成你想的框架。前几年,最火的就是Eureka。但是自从2018年Netflix(没错,就是美国的那个有名的多媒体公司,漫威宇宙之前的电视剧基本就是他们家的)宣布不在开源以后,很多开发者都转移了阵营,纷纷投向了Google的zookeepr(现由apache维护)、HashiCorp的Consul、阿里的Nacos,目前主要是这几家开源的。整套微服务框架,主要包含以下几个方面:

  • 服务注册
  • 网关
  • 断路器
  • 链路追踪
  • 配置中心
  • Stream 消息驱动
    如果你想让你的系统具备以上的功能,你要写的代码,不会超过100行,包括配置。
    在这里插入图片描述
    有了这些,我们能达到什么效果
  • 所有的服务都身服务中心进行注册,明确每个服务的状态
  • 所有的服务,都通过网关来访问
  • 所有配置,更新后自动同步到每一台服务上
  • 能够为服务设置保护,以免引起雪崩效应
  • 每一个服务的访问经过了哪些节点一清二楚
  • 统一的消息处理方法

什么是 Nacos?
    Nacos 是阿里巴巴推出来的一个新开源项目,这是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
    Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
    Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。
目前可能阿里的Nacos还有人真正用到产线上,这点要注意。以下是NACOS全景图
在这里插入图片描述
什么是 Eureka?
    Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。

什么是 ZooKeeper?
    ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
    ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
    ZooKeeper包含一个简单的原语集, 提供Java和C的接口。
    ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接口,代码在zookeeper-3.4.3\src\recipes。其中分布锁和队列有Java和C两个版本,选举只有Java版本。

什么是 Consul?
    Consul是一个服务网格(微服务间的 TCP/IP,负责服务之间的网络调用、限流、熔断和监控)解决方案,它是一个一个分布式的,高度可用的系统,而且开发使用都很简便。它提供了一个功能齐全的控制平面,主要特点是:服务发现、健康检查、键值存储、安全服务通信、多数据中心。

网上关于它的比较的文章比较多,但是有两篇,可以说是必看的
《阿里巴巴为什么不用 ZooKeeper 做服务发现?》
https://yq.aliyun.com/articles/599997
《Eureka! Why You Shouldn’t Use ZooKeeper for Service Discovery》
https://www.jianshu.com/p/86029d598e57

在这里插入图片描述
选哪一个,还是得看自己的业务系统特性。但是Eureka是明确说了不再维护了的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值