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

织梦网站修改北京注册公司虚拟地址

织梦网站修改,北京注册公司虚拟地址,商家商城小程序,青州做网站的公司背景:本想找个简单例子看下,无奈版本依赖太过复杂,花了点时间。记录下吧 使用Spring Cloud Gateway作为网关服务,Nacos作为注册中心,实现对子服务的负载均衡访问。简单例子。 一、gateway-main-nacos服务端&#xff…

背景:本想找个简单例子看下,无奈版本依赖太过复杂,花了点时间。记录下吧

使用Spring Cloud Gateway作为网关服务,Nacos作为注册中心,实现对子服务的负载均衡访问。简单例子。

一、gateway-main-nacos服务端:     

完整pom文件:

<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>gateway-main-nacos</artifactId><version>1.0.0</version><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.4</version><relativePath/> <!-- lookup parent from repository --></parent><dependencies><!-- Spring Cloud Gateway --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency><!-- Nacos Discovery --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId><version>2021.1</version></dependency><!-- Nacos Config --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId><version>2021.1</version></dependency><!-- Spring Boot Starter Web --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-loadbalancer</artifactId></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>2020.0.3</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>
</project>

完整的yml配置文件:

server:port: 8888
spring:application:name: gateway-servicemain:web-application-type: reactivecloud:nacos:discovery:server-addr: localhost:8848 # Nacos 服务器地址namespace:  namespace_xxxconfig:server-addr: localhost:8848 # Nacos 配置中心地址file-extension: yamlgateway:discovery:locator:enabled: trueroutes:- id: neo_routeuri: http://www.ityouknow.compredicates:- Path=/spring-cloud
#     - id: add_request_parameter_route
#       uri: http://localhost:8889
#       filters:
#       - AddRequestParameter=foo, bar
#       predicates:
#         - Method=GET- id: lb_nacosuri: lb://user-service  #会进行服务负载均衡filters:- AddRequestParameter=foo, bar123predicates:- Path=/user/** # 匹配 /user/** 路径的请求- id: lb_nacos01uri: lb://user-servicefilters:- StripPrefix=1 # 去掉前缀 /user01predicates:- Path=/user01/** # 匹配 /user01/** 路径的请求

    GatewayApplication启动类:

package com.neo;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;@SpringBootApplication
@EnableDiscoveryClient
public class GatewayApplication {public static void main(String[] args) {SpringApplication.run(GatewayApplication.class, args);}
}

二、  路由的子服务(可以发布两个服务,达到负载均衡的效果)   

完整pom文件:

<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>user-service</artifactId><version>1.0.0</version><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.4</version><relativePath/> <!-- lookup parent from repository --></parent><dependencies><!-- Spring Boot Starter Web --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- Nacos Discovery --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId><version>2021.1</version></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-loadbalancer</artifactId></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>2020.0.3</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>
</project>

完整的yml文件:

server:port: 8889spring:application:name: user-service#main:#  web-application-type: reactivecloud:gateway:discovery:locator:enabled: truenacos:discovery:server-addr: localhost:8848 # Nacos 服务器地址namespace:  namespace_xxx  #nacos命名空间,修改为自己定义的config:server-addr: localhost:8848 # Nacos 配置中心地址namespace:  namespace_xxxfile-extension: yaml

子服务启动类:


import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@SpringBootApplication
@EnableDiscoveryClient
public class UserServiceApplication {public static void main(String[] args) {SpringApplication.run(UserServiceApplication.class, args);}
}

对应测试的Controller类:

​
@RestController
public class HelloController {@GetMapping("/hello")public String index() {return "hello world!";}@GetMapping("/user/hello")public String indexUser() {return "hello world user!";}@RequestMapping("/user/foo")public String foo(String foo) {return "hello "+foo+"!";}}​

三、测试

本地启动gateway-main-nacos、user-service、user-service-1。 访问 http://localhost:8888/user/hello,多次访问发现会返回 hello world user! 或者 hello world user,another!。达到负载均衡的效果。

访问这个地址也可以看到同样的效果, http://localhost:8888/user01/hello

两个url不同的路由匹配规则。

四、遇到的问题:
1.#允许bean Service循环依赖
spring.main.allow-circular-references=true

2.#Spring MVC found on classpath, which is incompatible with Spring Cloud Gateway.
#同时使用Spring MVC和Spring Cloud Gateway
spring.main.web-application-type=reactive

3.SpringCloud-Gateway搭配服务注册Nacos进行lb动态路由遇到的问题
高版本的spring-cloud-alibaba-dependencies依赖中去除了ribbon依赖,若想能通过Gateway网关找到对应的微服务,需要引入loadbalancer依赖。

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>

参考的文档:http://www.ityouknow.com/springcloud/2019/01/19/spring-cloud-gateway-service.html


源码地址:https://github.com/tracysw/Spring-Cloud-Gateway-Samples


 

http://www.yayakq.cn/news/144617/

相关文章:

  • 网站备案单位的联系方式南京注册公司有什么要求
  • x站源码免费分享塘沽软件开发
  • 互联网网站开发服务合同范本wordpress 指定目录页
  • 15年做那些网站能致富修改wordpress的站点地址
  • 电子商务网站建设的心得网站建设公司是干嘛的
  • 南康区城乡规划建设局网站福州网站建设网络公司排名
  • 个体工商户是否能够做网站品质最好的购物平台
  • 西安网站建设云阔网站流量利用
  • 检测网站是否被墙影响网站收录的因素
  • 网站 伪静态政务公开和网站建设工作问题
  • 装饰设计公司网站网站开发人员的 生活
  • 做酒业网站的要求江苏建设外贸公司网站
  • 门户网站建设验收报告昆山规建设局网站
  • 中小网站建设建一个定制网站要多少钱
  • 免费户型图设计软件优化算法
  • 网站建设是怎么挣钱的wordpress自定义页面创建专辑
  • 优站点网址收录网室内设计师讲解方案话术
  • 惠州 商城网站建设wordpress手机页面模板
  • wordpress admin慢seo引擎搜索网站关键词
  • 做业精灵官方网站搜狗推广管家下载
  • 郑州手机网站建设公司太原 网站建设
  • 学校多语言网站建设成都装修设计培训
  • 好看的学校网站模板小程序免费制作平台 知乎
  • 注册网站商标多少钱h5页面怎么制作app有哪些
  • 建设银行网站的登录验证程序安全吗专业网络营销外包公司
  • 网站pv统计方法昆明市城乡建设局网站
  • 镇江网站设计多少钱城乡建设网站职业查询系统
  • 家居企业网站建设效果网站建设平台官网要点有哪些
  • 网站开发工具介绍阿里巴巴网站开发是谁
  • 公司网站建设推进表百度搜索网站的图片