一、服务注册

添加依赖:

<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

新建 Spring Cloud 项目,在 bootstrap.yml 新增配置:

spring:
application:
name: service1 cloud:
nacos:
discovery:
server-addr: 192.168.92.1:8848

启动项目,可以在 Nacos 服务列表看到服务已注册

二、服务消费

新建项目 service2 (端口:8079)

在 bootstrap.yml 新增配置:

spring:
application:
name: service2 cloud:
nacos:
discovery:
server-addr: 192.168.92.1:8848

新增 Controller:

@RestController
public class GreetingController { @Autowired
private RestTemplate restTemplate; @Bean
@LoadBalanced
public RestTemplate getRestTemplate(){
return new RestTemplate();
} @RequestMapping("/greeting")
public String greeting() {
return restTemplate.getForObject("http://service1/greeting", String.class);
}
}

访问 http://localhost:8079/greeting 可以看到与访问 http://localhost:8070/greeting 同样的结果

三、集成 Spring Cloud Gateway

新建项目 (本文使用的 Spring Cloud 的版本为 Hoxton.SR3):

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency> <dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

配置:

server:
port: 8081 spring:
application:
name: gateway
cloud:
nacos:
discovery:
server-addr: 192.168.92.1:8848
namespace: e5fc372c-ad66-4e0e-a353-a217d0a315ba
gateway:
routes:
- id: service1
uri: lb://service1 # lb 代表注册中心的服务
predicates:
- Path=/service1/** # 匹配的 URL
filters:
- StripPrefix=1 # URL 去掉的前缀个数

—- 2020-05-26 更新开始 —-

Spring Cloud Gateway 跨域设置

spring:
cloud:
gateway:
globalcors:
cors-configurations:
'[/**]':
allowedHeaders: '*'
allowedOrigins: '*'
allowedMethods: '*'

—- 2020-05-26 更新结束 —-

访问 http://localhost:8081/service1/greeting 即可路由到 service1 的 greeting 方法

参考:

Nacos Spring Cloud 快速开始

Spring Cloud Alibaba 初体验(二) Nacos 服务注册与发现 + 集成 Spring Cloud Gateway的更多相关文章

  1. Spring Cloud Alibaba 初体验(一) Nacos 配置中心

    一.Nacos 下载与初始化配置 本文使用1.2.0,下载地址:https://github.com/alibaba/nacos/releases Nacos 单机模式支持持久化配置到 MySQL 数 ...

  2. Spring Cloud Alibaba 初体验(三) Nacos 与 Dubbo 集成

    一.新建项目 新建项目,只放置接口,用于暴露 Dubbo 服务接口 public interface GreetingService { String greeting(); } 二.provider ...

  3. Alibaba Nacos 学习(三):Spring Cloud Nacos Discovery - FeignClient,Nacos 服务注册与发现

    Alibaba Nacos 学习(一):Nacos介绍与安装 Alibaba Nacos 学习(二):Spring Cloud Nacos Config Alibaba Nacos 学习(三):Spr ...

  4. Spring Cloud Alibaba | Nacos服务注册与发现

    目录 Spring Cloud Alibaba | Nacos服务注册与发现 1. 服务提供者 1.1 pom.xml项目依赖 1.2 配置文件application.yml 1.3 启动类Produ ...

  5. Spring Cloud Alibaba(一) 如何使用nacos服务注册和发现

    Nacos介绍 Nacos 致力于帮助您发现.配置和管理微服务.Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现.服务配置.服务元数据及流量管理. Nacos 帮助您更敏捷和容易地构 ...

  6. Spring Cloud Alibaba Nacos 服务注册与发现功能实现!

    Nacos 是 Spring Cloud Alibaba 中一个重要的组成部分,它提供了两个重要的功能:服务注册与发现和统一的配置中心功能. 服务注册与发现功能解决了微服务集群中,调用者和服务提供者连 ...

  7. 2021升级版微服务教程4—Nacos 服务注册和发现

    2021升级版SpringCloud教程从入门到实战精通「H版&alibaba&链路追踪&日志&事务&锁」 默认文件1610014380163 教程全目录「含视 ...

  8. SpringCloud(二)- 服务注册与发现Eureka

    离上一篇微服务的基本概念已经过去了几个月,在写那篇博客之前,自己还并未真正的使用微服务架构,很多理解还存在概念上.后面换了公司,新公司既用了SpringCloud也用了Dubbo+Zookeeper, ...

  9. Spring Cloud Alibaba 实战 之 Nacos 服务注册和发现

    服务注册与发现,服务发现主要用于实现各个微服务实例的自动化注册与发现,是微服务治理的核心,学习 Spring Cloud Alibaba,首先要了解框架中的服务注册和发现组件——Nacos. 一.Sp ...

随机推荐

  1. ThinkPHP中,运用PHPExcel,将数据库导出到Excel中

    1.将PHPExcel插件放在项目中,本人位置是ThinkPHP文件夹下,目录结构如下/ThinkPHP/Library//Vendor/...2.直接根据模型,配置三个变量即可使用./** * Ex ...

  2. ubunutu16.04 更改普通用户权限注销后只有guest身份 没有用户身份

    第一次踩进百度经验的坑..... 之前对百度经验百信不疑,现在怀疑人生.. 网上搜了很多,也变得小心翼翼,最后姑且相信,但还是有点出入,以下是我的实践: (1)重启ubuntu系统,长按shift进入 ...

  3. Thinkphp3.2 cms之文章模块

    二.文章模块 <?php namespace Admin\Controller; use Think\Controller; class NewController extends Common ...

  4. c# sqlhlpear

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.C ...

  5. day88:luffy:支付宝同步结果通知&接收异步支付结果&用户购买记录&我的订单

    目录 1.支付宝同步结果通知 2.用户购买记录表 3.接受异步支付结果 4.善后事宜 5.我的订单 1.支付宝同步结果通知 1.get请求支付宝,支付宝返回给你的参数 当用户输入用户名和密码确认支付的 ...

  6. Python_环境搭建_jupyterNotebook的使用

    # @ Author : Collin_PXY # 虚拟环境的创建及Jupyter Notebook的基本使用 # Anaconda 和 Jupter Notebook的使用: # 首先得需要安装 A ...

  7. 微信告警如何配置?用Cloud Alert快速实现微信告警

    在当下互联网蓬勃发展的时代里,微信已经成为了人们生活中不可分割的一部分.作为苦逼的运维人员,我们自然也得跟得上时代的步伐,将微信添加进告警的通知方式里.如果能够将告警消息第一时间发送到微信中,更清楚地 ...

  8. 一文带你玩转对象存储COS文档预览

    随着"互联网+"的发展,各行各业纷纷"去纸化",商务合同.会议纪要.组织公文.商品图片.培训视频.学习课件.随堂讲义等电子文档无处不在.而要查看文档一般需要先下 ...

  9. Mac 安装并破解热部署插件JRebel详细教程

    热部署插件 JRebel 非常高效的解决了在IDEA中对 Java 代码修改重启Tomcat的效率问题,这样大大降低了项目开发的时间,不用重启即可重新编译修改过的Java代码! (1)IDEA中安装热 ...

  10. SSTI Flask

    1.什么是SSTI?什么是Flask? ​ SSTI称为服务端模板注入,主要为Python.Java.PHP的框架在使用渲染函数时,由于代码不规范或者对于用户输入过于信任而导致产生了SSTI.类似于S ...