Day01-SpringCould01

109 阅读2分钟

微服务导学

-微服务架构

image.png

  • 微服务知识:

image.png

微服务技术栈及时间安排

image.png

第一天学习目录:

image.png

架构演进

  • 单体应用
  • 分布式应用

image.png

  • 集群

image.png

  • 总结 微服务是【分布式架构】的最佳实践

image.png

微服务技术栈

image.png

  • 企业中常用的几种微服务架构

image.png

  • Springcloud 组件

image.png

springcloud与springboot版本对应

image.png

微服务拆分规则/原则

根据业务模块单一职责 微服务暴露api端口 数据库隔离

微服务远程调用

  • 可以通过restTemplate进行远程调用。

Eureka注册中心

  • 服务的调用者、消费者针对业务而言,一个服务即可能是提供者,也可能是消费者。

image.png

image.png

image.png

  • provideer 有心跳,消费者在服务列表中通过负载均衡选择一个提供者进行调用。

eureka使用——搭建:

  • 引入依赖
  • 开启服务发现注解
  • 配置配置文件。注意:eureka本身也是一个服务,也会注册。

image.png

注册服务

在idea中同一个应用启动多个服务

image.png

消费服务

  • 将provider的ip改为【服务名称】进行调用
  • 负载均衡 image.png 注意将url修改为服务的提供者名称,同时添加注解@LoadBalanced

Ribbon负载均衡

  • Ribbon组件实现了springCloud的负载均衡。

Ribbon负载均衡原理

image.png

  • 负载均衡策略

image.png

image.png

  • 如何调整负载均衡策略:

image.png 方案1针对全局的提供者生效 方案2针对指定的服务提供者生效【针对特定的服务】

默认是懒加载,可以开启饥饿加载

image.png

image.png

Ribbon总结

image.png

Nacos

nacos启动

本用例使用1.4.1版本: 在bin目录下的启动命令【./start.sh -m standalone】

服务多级存储模型

  • 提供者:nacos配置杭州-上海集群。
  • 消费者:配置优先选择哪个集群环境。

image.png

Nacos的权重设置

  • 权重的设置范围【0~1】 在nacos的控制台进行配置。 如果权重设置为0,则服务不对外提供服务。利用此项原理,可以在服务的版本更新上做到优雅的平滑升级。 将某个服务的权重设置为0,然后将此实例的服务更新成最新的。然后将在权重设较小的权重。

环境隔离:

image.png

  • namespace可以用作dev, prod等环境的隔离。
  • group:关联度比较高的服务可以在一个group. 修改命名空间:

image.png 不同namespace之间的服务是互相隔离的。

Nacos注册中心原理介绍,与Eureka区别

  • nacos默认的实力是临时实例。有心跳检测,如果沒喲心跳,則服務會nacos將服務列表中剔除。
  • 如果是非临时实例,nacos注册中心主动问询,如果服务挂了,也不会将实例将服务列表中剔除。
  • 對於消費者:pull和push的模式都有。

image.png

image.png