实战项目 在线学院springcloud调用篇3(nacos,feging,hystrix,gateway)

一 springcloud与springboot的关系

1.1 关系

1.2 版本关系

1.3 list转json串

复制代码
public class Test {
    public static void main(String[] args) {
        List<String> dataList=new ArrayList<String>();
        dataList.add("12");
        dataList.add("45");
        dataList.add("67");
       String json= StringUtils.join(dataList,",");
       System.out.println("json:"+json);
    }
}

结果:

1.4 springcloud组件的 调用流程

二 案例工程

2.1 工程结构

2.2 调用关系

2.3 nacos注册的配置

1.nacos的搭建部署

2.vod,edu项目的注册nacos

3.查看

2.4 使用fegin+hystrix调用配置

2.4.1 edu配置

1.controller

2.feginclient

2.4.2 vod配置

2.4.3 测试

2.5 hystrix监控的使用

2.5.1 配置步骤

1.feginclient

2.降级类

三 gatewya的使用

3.1 gateway的作用

API 网关出现的原因是微服务架构的出现,不同的微服务一般会有不同的网络地址,而外部客户端可能需要调用多个服务的接口才能完成一个业务需求,如果让客户端直接与各个微服务通信,会有以下的问题:

(1)客户端会多次请求不同的微服务,增加了客户端的复杂性。

(2)存在跨域请求,在一定场景下处理相对复杂。

(3)认证复杂,每个服务都需要独立认证。

(4)难以重构,随着项目的迭代,可能需要重新划分微服务。例如,可能将多个服务合并成一个或者将一个服务拆分成多个。如果客户端直接与微服务通信,那么重构将会很难实施。

(5)某些微服务可能使用了防火墙 / 浏览器不友好的协议,直接访问会有一定的困难。

以上这些问题可以借助 API 网关解决。API 网关是介于客户端和服务器端之间的中间层,所有的外部请求都会先经过 API 网关这一层。也就是说,API 的实现方面更多的考虑业务逻辑,而安全、性能、监控可以交由 API 网关来做,这样既提高业务灵活性又不缺安全性。

3.2 gateway的流程

3.3 gateway的负载均衡

3.3.1 规则

3.3.2 配置步骤

4.配置文件配置代理内容

3.4 解决跨域问题

四 nacos的config配置

4.1 config

4.2 作用

4.3 nacos的config配置

(1)点击 配置列表,点击右边 + 号,进行配置文件创建

(2)创建配置文件

** Data ID 的完整规则格式如下

{prefix}-{spring.profile.active}.${file-extension}

- prefix 服务名称

- spring.profiles.active=dev spring.profiles.active值

- file-exetension 配置文件类型

3.在项目中读取Nacos配置中心文件

(1)springboot配置文件加载顺序

(2)在项目中创建bootstrap.properties

(3)调用的服务里面引入config依赖

<dependencies >

<dependency >

<groupId >org.springframework.cloud</groupId >

<artifactId >spring-cloud-starter-alibaba-nacos-config</artifactId >

</dependency >

</dependencies >

启动项目看到读取新创建配置文件内容

4.4 nacos的多文件配置

1.创建两个配置文件

2.加载多个nacos配置文件,

相关推荐
杯莫停丶5 分钟前
设计模式之:外观模式
java·设计模式·外观模式
乐之者v7 分钟前
Mac常用软件
java·1024程序员节
TDengine (老段)26 分钟前
TDengine 数据函数 ROUND 用户手册
java·大数据·数据库·物联网·时序数据库·tdengine·1024程序员节
TDengine (老段)29 分钟前
TDengine 数学函数 RAND 用户手册
java·大数据·数据库·物联网·时序数据库·tdengine·涛思数据
從南走到北29 分钟前
JAVA无人自助共享系统台球室源码自助开台约球交友系统源码小程序
java·微信·微信小程序·小程序·1024程序员节
JH307330 分钟前
jvm,tomcat,spring的bean容器,三者的关系
jvm·spring·tomcat
野犬寒鸦40 分钟前
从零起步学习MySQL || 第十章:深入了解B+树及B+树的性能优势(结合底层数据结构与数据库设计深度解析)
java·数据库·后端·mysql·1024程序员节
没有bug.的程序员2 小时前
Spring 常见问题与调试技巧
java·后端·spring·动态代理·1024程序员节
Han.miracle2 小时前
数据结构——排序的超级详解(Java版)
java·数据结构·学习·算法·leetcode·排序算法·1024程序员节
毕设源码-朱学姐2 小时前
【开题答辩全过程】以 毕业设计选题系统的设计与实现为例,包含答辩的问题和答案
java·eclipse