96SEO 2026-02-20 01:46 0
1.微服务基本环境调整1.对10004模块的application.yml调整2.启动nacos以及一个消费者两个提供者3.测试1.输入http://localhost:8848/nacos/index.html

http://localhost:81/member/nacos/consumer/get/13.结果
2.使用OpenFeign实现微服务模块间的远程调用1.消费者的pom.xml引入OpenFeign和Nacos的服务发现2.消费者的application.yml配置nacos服务注册3.消费者的启动类开启nacos的服务发现以及启动OpenFeign4.com/sun/springcloud/service/MemberOpenfeignService.java
编写与远程调用的方法匹配的接口1.将要远程调用的方法整个复制到这个接口然后去掉方法体2.在接口上添加FeignClient注解指定远程调用的服务在nacos中的名字
5.编写一个controller进行远程调用1.创建一个MemberOpenFeignController的controller并将要远程调用的controller上面的注解复制过来不能改2.依赖注入刚才编写的远程调用的接口的动态代理对象3.将要远程调用的接口再复制过来按Tab使用copilot来自动补全远程调用的代码
6.测试1.启动nacos81模块1000410006模块2.访问nacos查看注册情况3.浏览器输入
http://localhost:81/member/openfeign/get/1
7.切换负载均衡算法1.编写配置类注入一个负载均衡算法的bean2.重新启动报错bean已经被定义了说明之前可能定义了同样id的负载均衡算法的bean3.换一个id即可然后重新启动4.测试浏览器访问几次有时会出现超时的情况OpenFeign默认超时时间为1s5.设置超时时间
application.yml1.全局配置2.单个Feign客户端配置
6.又检查了一下远程调用的方法之前设置了休眠时间删除即可。
。
。
3.服务消费者整合Sentinel进行服务保护1.pom.xml引入Sentinel2.application.yml
配置Sentinel的客户端和服务端3.测试1.启动nacossentinel2.启动811000410006模块3.浏览器输入http://localhost:8080/
进入Sentinel的服务端4.浏览器输入http://192.168.137.1:8848/nacos/index.html进入nacos查看注册情况5.浏览器访问
http://localhost:81/member/openfeign/get/1
4.需求分析5.开始配置之前进行测试当10004和10006都down掉时不断请求会发生什么1.首先关闭10004和10006微服务2.浏览器发送请求
http://localhost:81/member/openfeign/get/1发现是超时3.浏览器发送请求
http://localhost:81/member/openfeign/get/1
81模块配置如果远程调用的服务出现异常则立即返回结果1.MemberFeignFallbackService.java
并注入容器2.在application.yml配置启用openfeign和sentinel的整合3.MemberOpenfeignService
添加fallback属性指定出现异常要处理的类4.重新启动81模块浏览器输入
http://localhost:81/member/openfeign/get/1测试5.关闭10004和10006再次进行测试成功处理异常
4.消费者使用OpenFeign整合Sentinel进行服务保护小结1.服务消费者OpenFeign远程调用流程1.配置Nacos的服务发现和服务注册功能2.配置OpenFeign远程调用1.pom.xml引入OpenFeign依赖2.编写service接口存放服务发现和资源路径的信息3.编写controller进行远程调用
2.整合Sentinel进行服务保护流程1.配置Sentinel监控服务2.配置OpenFeign整合Sentinel使得远程调用出现异常集中处理
3.服务消费者OpenFeign远程调用整合Sentinel进行服务保护原理4.Sentinel仍然可以对这个controller进行流量控制熔断降级热点限流设置QPS为1
5.规则持久化1.规则持久化方案2.规则持久化原理3.需求分析4.具体配置1.在Nacos配置中心增加Sentinel的流控规则2.pom.xml引入nacos和sentinel持久化的依赖3.application.yml
拉取Nacos的配置信息并同步到Sentinel4.测试1.启动Nacos、Sentinel、81、10004、100062.查看Nacos注册情况3.浏览器快速请求
http://localhost:81/member/openfeign/get/1
目前的消费者是RibbonrestTemplate形式进行远程调用的
1.输入http://localhost:8848/nacos/index.html
http://localhost:81/member/nacos/consumer/get/1
1.消费者的pom.xml引入OpenFeign和Nacos的服务发现
xmlnshttp://maven.apache.org/POM/4.0.0
xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.example/groupIdartifactIde-commerce-center/artifactIdversion1.0-SNAPSHOT/version/parentartifactIdmember-service-nacos-consumer-81/artifactIdnameArchetype
member-service-nacos-consumer-81/nameurlhttp://maven.apache.org/urldependencies!--
--dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-openfeign/artifactId/dependency!--引入nacos的服务发现--dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-alibaba-nacos-discovery/artifactId/dependency!--
用来监听端口--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId!--
http://localhost:10000/actuator
https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-actuator/artifactId/dependency!--
--dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependency!--
--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency!--
--dependencygroupIdorg.example/groupIdartifactIde_commerce_center-common-api/artifactIdversion1.0-SNAPSHOT/version/dependency/dependencies
2.消费者的application.yml配置nacos服务注册
member-service-nacos-consumer-81
配置nacos的服务注册cloud:nacos:discovery:server-addr:
配置要注册到的nacos地址根据实际情况填写3.消费者的启动类开启nacos的服务发现以及启动OpenFeign
org.springframework.boot.SpringApplication;
org.springframework.boot.autoconfigure.SpringBootApplication;
org.springframework.cloud.client.discovery.EnableDiscoveryClient;
org.springframework.cloud.openfeign.EnableFeignClients;/***
MemberNacosCostomerApplication81
{SpringApplication.run(MemberNacosCostomerApplication81.class,
4.com/sun/springcloud/service/MemberOpenfeignService.java
com.sun.springcloud.service;import
com.sun.springcloud.util.Result;
org.springframework.web.bind.annotation.GetMapping;
org.springframework.web.bind.annotation.PathVariable;/***
返回json格式的数据*/GetMapping(/memberget/{id})
2.在接口上添加FeignClient注解指定远程调用的服务在nacos中的名字
这样这个接口中就具备了所有远程调用微服务的信息后面在注入的时候就会注入针对这个接口的代理对象远程调用方法的时候通过FeignClient注解中的信息进行服务发现ip
上下文路径并在前面加上http://最后再拼接上这个GetMapping注解中的资源路径完成远程调用简单来说这个接口需要包含要远程调用的服务发现和资源路径的信息这样才能够进行远程调用
com.sun.springcloud.service;import
com.sun.springcloud.util.Result;
org.springframework.cloud.openfeign.FeignClient;
org.springframework.web.bind.annotation.GetMapping;
org.springframework.web.bind.annotation.PathVariable;/***
FeignClient(member-service-nacos-provider)
返回json格式的数据*/GetMapping(/member/get/{id})
1.创建一个MemberOpenFeignController的controller并将要远程调用的controller上面的注解复制过来不能改
com.sun.springcloud.controller;import
org.springframework.web.bind.annotation.RestController;/***
com.sun.springcloud.controller;import
com.sun.springcloud.service.MemberOpenfeignService;
org.springframework.web.bind.annotation.RestController;import
3.将要远程调用的接口再复制过来按Tab使用copilot来自动补全远程调用的代码
这里的url方法名参数都是可以修改的传入getMemberById的参数必须符合这个controller的要求getMemberById的返回类型也要匹配比如这里就必须使用RestController牢记接口三要素
返回值建议如果只是想要远程调用一下的话就没必要修改了直接粘贴过来远程调用即可
com.sun.springcloud.controller;import
com.sun.springcloud.service.MemberOpenfeignService;
com.sun.springcloud.util.Result;
org.springframework.web.bind.annotation.GetMapping;
org.springframework.web.bind.annotation.PathVariable;
org.springframework.web.bind.annotation.RestController;import
返回json格式的数据*/GetMapping(/member/openfeign/get/{id})
远程调用member-service-nacos-provider的getMemberById方法return
memberOpenFeignService.getMemberById(id);
http://localhost:81/member/openfeign/get/1
com.sun.springcloud.config;import
com.netflix.loadbalancer.IRule;
com.netflix.loadbalancer.RandomRule;
org.springframework.context.annotation.Bean;
org.springframework.context.annotation.Configuration;/**
2.重新启动报错bean已经被定义了说明之前可能定义了同样id的负载均衡算法的bean
4.测试浏览器访问几次有时会出现超时的情况OpenFeign默认超时时间为1s
feign:client:config:default:connectTimeout:
feign:client:config:客户端的application-name:connectTimeout:
6.又检查了一下远程调用的方法之前设置了休眠时间删除即可。
。
。
--dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-sentinel/artifactId/dependency2.application.yml
配置sentinel客户端的端口根据实际情况填写如果冲突会自动1直到找到可用的端口3.测试
4.浏览器输入http://192.168.137.1:8848/nacos/index.html进入nacos查看注册情况
http://localhost:81/member/openfeign/get/1
http://localhost:81/member/openfeign/get/1发现是超时
原因是OpenFeign会根据接口的信息来通过服务发现和资源路径找到要远程调用的接口并缓存在本地所以只要缓存还在就不会是服务不可用
http://localhost:81/member/openfeign/get/1
此时的缓存已经不在OpenFeign重新从nacos获取服务信息但是获取不到所以会出现服务不可用的错误
1.MemberFeignFallbackService.java
com.sun.springcloud.service;import
com.sun.springcloud.util.Result;
org.springframework.stereotype.Component;/***
MemberOpenfeignService{Overridepublic
2.在application.yml配置启用openfeign和sentinel的整合
http://localhost:81/member/openfeign/get/1测试
4.消费者使用OpenFeign整合Sentinel进行服务保护小结
服务发现配置pom.xml和启动类开启服务发现的注解服务注册配置application.yml
将要远程调用的方法整个复制到这个接口然后去掉方法体在接口上添加FeignClient注解指定远程调用的服务在nacos中的名字
将要远程调用的controller上面的注解复制过来不能改依赖注入刚才编写的远程调用的接口的动态代理对象将要远程调用的接口再复制过来去掉方法体按Tab使用copilot来自动补全远程调用的代码
pom.xml引入Sentinel依赖application.yml
2.配置OpenFeign整合Sentinel使得远程调用出现异常集中处理
编写一个类实现存放服务发现和资源路径的信息的service并实现其方法然后注入容器在application.yml配置启用openfeign和sentinel的整合在service中的FeignClient注解添加fallback属性指定出现处理异常的类
3.服务消费者OpenFeign远程调用整合Sentinel进行服务保护原理
4.Sentinel仍然可以对这个controller进行流量控制熔断降级热点限流
简单来说就是在Nacos配置Sentinel的规则然后在通过Sentinel监控的微服务通过底层通信同步到Sentinel上
2.pom.xml引入nacos和sentinel持久化的依赖
--dependencygroupIdcom.alibaba.csp/groupIdartifactIdsentinel-datasource-nacos/artifactId/dependency3.application.yml
从Nacos中读取sentinel的规则配置nacos:server-addr:
member-service-nacos-consumer-81
1.启动Nacos、Sentinel、81、10004、10006
http://localhost:81/member/openfeign/get/1
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback