【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包的内容,
本文来自博客园,作者:哥们要飞,转载请注明原文链接:https://www.cnblogs.com/liujinhui/p/15203848.html