今日内容

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

一、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包的内容,

【Day03】Spring cloud:源码讲解与容器化初探的更多相关文章

  1. 精尽Spring MVC源码分析 - WebApplicationContext 容器的初始化

    该系列文档是本人在学习 Spring MVC 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释 Spring MVC 源码分析 GitHub 地址 进行阅读 Spring 版本:5.2. ...

  2. Spring Ioc源码分析系列--容器实例化Bean的四种方法

    Spring Ioc源码分析系列--实例化Bean的几种方法 前言 前面的文章Spring Ioc源码分析系列--Bean实例化过程(二)在讲解到bean真正通过那些方式实例化出来的时候,并没有继续分 ...

  3. Spring Cloud源码分析(四)Zuul:核心过滤器

    通过之前发布的<Spring Cloud构建微服务架构(五)服务网关>一文,相信大家对于Spring Cloud Zuul已经有了一个基础的认识.通过前文的介绍,我们对于Zuul的第一印象 ...

  4. 【Spring Cloud 源码解读】之 【如何配置好OpenFeign的各种超时时间!】

    关于Feign的超时详解: 在Spring Cloud微服务架构中,大部分公司都是利用Open Feign进行服务间的调用,而比较简单的业务使用默认配置是不会有多大问题的,但是如果是业务比较复杂,服务 ...

  5. Spring Cloud 源码分析之OpenFeign

    OpenFeign是一个远程客户端请求代理,它的基本作用是让开发者能够以面向接口的方式来实现远程调用,从而屏蔽底层通信的复杂性,它的具体原理如下图所示. 在今天的内容中,我们需要详细分析OpenFei ...

  6. 【Spring Cloud 源码解读】之 【这也太神奇了,RestTemplate加上一个@LoadBalanced注解就能实现负载均衡!】

    前提概要: 前天,有个前端大佬问了我两个问题:为啥不引入Ribbon依赖就能使用Ribbon?为啥RestTemplate加上@LoadBalanced注解就能负载均衡了?我也表示很疑惑,而我自己其实 ...

  7. 精尽Spring MVC源码分析 - 文章导读

    该系列文档是本人在学习 Spring MVC 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释 Spring MVC 源码分析 GitHub 地址 进行阅读 Spring 版本:5.2. ...

  8. 曹工说Spring Boot源码(2)-- Bean Definition到底是什么,咱们对着接口,逐个方法讲解

    写在前面的话 相关背景及资源: 曹工说Spring Boot源码系列开讲了(1)-- Bean Definition到底是什么,附spring思维导图分享 工程代码地址 思维导图地址 工程结构图: 正 ...

  9. 曹工说Spring Boot源码(14)-- AspectJ的Load-Time-Weaving的两种实现方式细细讲解,以及怎么和Spring Instrumentation集成

    写在前面的话 相关背景及资源: 曹工说Spring Boot源码(1)-- Bean Definition到底是什么,附spring思维导图分享 曹工说Spring Boot源码(2)-- Bean ...

  10. Spring 源码剖析IOC容器(一)概览

    目录 一.容器概述 二.核心类源码解读 三.模拟容器获取Bean ======================= 一.容器概述 spring IOC控制反转,又称为DI依赖注入:大体是先初始化bean ...

随机推荐

  1. 【项目实战】CNN手写识别复杂模型的构造

    感谢视频教程:https://www.bilibili.com/video/BV1Y7411d7Ys?p=11 这里开一篇新博客不仅仅是因为教程视频单独出了1p,也是因为这是一种代码编写的套路,特在此 ...

  2. 安装MySQL8 工具集

    下载地址:https://downloads.mysql.com/archives/utilities/ # wget https://downloads.mysql.com/archives/get ...

  3. Beats:Beats 入门教程 (二)

  4. 第四章:Django表单 - 4:表单的Widgets

    不要将Widget与表单的fields字段混淆.表单字段负责验证输入并直接在模板中使用.而Widget负责渲染网页上HTML表单的输入元素和提取提交的原始数据.widget是字段的一个内在属性,用于定 ...

  5. Elasticsearch索引生命周期管理探索

    文章转载自: https://mp.weixin.qq.com/s?__biz=MzI2NDY1MTA3OQ==&mid=2247484130&idx=1&sn=454f199 ...

  6. vscode展示子文件夹

    取消勾选设置-功能-compact Folders

  7. Linux+Wine玩GTA5指南

    如果你的系统没有Wine先装Wine和winetricks,Wine在各大发行版的源都能找到.记住32位和64位的Wine都要装 安装wget后,输入指令 sudo -s cd /opt mkdir ...

  8. liunx的三个时间atime,mtime,ctime详细说明与使用场景

    导航:一.文件与文件夹三个时间:atime,mtime,ctime的含义二.ll命令查看文件时间三.stat命令查看文件的时间四.测试创建/修改文件的时间五.常用命令关于文件时间相关 - - - - ...

  9. PTA2022 520钻石争霸赛题解

    7-1 520表白 不用说 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int max ...

  10. PTA2021 跨年挑战赛部分题解

    7-1 压岁钱 不用说 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int maxn ...