# Fizz网关接入Nacos教程

# 前言

Fizz网关包含fizz-manager-professionalfizz-gateway两个服务,通过修改配置文件即可接入Nacos,以下介绍Fizz网关接入Nacos的步骤。

# fizz-manager-professional使用Nacos注册中心

修改application-prod.yml配置文件,启用Nacos注册中心,Nacos配置如下:

nacos:
  discovery:
	# if use Nacos discovery set this flag to true
	enabled: true # 设置为true启用Nacos注册中心
	# need replace
	server-addr: 127.0.0.1:8848 # 设置Nacos服务的IP地址以及端口
	# need replace
	namespace: public # 设置服务使用的命名空间
	register:
	  group-name: fizz-gateway

配置完成后启用fizz-manager-professional服务,启动完成后可在Nacos控制台 -> 服务管理 -> 服务列表 功能下看到后台服务,如下图所示:

nacos-enabled-fizz-manager-nacos-console-show

# fizz-gateway使用Nacos注册中心

修改application.yml配置文件,启用Nacos注册中心,Nacos配置如下:

nacos:
  config:
	# if use Nacos config set this flag to true
	enabled: false
	# need replace
	server-addr: 127.0.0.1:8848
	auto-refresh: true
	group: fizz-gateway
	data-id: application
	type: PROPERTIES
	# need replace
	namespace: public
  discovery:
	# if use Nacos discovery set this flag to true
	enabled: true # 设置为true启用Nacos注册中心
	# need replace
	server-addr: 127.0.0.1:8848 # 设置Nacos服务的IP地址以及端口
	# need replace
	namespace: public # 设置服务使用的命名空间
	auto-register: true
	register:
	  group-name: fizz-gateway

配置完成后启用fizz-gateway服务,启动完成后可在Nacos控制台 -> 服务管理 -> 服务列表 功能下看到网关服务,如下图所示:

nacos-enabled-gateway-nacos-console-show

# fizz-gateway使用Nacos配置中心

首先在Nacos控制台 -> 配置管理 -> 配置列表 功能下创建配置信息,如下图所示:

nacos-enabled-gateway-nacos-console-show1

加入配置信息,如下图所示:

nacos-enabled-gateway-nacos-console-show2

修改application.yml配置文件,启用Nacos配置中心,Nacos配置如下:

nacos:
  config:
	# if use Nacos config set this flag to true
	enabled: true # 设置为true启用Nacos配置中心
	# need replace
	server-addr: 127.0.0.1:8848 # 设置Nacos服务的IP地址以及端口
	auto-refresh: true
	group: fizz-gateway
	data-id: application
	type: PROPERTIES
	# need replace
	namespace: public # 设置服务使用的命名空间
  discovery:
	# if use Nacos discovery set this flag to true
	enabled: true
	# need replace
	server-addr: 127.0.0.1:8848
	# need replace
	namespace: public
	auto-register: true
	register:
	  group-name: fizz-gateway  

配置完成后启用fizz-gateway服务,确认服务从Nacos获取到了配置信息。

# 业务服务调用示例

现在我们将一个测试服务naco-demo注册到Nacos配置中心中,如下图所示:

nacos-enabled-gateway-nacos-console-show3

naco-demo提供了一个测试接口,接口实现如下:

	import org.springframework.web.bind.annotation.GetMapping;
	import org.springframework.web.bind.annotation.RequestParam;
	import org.springframework.web.bind.annotation.RestController;

	/**
	 * demo controller
	 *
	 * @author zhongjie
	 */
	@RestController
	public class DemoController {
		@GetMapping("/echo")
		public Result echo(@RequestParam("msg") String msg) {
			Result result = new Result();
			result.setMsg(msg);
			return result;
		}

		static class Result {
			private Integer code = 0;
			private String msg;

			public Integer getCode() {
				return code;
			}

			public void setCode(Integer code) {
				this.code = code;
			}

			public String getMsg() {
				return msg;
			}

			public void setMsg(String msg) {
				this.msg = msg;
			}
		}
	}

# 使用聚合接口调用业务服务

在管理后台 -> 服务编排 -> 接口列表 功能下新增一个聚合接口,通过以下配置请求我们的测试接口:

nacos-enabled-fizz-manager-aggr-show

nacos-enabled-fizz-manager-aggr-show1

配置完成可进入测试页面测试,如下图所示:

nacos-enabled-fizz-manager-aggr-show2

测试成功,网关已调用了naco-demo/echo并获得了响应。

# 使用路由转发请求到业务服务

在管理后台 -> 网关管理 -> 路由管理 功能下新增一个路由规则,通过以下配置将请求转发到我们的测试接口:

nacos-enabled-fizz-manager-route-show

nacos-enabled-fizz-manager-route-show1

路由配置完成后,调用网关,获得接口响应,如下图所示:

nacos-enabled-fizz-manager-route-show1

测试成功,网关已将请求转发到naco-demo服务并获得了响应。

# 结束

通过以上配置即可实现Fizz网关的Nacos接入。

上次更新: 2021-3-30 15:38