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

网站建设联系电话网站制作公司高端

网站建设联系电话,网站制作公司高端,已有网站可以做服务器吗,做网站做app区别微服务使用到了我们的多模块开发,父级工程可以在modules管理子模块 子模块中也会定义父模块 1. Nacos注册中心 Nacos已成为Java微服务生态的事实标准组件,在2023年中国Java开发者调研中占比达62%。其优势在于将服务发现与配置管理统一,显著降…

        微服务使用到了我们的多模块开发,父级工程可以在modules管理子模块

        子模块中也会定义父模块

1. Nacos注册中心

        Nacos已成为Java微服务生态的事实标准组件,在2023年中国Java开发者调研中占比达62%。其优势在于将服务发现与配置管理统一,显著降低运维复杂度。建议新项目直接采用Nacos 2.0+版本(性能提升50%),对于历史Eureka系统可参考阿里云提供的迁移工具

双重角色

  • 服务注册中心(替代Eureka)

  • 动态配置中心(替代Spring Cloud Config)

  • 阿里巴巴开源,支持K8s原生服务发现

1.1 启动nacos

        打开nacos文件路径下bin目录,cmd命令(startup.cmd -m standalone)运行nacos

        启动之后通过服务网址(http://localhost:8848/nacos/index.html)进行访问

1.2 将项目注册到Nacos

  • 父工程导入依赖

<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2023.0.1.2</version><type>pom</type><scope>import</scope>
</dependency>
  • 在子模块添加nacos依赖

<!--        nacos核心依赖       --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency>
  • 修改子模块的application.yml配置

server:port: 8080
spring:cloud:nacos:server-addr: localhost:8848 # Nacos服务地址(包括IP和端口)discovery:# Nacos认证信息,用于注册与发现服务username: nacospassword: nacosapplication:name: orderservice # 当前应用的服务名称,在Nacos中注册使用datasource:url: jdbc:mysql://localhost:3306/cloud-order?useSSL=false&allowPublicKeyRetrieval=true # 数据库连接URL配置username: root # 数据库登录用户名password: 1234 # 数据库登录密码driver-class-name: com.mysql.cj.jdbc.Driver # JDBC驱动类名mybatis:type-aliases-package: com.itgaohe.user.pojoconfiguration:map-underscore-to-camel-case: true
logging:level:com.itgaohe: debugpattern:dateformat: MM-dd HH:mm:ss:SSS

        重启服务,查看nacos服务官网,就会有服务

2. feign 远程调用

        声明式HTTP客户端,将REST调用抽象为Java接口调用,实现远程调用本地化
(属于Spring Cloud Netflix组件,现为OpenFeign)

集成点实现方式示例配置
负载均衡自动装配Ribbon/LoadBalancer@LoadBalanced
服务发现对接Nacos/Eurekaspring.cloud.nacos.discovery
熔断降级支持Hystrix/Sentinelfeign.circuitbreaker.enabled=true

 

        这里有一个服务提供者和服务消费者模块,想要实现服务生产者调用服务消费者

        我们使用多模块开发来实现Feign远程调用案例,步骤如下:

2.1 创建feign-api,导入Feign依赖

<?xml version="1.0" encoding="UTF-8"?>
<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"><parent><artifactId>cloud-demo</artifactId><groupId>com.itgaohe</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>feign-api</artifactId><properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target></properties><dependencies><!--nacos配置管理依赖--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency><!--bootstrap依赖--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId><version>3.0.3</version></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency></dependencies></project>

2.2 feign-api模块

        在feign-api下将服务提供者orderserver下的相关包复制到feign-api项目中

  •  feign启动类
package com.itgaohe.feign;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class FeignApplication {public static void main(String[] args) {SpringApplication.run(FeignApplication.class, args);}
}
  • FeignClients 

        接口层,定义接口

package com.itgaohe.feign.clients;import com.itgaohe.feign.pojo.User;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;/*** Feign客户端接口,用于调用用户服务*/
@FeignClient(name = "userservice") // 指定要调用的服务名称
public interface UserClients {/*** 根据用户ID查询用户信息* @param id 用户ID* @return 返回对应的用户对象*/@GetMapping("/{id}") // 定义GET请求映射路径public User queryById(@PathVariable("id") Long id); // 通过路径变量传递用户ID}

         @FeignClient注解name跟的一定是要调用的服务名称

2.3 在服务提供者pom文件中引入feign-api依赖

<?xml version="1.0" encoding="UTF-8"?>
<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"><parent><artifactId>cloud-demo</artifactId><groupId>com.itgaohe</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>order-service</artifactId><properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target></properties><dependencies><dependency><groupId>com.itgaohe</groupId><artifactId>feign-api</artifactId><version>1.0-SNAPSHOT</version></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency><!--nacos配置管理依赖--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency><!--bootstrap依赖--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId><version>3.0.3</version></dependency><!--nacos配置管理依赖--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency><!--bootstrap依赖--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId><version>3.0.3</version></dependency><!-- nacos客户端依赖 --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-loadbalancer</artifactId></dependency><dependency><groupId>com.itgaohe</groupId><artifactId>user-service</artifactId><version>1.0-SNAPSHOT</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.1.4.RELEASE</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><!--mybatis--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency></dependencies>
</project>

2.4 在服务消费者启动类添加注解,启动Feign服务

         这样就可以进行调用了~

http://www.ds6.com.cn/news/52820.html

相关文章:

  • 广州正佳广场突然封闭连云港seo
  • 网络营销的工作岗位aso优化推广
  • 海南智能网站建设报价百度推广要自己建站吗
  • 太原网站制作好吗seo引擎搜索网站关键词
  • 一个完整的电商网站开发周期百度平台订单查询
  • wordpress google字体 插件seo外链是什么意思
  • 织梦 网站名称电脑优化大师
  • 现在做一个网站多少钱下载微信
  • 翡翠原石网站首页怎么做网站快速优化排名方法
  • 个人网站主机的配置免费十八种禁用网站
  • 网站建站请示seo快排优化
  • 某班级网站建设方案论文烘焙甜点培训学校
  • 昆明网站建设电话seo搜索引擎优化怎么做
  • 巢湖网站建设费用app营销模式有哪些
  • it培训机构排名北京seo是什么意思新手怎么做seo
  • 网络运营与维护seo站长
  • 哪有做网站的百度建站
  • 做平台的网站有哪些功能如何自己建立一个网站
  • 云服务器可以建网站吗汕头网站建设方案维护
  • 深圳做网站设计公司知识营销成功案例介绍
  • 郑州正规的网站建设价格百度知道灰色词代发收录
  • 电脑制作网站总么做竞价关键词排名软件
  • 晋城做网站公司怎么申请一个网站
  • 中国建设银网站怎么接app推广的单子
  • wordpress循环分类北京seo全网营销
  • 菏泽做网站建设的公司淘宝seo排名优化软件
  • 玉林市建设委员会网站seo博客
  • wordpress自定义上传头像深圳网站优化软件
  • 网站可以更更换空间吗百度提问
  • seo网站开发互联网推广营销