当前位置: 首页 > news >正文

SpringCloud——网关1

请添加图片描述
个人名片:

博主:酒徒ᝰ.
个人简介沉醉在酒中,借着一股酒劲,去拼搏一个未来。
本篇励志三人行,必有我师焉。

请添加图片描述
本项目基于B站黑马程序员Java《SpringCloud微服务技术栈》,SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式

【SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 点击观看

目录

  • 一、了解网关
    • 1.网关功能
    • 2.技术实现
    • 3.网关的作用:
  • 二、快速入门
    • 1.创建网关模块(gateway)
    • 2.引入依赖
    • 3.编写配置(application.yml)
    • 4.启动类
    • 5.测试

一、了解网关

1.网关功能

  • 身份认证和权限校验
  • 服务路由
  • 负载均衡
  • 请求限流

2.技术实现

  • gateway:基于Spring5中WebFlux 响应是编程
  • zuul:基于Servlet 阻塞式编程

3.网关的作用:

  • 对用户请求做身份认证、权限校验
  • 将用户请求路由到微服务,并实现负载均衡
  • 对用户请求做限流

二、快速入门

1.创建网关模块(gateway)

image.png
注意位置。

2.引入依赖

<!--gateway网关依赖-->
<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
<!--nacos服务发现依赖-->
<dependency>
  <groupId>com.alibaba.cloud</groupId>
  <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

3.编写配置(application.yml)

application.yml包括:服务基本信息(端口,名称),nacos地址,路由
路由包括:
1.路由id:路由的唯一标示
2.路由目标(uri):路由的目标地址,http代表固定地址,lb代表根据服务名负载均衡
3.路由断言(predicates):判断路由的规则,
4.路由过滤器(filters):对请求或响应做处理

server:
  port: 10010 # 网关端口
spring:
  application:
    name: gateway # 服务名称
  cloud:
    nacos:
      server-addr: localhost:8848 # nacos地址
    gateway:
      routes:
        - id: user-service # 路由ID,自定义,只要唯一即可
         # uri: http://127.0.0.1:8081 # 路由的目标地址 http 就是固定地址
          uri: lb://userservice # 路有目标 lb为开启负载均衡,userservice为服务名称
          predicates: # 路由断言,判断请求是否符合路由规则
            - Path=/user/** # 路由规则 以user开头即可
        - id: order-service
          uri: lb://orderservice
          predicates:
            - Path=/order/**

了解:uri中的lb是(LoadBalance)实现负载均衡。如果不需要,可以使用固定地址。

4.启动类

package cn.itcast.gateway;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class GatewayApplication {
    public static void main(String[] args) {
        SpringApplication.run(GatewayApplication.class, args);
    }
}

5.测试

访问路径:http://localhost:10010/user/1
image.png
访问路径:http://localhost:10010/order/101
image.png

相关文章:

  • 『Android基础入门』ViewPager+Fragment+BottomNavigationView实现底部导航
  • Regmap子系统:(寄存器映射)
  • 用通俗易懂的方式讲解:lightGBM 算法及案例(Python 代码)
  • TC8:TCP_CONTROL_FLAGS_05-08
  • 2022年华为杯研究生数学建模竞赛ABCDEF题思路资料汇总贴
  • JavaScript原生之垃圾回收原理、标记清理原理
  • python解CCF-CSP真题《202209-2 何以包邮?》
  • 【面试必刷TOP101】面试官:如何删除有序链表中重复的元素?
  • U3DVR向量点乘与叉乘概念及几何模型公式应用
  • stm32串口发送数据包进行解析,实现人机交互
  • 【Django框架】——02 Django虚拟环境搭建
  • 【从零带你玩转Linux】目录文件相关操作指令
  • k8s-资源管理
  • 版本控制工具 之 Git
  • 机器学习笔记 - 使用 Pix2Pix 进行图像翻译
  • [译]如何构建服务器端web组件,为何要构建?
  • 【391天】每日项目总结系列128(2018.03.03)
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • CSS实用技巧干货
  • Cumulo 的 ClojureScript 模块已经成型
  • Java多线程(4):使用线程池执行定时任务
  • Java-详解HashMap
  • java正则表式的使用
  • js学习笔记
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • Python socket服务器端、客户端传送信息
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • sublime配置文件
  • 从0到1:PostCSS 插件开发最佳实践
  • 官方解决所有 npm 全局安装权限问题
  • 基于遗传算法的优化问题求解
  • 近期前端发展计划
  • 利用DataURL技术在网页上显示图片
  • 扑朔迷离的属性和特性【彻底弄清】
  • 驱动程序原理
  • 数据结构java版之冒泡排序及优化
  • 通过几道题目学习二叉搜索树
  • [Shell 脚本] 备份网站文件至OSS服务(纯shell脚本无sdk) ...
  • UI设计初学者应该如何入门?
  • 关于Android全面屏虚拟导航栏的适配总结
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • ​人工智能书单(数学基础篇)
  • # include “ “ 和 # include < >两者的区别
  • #pragma 指令
  • (11)MATLAB PCA+SVM 人脸识别
  • (C语言)fgets与fputs函数详解
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (function(){})()的分步解析
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (pojstep1.1.1)poj 1298(直叙式模拟)
  • (附源码)springboot教学评价 毕业设计 641310
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (正则)提取页面里的img标签
  • ***通过什么方式***网吧
  • ***详解账号泄露:全球约1亿用户已泄露