【Day03】Spring cloud:源码讲解与容器化初探

今日内容

  • 原理和源码
  • 容器化过度

 

 一、Naocs

1、介绍

server端

启动入口类(Spring Boot项目,提供8848端口的监听访问)

源码包含InstanceController类(server端的源码)

 

 

 

 2、测试

发送请求

按F8看下一个断点

3、优化

(1)可以使用方法封装,而不需要自己输入链接

 

 好处:可以在任意的工程中使用

实现:naming模块中的nacos.api包下的NamingSevice接口,对应NacosNamingSevice实现类(nacos.client)

所以:只需要引入java包,就可以进行服务注册

(2)对于web工程,在web工程启动时就自定调用上述代码,前提是需要准备好参数的信息(放在yml配置文件中配置)

 

 使用:通过Spring Boot的参数绑定机制,将其绑定到对应的属性上

拿到NacosDiscoveryProperties,就相当于拿到了所有的配置信息

 

 则需要拿到nacos.clients.jar包,谁帮我们引入

依赖中进行了引入

 

 Spring Boot启动时自动调用

 

 启动时的入口函数,Spring启动时所完成的操作

3、Spring Boot的启动过程--自动服务注册

需要自己写监听器,并把监听器放

 

 可以自定义事件进行发布

监听器的编写由spring cloud团队负责

4、spring cloud实现的监听器

 

 

 

 抽象类,实现了ApplicationLIstener,并且声明了其感兴趣的类型

 

 

 

 只要Spring Boot发布一个事件,就会自动调用onApplicationEvent方法

 

 使用you瑞卡

二、RestTemplate和Ribbon

1、RestTemplate
来源:Spring web提供的工具类,实现web的调用

 

 三、容器化

 

 1、介绍

节约资源、方便服务的迁移

 

 

 

 容器编排:感知不到具体的系统

SPring Cloud解决了通信场景的许多问题

优势:符合Java语言的场景和习惯

劣势:使用service mesh做互补

2、Spring Cloud启动慢

JVM加载jar包的内容,

 

posted @ 2021-08-29 22:16  哥们要飞  阅读(72)  评论(0编辑  收藏  举报