IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 知识点记录 -> 正文阅读

[Java知识库]知识点记录

1、Feign是SpringCloud组件中的一个轻量级RESTful的HTTP服务客户端,Feign内置了Ribbon,用来做客户端负载均衡,去调用服务注册中心的服务。
OpenFegin是SpringCloud在Feign的基础上支持了SpringMVC的注解,如RequestMapping等等。OpenFeign的@FeignClient可以解析SpringMVC的@RequestMapping注解下的接口,并通过动态代理的方式产生实现类,实现类中做负载均衡并调用其他服务。
2、使用docker中国官方镜像下载
docker pull registry.docker-cn.com/library/ubuntu:16.04
3、hystrix单独使用
@EnabledHystrix和@HystrixCommand配合使用
4、触发熔断时机
缺省是5秒内20次调用失败
5、断路器开启和关闭的条件
5.1 默认10秒内超过20个请求次数并且失败率达到一定的时候(默认10秒内超过50%的请求失败),断路器将会开启,当开启的时候,所有请求都不会进行转发
5.2 一段时间之后(默认是5秒),这个时候断路器是半开状态,会让其中一个请求进行转发,如果成功,断路器就会关闭,若失败,继续开启。
6、hystrixDashboard需要配合actuator依赖使用
6.1 pom.xml引入spring-cloud-starter-netflix-hystrix-dashboard依赖并在启动类标注@EnabledHystrixDashboard,并在启动类上加如下代码:

    /**
     * 此配置是为了服务监控而配置,与服务容错本身无关,springcloud升级后的坑
     * ServletRegistrationBean因为springboot的默认路径不是"/hystrix.stream"
     */
    @Bean
    public ServletRegistrationBean getServlet() {
        HystrixMetricsStreamServlet streamServlet = new HystrixMetricsStreamServlet();
        ServletRegistrationBean registrationBean = new ServletRegistrationBean(streamServlet);
        registrationBean.setLoadOnStartup(1);
        registrationBean.addUrlMappings("/hystrix.stream");
        registrationBean.setName("HystrixMetricsStreamServlet");
        return registrationBean;
    }

6.2 所有Provider服务类需要pom.xml需要引入spring-cloud-starter-actuator依赖
7、spring cloud gateway不能与web、actuator并存
当项目中引入spring-cloud-starter-gateway依赖时,需要移除
spring-boot-starter-web依赖和spring-boot-starter-actuator依赖
8、config客户端手动刷新配置
以微服务localhost:3355为例
8.1 pom.xml文件引入spring-boot-starter-actuator依赖
8.2 bootstrap.yml文件中暴露监控端点:

management:
	endpoints:
		web:
		 	exposure:
		 		include:"*"

8.3 @RefreshScope标注在Controller类中
8.4 需要运维人员发送POST请求手动刷新

curl -X POST "http://localhost:3355/actuator/refresh"

9、什么是消息总线
在微服务架构系统中,通常会使用轻量级的消息代理来构建一个共用的消息主题,并让系统中所有微服务实例都连接上来。由于该主题中产生的消息会被所有实例监听和消费,所以称它为消息总线。在总线上的各个实例 ,都可以方便地广播一些需要让其他连接在该主题上的实例都知道的消息。
基本原理:
ConfigClient实例都监听MQ中同一个topic(默认是springCloudBus)。当一个服务刷新数据的时候,它会把这个消息放入到Topic中,这样其它监听同一个Topic的服务就能得到通知,然后去更新自身的配置。
使用方式有两种:
第一种方式:利用消息总线触发一个客户端/bus/refresh,而刷新所有客户端的配置(不推荐使用,不应该承担刷新配置的职责)
第二种方式:利用消息总线触发一个服务端ConfigServer的/bus/refresh端点,而刷新所有客户端的配置。
10、bus定点通知,指定具体一个实例生效而非全部实例
3344指的是configServer配置中心的端口
3355指的是configClient客户端的端口
10.1 全部通知:

curl -X POST "http://localhost:3344/actuator/bus-refresh"

10.2 定点通知:

# config-client指的是微服务名称,3355是端口号
curl -X POST "http://localhost:3344/actuator/bus-refresh/config-client:3355"

11、Nacos支持AP和CP模式的切换
切换命令:

curl -X PUT '$NACOS_SERVER:8848/nacos/v1/ns/operator/switches?entry=serverMode&value=CP'
  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-07-25 21:31:41  更:2021-07-25 21:32:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年3日历 -2025/3/4 2:37:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码