微服务学习

1.单体架构

->将业务的所有功能集中在一个项目中开发,打成一个包部署

优点: 架构简单,部署成本低

缺点: 耦合度高

2.分布式架构

->根据业务功能进行系统的拆分,每隔业务模块作为独立项目开发,成为一个服务

优点:降低服务耦合,有利于升级拓展

服务拆分注意事项

1.不同的微服务,不要重复开发相同业务

2.微服务数据独立,不要访问其他微服务的数据库(一个微服务对应一个数据库)

3.微服务可以将自己的业务暴露为接口,供其他微服务调用

微服务调用方式

1.基于RestTemplate发起的http请求实现远程调用

2.http请求做远程调用是与语言无关的调用,只要直到对方的ip/端口/接口路径/请求参数就行

提供者与消费者

服务提供者 : 一次业务中,被其他微服务调用的服务。(提供接口给其他微服务)

服务消费者 : 一次业务中,调用其他微服务的服务。(调用其他微服务提供的接口)

思考

服务A调用服务B,服务B调用服务C,那么服务B是什么角色呢?

->如果是A调B这个业务,那么B就是提供者  B调用C,那么B就是消费者(一个业务既可以是提供者也可以是消费者,根据业务而定)

Eureka注册中心

eureka作用

消费者如何获取服务提供者具体信息?

1.服务提供者 启动时向eureka注册自己的信息

2.eureka保存这些信息

3.消费者根据服务名称向eureka拉去提供者信息

如果有多个服务提供者,消费者该如何选择呢?

服务消费者利用负载均衡算法,从服务列表中挑选一个

消费者如何感知服务提供者的健康状态?

1.服务提供者会每隔30秒向EurekaServer发送心跳请求,报告健康状态

2.eureka会更新记录服务列表信息,心跳不正常会被剔除

3.消费者就可以拉取到最新的信息

总结:

在Eureka架构中,微服务角色有两类

1.EurekaServer:服务端,注册中心

1)记录服务信息

2)心跳监控

2.EurekaClient:客户端  服务提供者

1)注册自己的信息到EurekaServer

2)每隔30秒向EnrekaServer发送心跳)

3.consumer: 服务消费者

1)根据服务名称从EurekaServer拉去服务列表

2)基于服务列表做负载均衡,选中一个微服务后发起远程调用

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值