分布式相关复习

什么是微服务

微服务”就是非常微小的服务。微服务可以理解为一种非常细粒度的垂直拆分
微服务架构具备以下特性
每个微服务可独立运行在自己进程里
一系列独立运行的微服务共同构建起整个系统
每个微服务为独立的业务开发,一个微服务只关注特定的功能
微服务之间通过一些轻量级的通讯机制进行通讯
可以使用不同的语言与数据存储技术
全自动部署机制

微服务架构的优点缺点

1易于开发和维护
2单个微服务启动较快
3局部修改容易部署
4技术栈不受限
5按需伸缩
缺点
1运维要求高:更多的服务意味着更多的运维投入
2分布式固有的复杂性:使用微服务构建的是分布式系统,对于系统容错,网络延迟、分布式事务等等都会带来巨大的挑战
3接口调整成本高:微服务之间通过接口进行通信,如果修改某一个微服务的API,所有使用了该API的微服务都需要调整
4可能重复劳动:某个被重复使用的功能没有达到能分解成一个微服务。这时候 各个服务都会开发这个功能,造成了代码重复,可以使用 封装公共组件的引用方式,但在多语言环境这个办法行不通

什么是分布式

将一个模块 拆分成多个子模块,部署在不同服务器上 这就是分布式

SpringCloud

SpringCloud带有Cloud字样,但它并不是云计算的解决方案,而
是一种开箱即用的,在SpringBoot基础上构建的, 用于快速构建分布式系统的通用模式的工具集。SpringBoot并没有重复造轮子,它只是将目前主流的服务框架组合起来,通过SpringBoot风格进行再封装,屏蔽了复杂配置和实现原理,给了开发者一套易于维护,部署的分布式系统开发工具包

什么是负载均衡

负载均衡通俗的说 就是把 负载(工作任务,访问请求) 分摊到多个操作单元(服务器 ,组件)上进行的执行

什么是配置管理中心

在微服务架构中,当系统从一个单体应用,被拆分成分布式系统上一个个服务节点后,配置文件也必须跟着迁移(分割),这样配置就分散了造成了冗余
配置中心的作用就是用户在配置中心更新配置信息。
服务A和服务B及时得到配置更新通知,从配置中心获取配置

什么是Rocketmq

rockertmq是一款阿里巴巴开发的分布式消息中间件,

RocketMQ 由哪些角色组成?

producer集群:拥有相同的producerGroup,一般来讲,Producer不必要有集群的概念,这里的集群仅仅在RocketMQ的分布式事务中有用到
Name Server集群:
官网解释:
NameServer 充当路由消息的提供者。生产者或消费者能够通过名字服务查找各主题相应的Broker IP列表。多个Namesrv实例组成集群,但相互独立,没有信息交换。

白话文:
生产者和消费者怎么知道每个broker的地址以及broker上消息分别存放在集群中的那台机器上?
NameServer就是为了解决这个,可以理解为就是一个数据库。
NameServer集群之间的服务是没有任何的信息交互的

broker集群:一个集群有一个统一的名字,即brokerClusterName,默认是DefaultCluster。一个集群下有多个master,每个master下有多个slave。master和slave算是一组,拥有相同的brokerName,不同的brokerId,master的brokerId是0,而slave则是大于0的值。master和slave之间可以进行同步复制或者是异步复制。
consumer集群:拥有相同的consumerGroup。

说说RocketMQ实现原理吧?
RocketMQ由NameServer注册中心集群、Producer生产者集群、Consumer消费者集群和若干Broker(RocketMQ进程)组成,它的架构原理是这样的:

Broker在启动的时候去向所有的NameServer注册,并保持长连接,每30s发送一次心跳

Producer在发送消息的时候从NameServer获取Broker服务器地址,根据负载均衡算法选择一台服务器来发送消息

Conusmer消费消息的时候同样从NameServer获取Broker地址,然后主动拉取消息来消费

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值