SpringBoot——》面试题(微服务)

推荐:
总结——》【SpringBoot】

微服务之间是如何独立通讯的?

  • 1、远程过程调用(Remote Procedure Invocation)

使用:服务的注册与发现,直接通过远程过程调用来访问别的service。

优点:简单,常见,因为没有中间件代理,系统更简单


缺点: 只支持请求/响应的模式,不支持别的,比如通知、请求/异步响应、发布/订阅、发布/异步响应,降低了可用性,因为客户端和服务端在请求过程中必须都是可用的

  • 2、消息

使用:异步消息来做服务间通信。服务间通过消息管道来交换消息,从而通信。

优点

  • 把客户端和服务端解耦,更松耦合
  • 提高可用性,因为消息中间件缓存了消息,直到消费者可以消费
  • 支持很多通信机制比如通知、请求/异步响应、发布/订阅、发布/异步响应

缺点:消息中间件有额外的复杂

微服务的优缺点?

优点

  • 每一个服务足够内聚,代码容易理解
  • 开发效率提高,一个服务只做一件事
  • 微服务能够被小团队单独开发
  • 微服务是松耦合
  • 易于与第三方集成
  • 可以灵活搭配,连接公共库/连接独立库
  • 可以用不同的语言开发,面向接口编程

缺点:

  • 分布式系统的负责性
  • 多服务运维难度,随着服务的增加,运维的压力也在增大
  • 系统部署依赖
  • 服务间通信成本
  • 数据一致性
  • 系统集成测试
  • 性能监控

微服务的特点?

  • 按业务划分为一个独立运行的程序,即服务单元
  • 服务之间通过HTTP协议相互通信
  • 自动化部署
  • 可以用不同的编程语言
  • 可以用不同的存储技术
  • 服务集中化管理
  • 微服务是一个分布式系统

你所知道的微服务技术栈

  • 服务开发:springboot、spring、springmvc
  • 服务配置与管理:Netfix公司的Archaiusm ,阿里的Diamond
  • 服务注册与发现:Eureka、Zookeeper
  • 服务调用:Rest、RPC
  • 服务熔断器:Hystrix
  • 服务负载均衡:Ribbon、Nginx
  • 服务接口调用:Fegin
  • 消息队列:Kafka、Rabbitmq、activemq
  • 服务配置中心管理:SpringCloudConfig
  • 服务路由(API网关):Zuul
  • 事件消息总线:SpringCloud Bus
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值